JPH01116889A - クリップ領域内における直線描画方法 - Google Patents

クリップ領域内における直線描画方法

Info

Publication number
JPH01116889A
JPH01116889A JP62275326A JP27532687A JPH01116889A JP H01116889 A JPH01116889 A JP H01116889A JP 62275326 A JP62275326 A JP 62275326A JP 27532687 A JP27532687 A JP 27532687A JP H01116889 A JPH01116889 A JP H01116889A
Authority
JP
Japan
Prior art keywords
straight line
coordinates
coordinate
pixel
error value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP62275326A
Other languages
English (en)
Other versions
JPH0769968B2 (ja
Inventor
Toshihiko Ogura
敏彦 小倉
Norihiro Koyanagi
小柳 範浩
Riichi Yasue
利一 安江
Shigeo Tsujioka
辻岡 重夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Hitachi Industry and Control Solutions Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Microsoftware Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd, Hitachi Microsoftware Systems Inc filed Critical Hitachi Ltd
Priority to JP62275326A priority Critical patent/JPH0769968B2/ja
Publication of JPH01116889A publication Critical patent/JPH01116889A/ja
Publication of JPH0769968B2 publication Critical patent/JPH0769968B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
[産業上の利用分野1 本発明は、クリップ領域内に描画する図形の直線部分に
適用して好適な直線描画方式に関する。 〔従来の技術]・ 従来のクリップ領域内の直線描画方式として。 コーエン・サザーランドのクリップ領域描画アルゴリズ
ム(fl:ohen−3utherland [:Ii
pping Algorithm)か挙げられる。この
アルゴリズムは、特公昭54−33495号公報に記載
されたように、クリップ領域の描画開始点と終了点を2
分割法という方法で求め、その間を直線で結、ぶ描画処
理方式である。 このアルゴリズムては、まず、直線の始点と終点より直
線の中心点を求め、この中心点かクリップ領域の内か外
かを判定する。 1)、描画開始点を求める場合は、中心点が内ならば、
始点−中心点間の直線を次の2分割の対象直線とする。 外ならば、中心点を境にクリップ領域と交差する側の直
線を2分割の対象直線とする。 2)、描画終了点を求める場合は、中心点か領域の内な
らば、中心点−終了点間の直線を次の2分割の対象直線
とする。外ならば、中心点を境にクリップ領域と交差す
る側の直線を2分割の対象直線とする。 次に、対象直線について、さらにその直線の中心点を求
め上記1)または2)の処理を繰り返して行い、最終的
に直線の2分割が不可能になった点を描画開始点または
終了点とする。そして、その2点間を結ぶことによって
クリップ領域内の直線描画を実現する。 このアルゴリズムについては、J−D・フオリー、A・
ヴアン・タム共著「ファンダメンタルズ・才ブ・インタ
ラクティブ・コンピュータ・グラフィックス(Fund
amentals of Interactive C
omputerGraphics) J第4章、第14
6頁から第151頁においても論じられている。 [発明か解決しようとする問題点1 上記従来の方式でクリップ領域内に直線を描画する場合
、得られた描画開始点を始点に置き換え、また、終了点
を終点に置き換え、その間に発生する直線を描画するの
で、実際の始点から発生する直線とは誤差のために一致
しない。したかって、クリップ領域を拡大した場合には
、新たに拡大された領域の直線を付加しなければならな
いが、従来の方式で描画した場合は、連続したきれいな
直線にならないという問題があった。 本発明の目的は、クリップ領域外の無駄な計算処理を行
わず、描画開始点座標の算出および座標補正処理を行う
ことによって、クリップ領域内の直線描画速度を向上し
、連続性のあるきれいな直線を描画する方式を提供する
ことにある。 [問題点を解決するための手段] 上記目的を達成するために、本発明は、ラスタディスプ
レイの直線描画処理において。 直線の始終点および矩形クリップ領域に応じてクリップ
処理が発生するとき、 1記直線と上記クリップ領域との交点の1ピクセル外側
にある直前のピクセルの座標を算出し、該直前のピクセ
ル座標から直線描画アルゴリズムの誤差値計算を行い、 該誤差値および上記直前のピクセルの座標から上記クリ
ップ領域内の直線の座標点を算出するようにしたもので
ある。 本発明の一実施態様としては、上記直線描画アルゴリズ
ムとしてプレセンハム法を用い、与えられた直線がクリ
ップ領域の上側から進入する場合を考えると、直線の始
点座標を(x、、y、)として、上記直前ピクセルの座
標(Xo+cxl 、drawy−1)を、2・dy (dx、dyはそれぞれ始終点間のX軸、Y軸距離)に
基いて計算し、上記誤差値eを、 e+=2・dy−dx+(drawy−Yo−1)・2
・dx−cxl・2・dyで計算することができる。 本発明の他の実施態様としては、上記直線描画アルゴリ
ズムとしてプレセンハム法を用い、与えられた直線がク
リ・ンブ領域の左側から進入する場合を考えると、直線
の始点座標を(Xo、Yo)として、上記直前ピクセル
の座標(Yo+cy1、drawx−1)を、 2・dx (dx、dyはそれぞれ始終点間のX軸、Y軸距It)
に基いて計算し、上記誤差値eを、 e−2−dy−dx+(drawx−Xo−1)−2−
dy−cyla2−dyで計算するものが考えられる。 その他、与えられた直線がクリップ領域の右側あるいは
下側から進入する場合についても、本発明は適用可能で
ある。
【作用] 従来の方式における描画開始点座標の計算式で得られる
値は整数値ではない。また、何らかの方法で整数化して
も当然誤差が生じ、始点から発生した直線とは一致しな
い場合が考えられる。 そこで、計算式によって、実際の描画開始点の直前のピ
クセルの座標を求め、例えばプレゼンハムの直線発生ア
ルゴリズムの座標更新で用いる誤差値をその座標につい
て算出する。そして、この直前の座標から上記アルゴリ
ズムを起動し、描画開始点が求められた時点から、描画
処理を開始し、終了点まで描画処理を行う。プレゼンハ
ムの直線発生アルゴリズムの詳細については、前記文献
「ファンダメンタルズ・オブ・インタラクティブ・コン
ピュータ・グラフィックス」の第11章を参照されたい
。 具体的には1本発明は、プレゼンハムの直線発生ノアル
ゴリズムを用いて、クリップ領域と直線との交点の直前
のピクセルの座標値を求めるための計算式と、その座標
値における座標更新方向を定めるための変数(誤差値)
を算出する手法を創案したものである。プレゼンハムの
直線発生のアルゴリズムにおける座標更新は誤差値(e
)の値によって更新の方向を定める手法である。誤差値
(e)の初期値をe = 2・dy−dxとすると、e
≦0ならば直線座標をX方向に1ピクセル更新し、e値
をe =e◆2・dyに更新する。 e)Oならば直線座標をXおよびX方向に1ピクセル更
新し、e値をe = e* 2・dy−2・dxに更新
し、この処理を終点まで繰り返すという手法である。 そこで、まず、発生した直線上の任意の座標点(Xm、
Yn)のe値はつぎのように計算できる。 e = 2・dy−dx+(Xm・2◆dy)−(Ym
・2・dx) ・・・(1)次に、クリップ領域との交
点座標を(Xm、Yn)とし、Ynが与えられていると
き、(1)式は次のように変形することができる。 egOとすると、 2・dy この(2)式で得られた座標値は、C・0と仮定して算
出したものであり、実際のクリップ領域との交点、つま
り描画開始点である場合は少ない。しかし、算出した座
標値は必ず、プレゼンハムのアルゴリズムで発生した直
線上に存在する。 そこで、与えられたクリップ座標の(Yn−1)におけ
るX座標を(2)式によって算出することによりクリッ
プ座標の1ピクセル外側のピクセルの座標値とe値とが
求められる。そして、その座標値から実際に直線を発生
させ、X方向の座標かYnに代わった点を描画開始点と
することにより、クリップ領域の交点を求めることが実
現できる。 このようにして求めた交点はプレゼンハムのアルゴリズ
ムで発生した直線上に存在するので、クリップ領域を拡
大して直線を付加した場合にも連続したきれいな直線が
得られる。  □〔実施例1 以下、本発明の一実施例を添付図面に基き、詳細に説明
する。 第5図は、本発明を適用するシステムの構成図である。 501はプリンタ、502はプリンタ・キーボード制御
部、503はワークメモリ、504はビットマツププロ
セッサ(BMP:12)、505はマイクロプログラム
用RAM、506はビデオピクセル制御部、507はビ
デオRAM、508はCRTデイスプレィである。。 本発明の方式は、線図形描画処理プログラムとして、ビ
ットマツププロセッサ504内のマイクロプログラムに
含まれる。 第1図は、本発明に係るクリップ領域内における直線描
画方式を実現するための処理のフローチャートである。 ステップ101ては、クリップ領域外の直線描画の計算
処理を除くために、クリップ領域の描画開始点の直前の
ピクセルの座標を計算する。計算方法は、クリップ領域
に進入する位置によって異なる。まず初めに、第2図に
示すような場合を例として説明する。 第2図は、(x、 、y、)を始点とする直線がクリッ
プ領域の上部から進入し、右側へ抜は出るような場合で
ある。 描画開始点を(×1.Y、;) 、描画開始点の直前の
ピクセルの座標を(x−+ 、yn−t)とする。なお
、始点(Xo=Yo)から上記直前のピクセルまでのX
距離をcxlとする。(x−i、y−t)は次のように
求める。 yn−1−drawy −1 2φdy (dx、dyはそれぞれ始終点間のX軸、Y軸距離)(
3)式の余りをAとする。 cxl≧0の場合、 A−0ならばcxl = cxl A)Oならばcxl −cxl + 1cxl (Oの
場合、 CXI ! 0よって、次式よりX+a−1が
求まる。 Xs−+ = XO+ (×1 次に、ステップ102では、ステップ101で得られた
座標(X−t、’/11−+)の誤差値eを次式を用い
て算出する。 es2・dy−dx+(drawy−Y、−1)・2・
dx−cxl・2・dy次に、ステップ103では、実
際の描画開始点座標を求めるために、誤差値eおよび描
画点座標の更新を行うもので、詳しくは第4図を用いて
説明する。 第4図のステップ401において、第1図のステップ1
02で得られた誤差値の正負の判定を行う。 負の場合は、ステップ402においてX方向に座標を更
新し、ステップ403で誤差値eを更新する。 ステップ401.403を、誤差値eが0より大きくな
るまで繰り返し行う、すなわち、座標がy方向に更新さ
れるまで第4図の処理を行う、そして、y方向に更新さ
れたときの座標が描画開始点座標となる。 描画ピクセル数s cxl +drawx −X。 ステップ105から109までは、プレゼンハムのアル
ゴリズムによる直線の描画処理である。ま゛ず、ステッ
プ105では、ステップ103で得られた描画開始点座
標に描画処理を行う、そして、ステップ106では、ス
テップ102で算出した誤差値を判断して誤差値:e〉
0ならば、ステップ107において、×およびX座標を
1更新し、誤差値eを次のように更新する。 e = e+ 2・dy−2・dx 一方、誤差値e≦0ならば、ステップ108においてX
座標のみを1更新し、誤差値eを次のように更新する。 e me +211dy 次にステップ109では、描画ピクセル数の判定を行い
、0でなければ再びステップ105へ戻り、更新された
誤差値および描画点座標を用いて、描画処理を行う、そ
して、ステップ105〜109の処理を描画ピクセル数
−IOになるまで、繰り返すことによって、クリップ領
域内の描画処理を実現するものである。 以上、第2図を例にして説明したが、次に第3図のクリ
ップ領域の左側から進入する場合を例に、計算式だけを
挙げておく、尚、処理の流れは、前述と同様、第1図に
準するものである。 ステップ101における計算式は次のようになる。 X、、 mdrawx −1 IIdx (4)式の余りをBとする。 cyl≧0の場合、 B−Qならばcyl −cyl B)Oならばcyl −zyl + 1cyl (0の
場合、cyl m O よって、次式よりYn−1が求まる。 Yn−+ −Yo + cyl 次に、ステップ102における計算式は次のようになる
。 e=2・dy−dx+(drawx−Xn−1)・2・
dy−cyl・2・dx【発明の効果】 以上、本発明によれば、クリップ領域内の描画処理につ
いては直線の座標値の計算処理を、クリップ領域内の座
標算出処理しか行わないので、従来の直線の始点から終
点までの全ての座標計算を行りていた描画処理に比べて
、処理速度が向上する。かつ、直線とクリップ領域との
交点の直前のピクセルから直線描画アルゴリズムの誤差
値計算を行ってクリップ領域内の直前の座標点を算出す
るようにしたので、クリップ領域を拡大した場合にも、
連続性のあるきれいな直線を描画することができる。
【図面の簡単な説明】
第1図は本発明の方式を実現するための処理手順を示し
たフローチャート、第2図、第3図はクリップ領域内の
直線描画の例を示した説明図、第4図は第1図のステッ
プ103を詳しく示したフローチャート、第5図は本発
明を適用するシステムの構成を示すブロック図である。 出願人 株式会社 日 立製作所 株式会社 日立マイクロソフト ウェアシステムズ 代理人 弁理士 富 1)和 子 第1図 第4図 第5図

Claims (1)

  1. 【特許請求の範囲】 1、ラスタディスプレイの直線描画処理において、直線
    の始終点および矩形クリップ領域に応じてクリップ処理
    が発生するとき、 上記直線と上記クリップ領域との交点の1ピクセル外側
    にある直前のピクセルの座標を算出し、 該直前のピクセル座標から直線描画アルゴリズムの誤差
    値計算を行い、 該誤差値および上記直前のピクセルの座標から上記クリ
    ップ領域内の直線の座標点を算出することを特徴とする
    クリップ領域内における直線描画方式。 2、上記直線描画アルゴリズムとして、ブレゼンハム(
    Bresenham)法を用い、与えられた直線がクリ
    ップ領域の上側から進入する場合の直線の始点座標を(
    Xo、Yo)として、上記直前ピクセルの座標(Xo+
    cx1、drawy−1)を、cx1=[2・dy−d
    x+(drawy−Yo−1)・2・dx/2・dy]
    (dx、dyはそれぞれ始終点間のX軸、Y軸距離)に
    基いて計算し、上記誤差値eを、 e=2・dy−dx+(drawy−Yo−1)・2・
    dx−cx1・2・dyで計算する特許請求の範囲第1
    項記載のクリップ領域内における直線描画方式。 3、上記直線描画アルゴリズムとして、ブレゼンハム法
    を用い、与えられた直線がクリップ領域の左側から進入
    する場合の直線の始点座標を(Xo、Yo)として、上
    記直前ピクセルの座標(drawx−1、Yo+cy1
    )を、 cy1=[2・dy−dx+(drawx−Xo−1)
    ・2・dy/2・dx](dx、dyはそれぞれ始終点
    間のX軸、Y軸距離)に基いて計算し、上記誤差値eを
    、 e=2・dy−dx+(drawx−Xo−1)・2・
    dy−cy1・2・dxで計算する特許請求の範囲第1
    項記載のクリップ領域内における直線描画方式。
JP62275326A 1987-10-30 1987-10-30 クリップ領域内における直線描画方法 Expired - Fee Related JPH0769968B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62275326A JPH0769968B2 (ja) 1987-10-30 1987-10-30 クリップ領域内における直線描画方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62275326A JPH0769968B2 (ja) 1987-10-30 1987-10-30 クリップ領域内における直線描画方法

Publications (2)

Publication Number Publication Date
JPH01116889A true JPH01116889A (ja) 1989-05-09
JPH0769968B2 JPH0769968B2 (ja) 1995-07-31

Family

ID=17553897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62275326A Expired - Fee Related JPH0769968B2 (ja) 1987-10-30 1987-10-30 クリップ領域内における直線描画方法

Country Status (1)

Country Link
JP (1) JPH0769968B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01166179A (ja) * 1987-12-22 1989-06-30 Fujitsu Ltd クリップされた直線の描画方法
JPH0336675A (ja) * 1989-07-03 1991-02-18 Hitachi Ltd グラフィックディスプレイ装置とその表示方法
JPH05128272A (ja) * 1991-10-30 1993-05-25 Hitachi Telecom Technol Ltd 直線描画処理における交点算出方法
CN104112285A (zh) * 2013-04-16 2014-10-22 北京金阳普泰石油技术股份有限公司 面向油田勘探与开发的沉积相图的智能绘制方法与系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62127971A (ja) * 1985-11-29 1987-06-10 Fujitsu Ltd 線分描画におけるクリツピング方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62127971A (ja) * 1985-11-29 1987-06-10 Fujitsu Ltd 線分描画におけるクリツピング方式

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01166179A (ja) * 1987-12-22 1989-06-30 Fujitsu Ltd クリップされた直線の描画方法
JPH0336675A (ja) * 1989-07-03 1991-02-18 Hitachi Ltd グラフィックディスプレイ装置とその表示方法
JPH05128272A (ja) * 1991-10-30 1993-05-25 Hitachi Telecom Technol Ltd 直線描画処理における交点算出方法
CN104112285A (zh) * 2013-04-16 2014-10-22 北京金阳普泰石油技术股份有限公司 面向油田勘探与开发的沉积相图的智能绘制方法与系统

Also Published As

Publication number Publication date
JPH0769968B2 (ja) 1995-07-31

Similar Documents

Publication Publication Date Title
JPH10319898A (ja) 解像度変換方法およびこれを用いた表示制御装置
US20040164985A1 (en) Triangle polygon plotting device and triangle polygon plotting method
JP2741033B2 (ja) カーブを形成する表示素子を起動させることにより表示装置にカーブを表示する適応フオーワード差分装置および方法
JP4480476B2 (ja) 画像処理装置および画像処理方法
JPH0769968B2 (ja) クリップ領域内における直線描画方法
JPH0368086A (ja) 直線補間回路
JP2684609B2 (ja) 図形データ処理装置における図形表示方法
JP2861097B2 (ja) 濃淡画像生成方法および装置
JPS62205482A (ja) Crtデイスプレイ装置のセグメント発生回路
JP2968886B2 (ja) 直線描画装置
JP2861106B2 (ja) 濃淡画像生成方法および装置
JPH08221544A (ja) 画像変形処理装置
JPH09245181A (ja) アンチエイリアシング処理方法
JPH01152583A (ja) 直線近似処理装置
JP2616443B2 (ja) 図形描画装置
JPH0357087A (ja) 多角形ぬりつぶし装置
JPH06348831A (ja) 画像処理装置
JPH0736606A (ja) 波形データ解析システム
JPH0962837A (ja) 線分拡大描画方法および線分拡大描画装置
JPH05205070A (ja) 図形描画方法
JPH0687266B2 (ja) 曲線発生装置
JPH0896148A (ja) 図形描画装置
JPH1186012A (ja) 多角形描画方法及び装置
JPS63204379A (ja) 図形処理装置
JPH0668771B2 (ja) Dda円発生表示方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees