JPH10116347A - 円弧描画方法 - Google Patents
円弧描画方法Info
- Publication number
- JPH10116347A JPH10116347A JP27046396A JP27046396A JPH10116347A JP H10116347 A JPH10116347 A JP H10116347A JP 27046396 A JP27046396 A JP 27046396A JP 27046396 A JP27046396 A JP 27046396A JP H10116347 A JPH10116347 A JP H10116347A
- Authority
- JP
- Japan
- Prior art keywords
- dot
- arc
- circle
- dots
- determined
- 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.)
- Pending
Links
Landscapes
- Image Generation (AREA)
Abstract
(57)【要約】
【課題】 画面上に所望の円弧を高速に描画する。
【解決手段】 第1ステップにて第1象限乃至第8象
限を設定する。第2ステップでは、1つの象限を対象
として、1/8円高速描画アルゴリズムに従って、1/
8円を構成すべき1つのドットの座標位置を決定する。
第3ステップでは、座標位置の決定されたドットを基準
位置として、他の7つの象限にて対称関係にある7つの
ドットの座標位置を決定する。第4ステップでは、第2
及び第3ステップによって座標位置の決定された8つの
ドットの夫々について、該ドットが円弧を構成すべきド
ットであるか否かを、円弧の始点S及び終点Eの座標値
と描画方向dirに基づいて判断し、円弧を構成すべき
ものと判断されたドットを画面上に描画する。そして、
1/8円を構成すべき全てのドットについて、前記第2
ステップ乃至第4ステップを繰り返す。
限を設定する。第2ステップでは、1つの象限を対象
として、1/8円高速描画アルゴリズムに従って、1/
8円を構成すべき1つのドットの座標位置を決定する。
第3ステップでは、座標位置の決定されたドットを基準
位置として、他の7つの象限にて対称関係にある7つの
ドットの座標位置を決定する。第4ステップでは、第2
及び第3ステップによって座標位置の決定された8つの
ドットの夫々について、該ドットが円弧を構成すべきド
ットであるか否かを、円弧の始点S及び終点Eの座標値
と描画方向dirに基づいて判断し、円弧を構成すべき
ものと判断されたドットを画面上に描画する。そして、
1/8円を構成すべき全てのドットについて、前記第2
ステップ乃至第4ステップを繰り返す。
Description
【0001】
【発明の属する技術分野】本発明は、画像表示装置の画
面上に円弧を高速描画する方法に関するものである。
面上に円弧を高速描画する方法に関するものである。
【0002】
【従来の技術】従来の画像表示装置においては、その画
面上の所定位置に、所定半径rの円をドット描画するた
めに、下記数1で表わされる円の方程式を用いて、x−
y軸座標上の円軌跡を計算で求め、該円軌跡が通過する
こととなるドットの座標位置を決定する方法が採られて
いる。
面上の所定位置に、所定半径rの円をドット描画するた
めに、下記数1で表わされる円の方程式を用いて、x−
y軸座標上の円軌跡を計算で求め、該円軌跡が通過する
こととなるドットの座標位置を決定する方法が採られて
いる。
【数1】x2+y2=r2
【0003】しかしながら、上記数式から明らかな様
に、円の軌跡を算出するためには平方根の計算が不可欠
であり、一般に平方根の計算は多数のステップによって
実行されるため、円の描画に時間がかかる問題があっ
た。
に、円の軌跡を算出するためには平方根の計算が不可欠
であり、一般に平方根の計算は多数のステップによって
実行されるため、円の描画に時間がかかる問題があっ
た。
【0004】そこで、出願人は、図8に表わす1/8円
高速描画アルゴリズムを用いて円をドット描画する方法
を開発した。1/8円高速描画アルゴリズムにおいて
は、円を描画すべき座標として、図7に示す如く円Aの
中心を原点Oとする2次元座標(x−y)を設定し、該2
次元座標を8分割した第1象限〜第8象限の夫々に
1/8円を描画する。例えば第1象限において、1/
8円高速描画アルゴリズムによって1/8円を構成すべ
き1点aのドットの座標値(xx、yy)が決定されれ
ば、このドットが第2象限〜第8象限と対称関係で
対応する7つのドットb、c、d、e、f、g、及びh
の座標値は、図中に示す様に符号の反転やデータの置換
えのみによって、容易に決定することが出来る。
高速描画アルゴリズムを用いて円をドット描画する方法
を開発した。1/8円高速描画アルゴリズムにおいて
は、円を描画すべき座標として、図7に示す如く円Aの
中心を原点Oとする2次元座標(x−y)を設定し、該2
次元座標を8分割した第1象限〜第8象限の夫々に
1/8円を描画する。例えば第1象限において、1/
8円高速描画アルゴリズムによって1/8円を構成すべ
き1点aのドットの座標値(xx、yy)が決定されれ
ば、このドットが第2象限〜第8象限と対称関係で
対応する7つのドットb、c、d、e、f、g、及びh
の座標値は、図中に示す様に符号の反転やデータの置換
えのみによって、容易に決定することが出来る。
【0005】1/8円高速描画アルゴリズムは、上記数
1に含まれるx2及びy2の2回微分が一定値(=2)とな
ることを利用したものであって、例えば図10に示す如
く第3象限に対して反時計方向に1/8円を描画する
場合、x軸座標値xxが始点座標値(図示する例では0)
から1ずつ減小するするときの2乗値xx2の差分Δ(x
x2)を下記数2の如くrdx1と定義すると共に、y軸
座標値yyが始点座標値(図示する例では10)から1ず
つ減小するときの2乗値yy2の差分Δ(yy2)を下記数
3の如くrdx2と定義する。
1に含まれるx2及びy2の2回微分が一定値(=2)とな
ることを利用したものであって、例えば図10に示す如
く第3象限に対して反時計方向に1/8円を描画する
場合、x軸座標値xxが始点座標値(図示する例では0)
から1ずつ減小するするときの2乗値xx2の差分Δ(x
x2)を下記数2の如くrdx1と定義すると共に、y軸
座標値yyが始点座標値(図示する例では10)から1ず
つ減小するときの2乗値yy2の差分Δ(yy2)を下記数
3の如くrdx2と定義する。
【0006】
【数2】rdx1=Δ(xx2)=−(2xx−1)
【数3】rdx2=Δ(yy2)=2yy−1
【0007】又、図10の場合、ドット描画の過程で、
ドットのx座標値xxを1ずつ減小させつつ、そのとき
のy座標値yyについては、1だけ減小させるか否かの
判断に際し、比較基準となる後述のrxdifの値とr
dx1の値とを大小比較し、rxdifの値がrdx1
の値を下回ったとき、yyを1だけ減小させる。更に、
1/8円の描画を終了する時点については、rdx1の
値とrdx2の値を大小比較し、rdx1の値がrdx
2の値を上回ったとき、描画手続きを終了する。
ドットのx座標値xxを1ずつ減小させつつ、そのとき
のy座標値yyについては、1だけ減小させるか否かの
判断に際し、比較基準となる後述のrxdifの値とr
dx1の値とを大小比較し、rxdifの値がrdx1
の値を下回ったとき、yyを1だけ減小させる。更に、
1/8円の描画を終了する時点については、rdx1の
値とrdx2の値を大小比較し、rdx1の値がrdx
2の値を上回ったとき、描画手続きを終了する。
【0008】図8に示す手続きにおいては、先ずステッ
プS1にて、rdx2、rdx1、rxdif、xx及
びyyの値を、夫々図中に示す初期値に設定する。ここ
で、rxdifの初期値をrdx2の1/2の値に設定
しているのは、本来の円の軌跡の内側と外側に略均等に
ドットを分散させ、所望の円弧線に可及的に一致した滑
らかなドット軌跡を描くためである。図10の如く第3
象限に対して反時計方向に1/8円を描画する場合に
は、xxの初期値xsは0であり、yyの初期値ysは
円弧の半径r(図示する例では10)である。
プS1にて、rdx2、rdx1、rxdif、xx及
びyyの値を、夫々図中に示す初期値に設定する。ここ
で、rxdifの初期値をrdx2の1/2の値に設定
しているのは、本来の円の軌跡の内側と外側に略均等に
ドットを分散させ、所望の円弧線に可及的に一致した滑
らかなドット軌跡を描くためである。図10の如く第3
象限に対して反時計方向に1/8円を描画する場合に
は、xxの初期値xsは0であり、yyの初期値ysは
円弧の半径r(図示する例では10)である。
【0009】次に図8のステップS2にて、rxdif
の値がrdx1の値を下回ったか否かを判断して、YE
SのときはステップS3へ移行し、NOのときはステッ
プS6へ移行する。描画の初期段階では円弧の接線の傾
斜がx軸に対して小さいため、NOと判断される。そし
て、描画がある程度進むとYESと判断され、その後は
徐々にYESと判断される頻度が多くなる。
の値がrdx1の値を下回ったか否かを判断して、YE
SのときはステップS3へ移行し、NOのときはステッ
プS6へ移行する。描画の初期段階では円弧の接線の傾
斜がx軸に対して小さいため、NOと判断される。そし
て、描画がある程度進むとYESと判断され、その後は
徐々にYESと判断される頻度が多くなる。
【0010】ステップS2にてNOと判断され、ステッ
プS6に移行した場合は、rxdifの値をrdx1だ
け減じ、その結果に2を加算して新しいrxdifの値
とする。そして、ステップS7にてxxを1だけ減少さ
せ、そのときのxx及びyyの値を第3象限におけるx
−y座標値として1つのドットの位置を決定する。次に
前記ドットの座標値を基準として、対称関係にある他の
7つのドットの座標(相対座標)を求めて、これによって
得られた8点のドットを画面に描画する。
プS6に移行した場合は、rxdifの値をrdx1だ
け減じ、その結果に2を加算して新しいrxdifの値
とする。そして、ステップS7にてxxを1だけ減少さ
せ、そのときのxx及びyyの値を第3象限におけるx
−y座標値として1つのドットの位置を決定する。次に
前記ドットの座標値を基準として、対称関係にある他の
7つのドットの座標(相対座標)を求めて、これによって
得られた8点のドットを画面に描画する。
【0011】一方、ステップS2にてYESと判断さ
れ、ステップS3に移行した場合は、rdx2の値がr
dx1の値を越えているか否かを判断し、NOと判断さ
れたときは、1/8円の描画が終点に達したものとして
手続きを終了する。YESと判断されたときは、ステッ
プS4にて、rdx2の値を2だけ減じ、その結果をr
xdifに加算して新しいrxdifの値とする。そし
て、ステップS5にてyyを1だけ減少させた後、ステ
ップS6へ移行する。
れ、ステップS3に移行した場合は、rdx2の値がr
dx1の値を越えているか否かを判断し、NOと判断さ
れたときは、1/8円の描画が終点に達したものとして
手続きを終了する。YESと判断されたときは、ステッ
プS4にて、rdx2の値を2だけ減じ、その結果をr
xdifに加算して新しいrxdifの値とする。そし
て、ステップS5にてyyを1だけ減少させた後、ステ
ップS6へ移行する。
【0012】図9及び図10は、ドットのピッチを単位
長さとして第3象限に半径r=10の1/8円を描画
する過程を表わしている。図9の第0ステップ〜第2ス
テップでは、rdx1よりもrxdifが大きいため、
図8のステップS6〜ステップS8が繰り返されて、図
10の如くドットP0〜P3が描画される。その後、図
9の第3ステップでは、rdx1がrxdifを越え
て、図8のステップS4〜ステップS8が実行され、図
10のドットP4が描画される。その後、図10のドッ
トP5〜P7が描画された後、図9の第10ステップで
は、図8のステップS3にてNOと判断され、描画手続
きが終了することになる。
長さとして第3象限に半径r=10の1/8円を描画
する過程を表わしている。図9の第0ステップ〜第2ス
テップでは、rdx1よりもrxdifが大きいため、
図8のステップS6〜ステップS8が繰り返されて、図
10の如くドットP0〜P3が描画される。その後、図
9の第3ステップでは、rdx1がrxdifを越え
て、図8のステップS4〜ステップS8が実行され、図
10のドットP4が描画される。その後、図10のドッ
トP5〜P7が描画された後、図9の第10ステップで
は、図8のステップS3にてNOと判断され、描画手続
きが終了することになる。
【0013】上述の1/8円高速描画アルゴリズムによ
れば、図8に示す如く簡易な演算処理と手続きによっ
て、従来よりも高速に円をドット描画することが出来
る。
れば、図8に示す如く簡易な演算処理と手続きによっ
て、従来よりも高速に円をドット描画することが出来
る。
【0014】
【発明が解決しようとする課題】ところで、一般に画像
処理装置においては、円のみならず、円弧の描画が必要
となることも頻繁である。しなしながら、上記の1/8
円高速描画アルゴリズムは1/8円及び完全円の描画に
は有効であるが、任意の始点及び終点を有する円弧の描
画にはそのまま適用することが出来ない。そこで本発明
の目的は、1/8円高速描画アルゴリズムを改良して、
画面上に所定の中心位置、始点位置、終点位置、及び始
点から終点への描画方向を有する円弧を高速に描画する
方法を提供することである。
処理装置においては、円のみならず、円弧の描画が必要
となることも頻繁である。しなしながら、上記の1/8
円高速描画アルゴリズムは1/8円及び完全円の描画に
は有効であるが、任意の始点及び終点を有する円弧の描
画にはそのまま適用することが出来ない。そこで本発明
の目的は、1/8円高速描画アルゴリズムを改良して、
画面上に所定の中心位置、始点位置、終点位置、及び始
点から終点への描画方向を有する円弧を高速に描画する
方法を提供することである。
【0015】
【課題を解決する為の手段】本発明に係る円弧描画方法
は、円弧の中心位置を原点とする2次元座標を8分割し
て、第1乃至第8象限を設定する第1ステップと、第1
乃至第8象限の中の1つの象限を対象として、1/8円
高速描画アルゴリズムに従って、円弧と同一の中心位置
及び半径を有する1/8円を構成すべき1つのドットの
座標位置を決定する第2ステップと、座標位置の決定さ
れたドットを基準位置として、他の7つの象限にて対称
関係にある7つのドットの座標位置を決定する第3ステ
ップと、第2ステップ及び第3ステップによって座標位
置の決定された8つのドットの夫々について、該ドット
が円弧を構成すべきドットであるか否かを、円弧の始点
位置、終点位置及び描画方向に基づいて判断し、円弧を
構成すべきものと判断されたドットを画面上に描画する
第4ステップとを有し、1/8円を構成すべき全てのド
ットについて、前記第2ステップ乃至第4ステップを繰
り返すものである。
は、円弧の中心位置を原点とする2次元座標を8分割し
て、第1乃至第8象限を設定する第1ステップと、第1
乃至第8象限の中の1つの象限を対象として、1/8円
高速描画アルゴリズムに従って、円弧と同一の中心位置
及び半径を有する1/8円を構成すべき1つのドットの
座標位置を決定する第2ステップと、座標位置の決定さ
れたドットを基準位置として、他の7つの象限にて対称
関係にある7つのドットの座標位置を決定する第3ステ
ップと、第2ステップ及び第3ステップによって座標位
置の決定された8つのドットの夫々について、該ドット
が円弧を構成すべきドットであるか否かを、円弧の始点
位置、終点位置及び描画方向に基づいて判断し、円弧を
構成すべきものと判断されたドットを画面上に描画する
第4ステップとを有し、1/8円を構成すべき全てのド
ットについて、前記第2ステップ乃至第4ステップを繰
り返すものである。
【0016】第1ステップと、第2ステップ及び第3ス
テップの繰返しは、従来の1/8円高速描画アルゴリズ
ムによる完全円の描画方法と同一であって、これによっ
て、描画せんとする円弧を一部に含む完全円のドット軌
跡が算出される。本発明の円弧描画では、第2ステップ
及び第3ステップを経て、互いに対称関係にある8つの
ドットの座標位置が決定された後、第4ステップにて、
これら8つのドットの夫々について、描画せんとする円
弧を構成するドットであるか否かを判断し、円弧を構成
するドットのみを画面に描画する。ここで、円弧を構成
するドットであるか否かは、円弧の始点位置、終点位置
及び描画方向によって判断することが出来る。
テップの繰返しは、従来の1/8円高速描画アルゴリズ
ムによる完全円の描画方法と同一であって、これによっ
て、描画せんとする円弧を一部に含む完全円のドット軌
跡が算出される。本発明の円弧描画では、第2ステップ
及び第3ステップを経て、互いに対称関係にある8つの
ドットの座標位置が決定された後、第4ステップにて、
これら8つのドットの夫々について、描画せんとする円
弧を構成するドットであるか否かを判断し、円弧を構成
するドットのみを画面に描画する。ここで、円弧を構成
するドットであるか否かは、円弧の始点位置、終点位置
及び描画方向によって判断することが出来る。
【0017】そして、上記ドット描画手続きを1/8円
を構成すべき全てのドットについて繰り返せば、目的と
する円弧を描画することが出来る。
を構成すべき全てのドットについて繰り返せば、目的と
する円弧を描画することが出来る。
【0018】
【発明の効果】本発明に係る円弧描画方法によれば、1
/8円高速描画アルゴリズムを改良した簡易な演算処理
と手続きによって、所望とする円弧を高速にドット描画
することが出来る。
/8円高速描画アルゴリズムを改良した簡易な演算処理
と手続きによって、所望とする円弧を高速にドット描画
することが出来る。
【0019】
【発明の実施の形態】以下、本発明の実施の形態につ
き、図面に沿って具体的に説明する。図1乃至図3は、
本発明に係る円弧描画方法の具体的手続きを表わしてお
り、図5(a)〜(d)は、本発明の円弧描画方法によって
円弧が描画される過程を模式的に表わしている。尚、描
画手続きにおいては、図4に示す如く16ビットからな
るフラグを設定し、下位8ビットによって第1〜第8象
限についてのドット描画のオン/オフを表わし、上位8
ビットの内、3ビットを用いて始点Sの存在する象限を
表わし、3ビットを用いて終点Eの存在する象限を表わ
し、1ビットを用いて円弧の描画方向dirを表わす。
き、図面に沿って具体的に説明する。図1乃至図3は、
本発明に係る円弧描画方法の具体的手続きを表わしてお
り、図5(a)〜(d)は、本発明の円弧描画方法によって
円弧が描画される過程を模式的に表わしている。尚、描
画手続きにおいては、図4に示す如く16ビットからな
るフラグを設定し、下位8ビットによって第1〜第8象
限についてのドット描画のオン/オフを表わし、上位8
ビットの内、3ビットを用いて始点Sの存在する象限を
表わし、3ビットを用いて終点Eの存在する象限を表わ
し、1ビットを用いて円弧の描画方向dirを表わす。
【0020】先ず図1のステップS11にて、描画せん
とする円弧の始点、終点、及び円弧の存在する象限を調
査する。例えば図6に示す如く、第2象限に始点S、
第5象限に終点E、第2象限、第1象限、第8象
限、第7象限、第6象限及び第5象限に亘って
円弧が存在する円弧Bを描画せんとするとき、入力デー
タとしては、座標原点O(xo、yo)、始点Sの座標値
(xs、ys)、終点Eの座標値(xe、ye)及び描画方
向dir(cw:時計方向)が与えられ、これらの入力デ
ータに基づいて、前記の各象限を求めることが出来る。
とする円弧の始点、終点、及び円弧の存在する象限を調
査する。例えば図6に示す如く、第2象限に始点S、
第5象限に終点E、第2象限、第1象限、第8象
限、第7象限、第6象限及び第5象限に亘って
円弧が存在する円弧Bを描画せんとするとき、入力デー
タとしては、座標原点O(xo、yo)、始点Sの座標値
(xs、ys)、終点Eの座標値(xe、ye)及び描画方
向dir(cw:時計方向)が与えられ、これらの入力デ
ータに基づいて、前記の各象限を求めることが出来る。
【0021】次に図1のステップS12にて、前記各象
限の調査結果を図4に示すフラグの上位8ビットに反映
させる。ここで、フラグの下位8ビットはリセットす
る。その後、図1のステップS13〜ステップS20に
よって、前述の1/8円高速描画アルゴリズムを実行す
る。
限の調査結果を図4に示すフラグの上位8ビットに反映
させる。ここで、フラグの下位8ビットはリセットす
る。その後、図1のステップS13〜ステップS20に
よって、前述の1/8円高速描画アルゴリズムを実行す
る。
【0022】即ち、ステップS13にて、rdx2、r
dx1、rxdif、xx及びyyの値を、夫々図中に
示す初期値に設定する。次にステップS14にて、rx
difの値がrdx1の値を下回ったか否かを判断し
て、YESのときはステップS15へ移行し、NOのと
きは図2のステップS18へ移行する。ステップS18
に移行した場合、rxdifの値をrdx1だけ減じ、
その結果に2を加算して新しいrxdifの値とする。
そして、ステップS19にてxxを1だけ減少させ、そ
のときのxx及びyyの値によって1つのドットの座標
値を決定し、メモリに記憶する。次にステップS20に
て、前記ドットの座標値を基準として、対称関係にある
他の7つのドットの座標(相対座標)を求めて、メモリに
記憶する。
dx1、rxdif、xx及びyyの値を、夫々図中に
示す初期値に設定する。次にステップS14にて、rx
difの値がrdx1の値を下回ったか否かを判断し
て、YESのときはステップS15へ移行し、NOのと
きは図2のステップS18へ移行する。ステップS18
に移行した場合、rxdifの値をrdx1だけ減じ、
その結果に2を加算して新しいrxdifの値とする。
そして、ステップS19にてxxを1だけ減少させ、そ
のときのxx及びyyの値によって1つのドットの座標
値を決定し、メモリに記憶する。次にステップS20に
て、前記ドットの座標値を基準として、対称関係にある
他の7つのドットの座標(相対座標)を求めて、メモリに
記憶する。
【0023】一方、ステップS14にてYESと判断さ
れ、ステップS15に移行した場合は、rdx2の値が
rdx1の値を越えているか否かを判断し、YESと判
断されたときは、ステップS16にて、rdx2の値を
2だけ減じ、その結果をrxdifに加算して新しいr
xdifの値とする。そして、ステップS17にてyy
を1だけ減少させた後、図2のステップS18へ移行す
る。
れ、ステップS15に移行した場合は、rdx2の値が
rdx1の値を越えているか否かを判断し、YESと判
断されたときは、ステップS16にて、rdx2の値を
2だけ減じ、その結果をrxdifに加算して新しいr
xdifの値とする。そして、ステップS17にてyy
を1だけ減少させた後、図2のステップS18へ移行す
る。
【0024】前述のステップS13〜ステップS20に
よって、8つのドットの座標値が決定された後、ステッ
プS21及びステップS22〜S34の繰返しによっ
て、これら8つのドットの夫々について、描画せんとす
る円弧を構成するドットであるか否かを判断し、円弧を
構成するドットのみを画面に描画する。即ち、図2のス
テップS21にて、描画の判断対象とする象限を第1象
限に初期設定する。次に、ステップS22にて、象限が
8以下であるか否かを判断し、YESのときはステップ
S23に移行して、更に始点の属する象限か否かを判断
する。
よって、8つのドットの座標値が決定された後、ステッ
プS21及びステップS22〜S34の繰返しによっ
て、これら8つのドットの夫々について、描画せんとす
る円弧を構成するドットであるか否かを判断し、円弧を
構成するドットのみを画面に描画する。即ち、図2のス
テップS21にて、描画の判断対象とする象限を第1象
限に初期設定する。次に、ステップS22にて、象限が
8以下であるか否かを判断し、YESのときはステップ
S23に移行して、更に始点の属する象限か否かを判断
する。
【0025】ステップS23にてYESと判断されたと
きは、ステップS24、S25に移行して、始点の座標
値(xs、ys)とドットの座標値(xx、yy)とを比較
して、そのドットを描画すべきであるか否かを判断し、
描画すべきと判断されたときは、ステップS26にて、
図4に示すフラグの下位8ビットの内、象限と対応する
ビットをセットした後、図3のステップS27へ移行す
る。描画すべきドットでないと判断されたときは、ステ
ップS26を迂回して、図3のステップS27へ移行す
る。
きは、ステップS24、S25に移行して、始点の座標
値(xs、ys)とドットの座標値(xx、yy)とを比較
して、そのドットを描画すべきであるか否かを判断し、
描画すべきと判断されたときは、ステップS26にて、
図4に示すフラグの下位8ビットの内、象限と対応する
ビットをセットした後、図3のステップS27へ移行す
る。描画すべきドットでないと判断されたときは、ステ
ップS26を迂回して、図3のステップS27へ移行す
る。
【0026】ステップS27では、終点の属する象限か
否かを判断し、YESと判断されたときは、ステップS
28、S29に移行して、終点の座標値(xe、ye)と
ドットの座標値(xx、yy)とを比較して、そのドット
を描画すべきであるか否かを判断する。描画すべきと判
断されたときは、ステップS30にて、図4に示すフラ
グの下位8ビットの内、象限と対応するビットをセット
した後、ステップS31へ移行する。描画すべきドット
でないと判断されたときは、ステップS30を迂回し
て、ステップS31へ移行する。
否かを判断し、YESと判断されたときは、ステップS
28、S29に移行して、終点の座標値(xe、ye)と
ドットの座標値(xx、yy)とを比較して、そのドット
を描画すべきであるか否かを判断する。描画すべきと判
断されたときは、ステップS30にて、図4に示すフラ
グの下位8ビットの内、象限と対応するビットをセット
した後、ステップS31へ移行する。描画すべきドット
でないと判断されたときは、ステップS30を迂回し
て、ステップS31へ移行する。
【0027】ステップS31では、更にフラグの上位8
ビットを参照して、1/8円である円弧が存在する象限
であるか否かを判断し、YESのときは、ステップS3
2にて、フラグの下位8ビットの内、象限と対応するビ
ットをセットした後、ステップS33にて、フラグの下
位8ビットを参照して、象限と対応するビットがセット
されているときは、画面にドットを描画する。ステップ
S32にてNOと判断されたときは、ステップS33を
迂回して、ステップS34へ移行する。
ビットを参照して、1/8円である円弧が存在する象限
であるか否かを判断し、YESのときは、ステップS3
2にて、フラグの下位8ビットの内、象限と対応するビ
ットをセットした後、ステップS33にて、フラグの下
位8ビットを参照して、象限と対応するビットがセット
されているときは、画面にドットを描画する。ステップ
S32にてNOと判断されたときは、ステップS33を
迂回して、ステップS34へ移行する。
【0028】ステップS34では象限をカウントアップ
し、図2のステップS22に戻って、ステップS22〜
S34の手続きを繰り返す。そして、ステップS22に
てNOと判断されたとき、第1〜第8象限についてのド
ット描画処理が終了したものとして、図1のステップS
14へ戻り、フラグの下位8ビットをリセットした上、
次のドットを対象とする1/8円高速描画アルゴリズム
の実行に進む。その後、ステップS15にてNOと判断
されたとき、1/8円を構成すべき全てのドットについ
ての手続きが1/8円の終点に達したものとして、一連
の円弧描画手続きを終了する。
し、図2のステップS22に戻って、ステップS22〜
S34の手続きを繰り返す。そして、ステップS22に
てNOと判断されたとき、第1〜第8象限についてのド
ット描画処理が終了したものとして、図1のステップS
14へ戻り、フラグの下位8ビットをリセットした上、
次のドットを対象とする1/8円高速描画アルゴリズム
の実行に進む。その後、ステップS15にてNOと判断
されたとき、1/8円を構成すべき全てのドットについ
ての手続きが1/8円の終点に達したものとして、一連
の円弧描画手続きを終了する。
【0029】上記手続きによれば、図5(a)〜(d)に示
す如く、各象限において1/8円高速描画アルゴリズム
によって求められるドットの候補が、描画せんとする円
弧を構成するものであるか否かが判断され、円弧を構成
すべきドット(図中にハッチング円で示す)については画
面に対する描画を実行し、円弧を構成しないドット(図
中に中空円で示す)については描画を省略する処理によ
って、所望の円弧を高速にドット描画することが出来
る。
す如く、各象限において1/8円高速描画アルゴリズム
によって求められるドットの候補が、描画せんとする円
弧を構成するものであるか否かが判断され、円弧を構成
すべきドット(図中にハッチング円で示す)については画
面に対する描画を実行し、円弧を構成しないドット(図
中に中空円で示す)については描画を省略する処理によ
って、所望の円弧を高速にドット描画することが出来
る。
【0030】上記実施の形態の説明は、本発明を説明す
るためのものであって、特許請求の範囲に記載の発明を
限定し、或は範囲を減縮する様に解すべきではない。
又、本発明の各部構成は上記実施の形態に限らず、特許
請求の範囲に記載の技術的範囲内で種々の変形が可能で
あることは勿論である。
るためのものであって、特許請求の範囲に記載の発明を
限定し、或は範囲を減縮する様に解すべきではない。
又、本発明の各部構成は上記実施の形態に限らず、特許
請求の範囲に記載の技術的範囲内で種々の変形が可能で
あることは勿論である。
【図1】本発明に係る円弧描画方法を実行するための具
体的手続きの内、前段手続きを表わすフローチャートで
ある。
体的手続きの内、前段手続きを表わすフローチャートで
ある。
【図2】同上手続きの内、中段手続きを表わすフローチ
ャートである。
ャートである。
【図3】同上手続きの内、後段手続きを表わすフローチ
ャートである。
ャートである。
【図4】フラグのビット構成を表わす図である。
【図5】本発明に係る円弧描画方法によって円弧が描画
される過程を表わす図である。
される過程を表わす図である。
【図6】描画せんとする円弧と象限の関係を表わす図で
ある。
ある。
【図7】完全円において対称関係となる8点の相対位置
関係を表わす図である。
関係を表わす図である。
【図8】1/8円高速描画アルゴリズムを用いた完全円
の描画手続きを表わすフローチャートである。
の描画手続きを表わすフローチャートである。
【図9】1/8円を描画するための演算の過程を表わす
図表である。
図表である。
【図10】画面に1/8円がドット描画される過程を表
わす図である。
わす図である。
B 円弧 S 始点 E 終点
Claims (1)
- 【請求項1】 画像表示装置の画面上に、所定の中心位
置、始点位置、終点位置、及び始点から終点への描画方
向を有する円弧の描画方法であって、 円弧の中心位置を原点とする2次元座標を8分割して、
第1乃至第8象限を設定する第1ステップと、 第1乃至第8象限の中の1つの象限を対象として、1/
8円高速描画アルゴリズムに従って、円弧と同一の中心
位置及び半径を有する1/8円を構成すべき1つのドッ
トの座標位置を決定する第2ステップと、 座標位置の決定されたドットを基準位置として、他の7
つの象限にて対称関係にある7つのドットの座標位置を
決定する第3ステップと、 第2ステップ及び第3ステップによって座標位置の決定
された8つのドットの夫々について、該ドットが円弧を
構成すべきドットであるか否かを、円弧の始点位置、終
点位置及び描画方向に基づいて判断し、円弧を構成すべ
きものと判断されたドットを画面上に描画する第4ステ
ップとを有し、1/8円を構成すべき全てのドットにつ
いて、前記第2ステップ乃至第4ステップを繰り返すこ
とを特徴とする円弧描画方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27046396A JPH10116347A (ja) | 1996-10-14 | 1996-10-14 | 円弧描画方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27046396A JPH10116347A (ja) | 1996-10-14 | 1996-10-14 | 円弧描画方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10116347A true JPH10116347A (ja) | 1998-05-06 |
Family
ID=17486657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27046396A Pending JPH10116347A (ja) | 1996-10-14 | 1996-10-14 | 円弧描画方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH10116347A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106780294A (zh) * | 2016-11-15 | 2017-05-31 | 青岛科技大学 | 一种基于特征描述符的圆弧匹配方法 |
-
1996
- 1996-10-14 JP JP27046396A patent/JPH10116347A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106780294A (zh) * | 2016-11-15 | 2017-05-31 | 青岛科技大学 | 一种基于特征描述符的圆弧匹配方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH10116347A (ja) | 円弧描画方法 | |
JPH06168339A (ja) | 描画装置 | |
JP2571662B2 (ja) | 線描画方法及び装置 | |
JPH10188005A (ja) | 破線円の描画方法 | |
JPH07200664A (ja) | 図面の塗り潰し方法 | |
JPH1166328A (ja) | 曲線描画装置 | |
JP3039015B2 (ja) | 文字処理装置 | |
JPS63140382A (ja) | 円類の多角形近似描画方法 | |
JP2888270B2 (ja) | 図形処理装置及びその方法 | |
JPH0493992A (ja) | 文字・図形描画装置 | |
KR19980019117A (ko) | 원 그리는 방법(circle drawing method) | |
JP2734735B2 (ja) | 円描画方法とその装置 | |
JPH05108834A (ja) | グラフの文字列・引出し線作図方式 | |
JPH05128272A (ja) | 直線描画処理における交点算出方法 | |
JP2002269576A (ja) | 線分描画方法および線分描画装置 | |
JPH0490067A (ja) | 図形編集装置 | |
JP3670322B2 (ja) | グリッド描画方法 | |
JP3085396B2 (ja) | ベクトルフォントの展開方法および装置 | |
JP2613653B2 (ja) | 画像処理装置 | |
JPH0916787A (ja) | 図形塗り潰し用枠線の始点終点描画方法 | |
JPH08138061A (ja) | 描画方法およびこの方法を使用した描画装置 | |
JPH07220098A (ja) | 多角形近似による円弧の描画データ作成装置 | |
JPH0260034B2 (ja) | ||
JPH0627929A (ja) | アウトラインフォント座標変換方法 | |
JPH0896148A (ja) | 図形描画装置 |