JPH03296877A - 曲線描画装置 - Google Patents

曲線描画装置

Info

Publication number
JPH03296877A
JPH03296877A JP10096590A JP10096590A JPH03296877A JP H03296877 A JPH03296877 A JP H03296877A JP 10096590 A JP10096590 A JP 10096590A JP 10096590 A JP10096590 A JP 10096590A JP H03296877 A JPH03296877 A JP H03296877A
Authority
JP
Japan
Prior art keywords
point
ellipse
curve
error
draw
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
Application number
JP10096590A
Other languages
English (en)
Inventor
Misayo Kitamura
北村 操代
Yasuaki Nakamura
泰明 中村
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP10096590A priority Critical patent/JPH03296877A/ja
Publication of JPH03296877A publication Critical patent/JPH03296877A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野コ この発明は、例えばCADやコンピュータグラフィック
スなどの、図形描画処理に関し、特に曲線を描く曲線描
画装置に関するものである。
[従来の技術] 第1図は一般的な図形描画装置を示す構成図である。図
において、(+1 は図形出力装置、(2)は表示位置
などを格納する記憶装置、(3)は上記記憶装置(2)
からデータを取り出して図形出力装置+11 に出力す
る演算装置である。
従来の曲線描画装置としては、2種類のものがあり、そ
の1つの例による曲線描画装置における演算装置(3)
の処理を第5図に示す。
この動作を第5図に基いて説明する。簡単のために、中
心は原点であり2つの軸はそれぞれX。
y軸に平行な楕円を描くものと仮定する。すると楕円の
式は式(1)のように書ける。
x” /a” +y!/b” =  1  ・・・(1
)このaとbが与えられたとする。初期角度θ:=0、
増加角Δθ:=l/2“を記憶装置(2)に格納する(
ステップ51)、このmは十分大きく、例えば6とする
。演算装置(3)によりCOSΔθ。
sinΔθを計算し、それぞれを定数A、Bとして記憶
装置(2)に格納する(ステップ52)1次に初期設定
として、次に描くべき点の座標を表わす変数x、yを用
意し、x:=a、y:=0と代入する(ステップ53)
、そして点(x、y)を描画する(ステップ54)、描
画を終了してよいかどうかの判定に利用するため、θ:
;θ+八〇としくステップ55)、θが35o°よりも
大きければ全周が描けているので処理は終了する。この
判定でθが360°以下であれば、次に描く点を求める
必要がある。そこで、Xoなる変数を用意し、x  :
 =a (Ax+By)、y + =b (By−八X
)とする(ステップ57.58)、そしてX:=x’ 
としくステップ59)、ステップ54に戻って点(x、
y)を描く、以下、ステップ54〜スデツプ59を繰り
返すことにより、楕円を描くことができる。また、演算
装置(3)の部分を三角関数と極座標表示を用いて1点
ずつ計算していく装置もあった。
さらに、従来の曲線描画装置のもう1つの例として、実
践コンピュータグラフィックス(山[)富士夫監修、1
987年、日刊工業新聞社刊、第51頁〜第61頁)に
記載された装置がある。これは第1図と同様な構成であ
り、演算装置(3)の処理を第6図のフローチャートに
示す。
以下にその動作を第6図に基いて説明する9gψ、のた
め、円の中心が原点(0,0)であると仮定する。任意
の円を描くには、原点中心の円を平行移動する。また、
第1象限のみを描画すれば対称移#Jにより全円を描画
できる1円の半径を与えRとし、これを記憶″Aid(
21に格納する。また、描画点の初期値をx: =O,
y: =Rとし、円の描画終r判定に用いる変数をLi
m1l=Oとし、記憶装置(2)に格納する。また、真
の円と実際に描画する点との誤差の初期値Δ: =2+
 1−R1を演算装置(1)で計算し、記憶装置(2)
に格納する(ステップ61)、そして点(x、y)を図
形出力装置fll に出力する(ステップ62)。その
後、描画を終了するべきかどうかを判定するために、y
がL ia+it以下であるか判定し、もしyが1゜j
mit以下であれば処理は終了し、そうでなければ処理
を続行する(ステップ63)0次描画点を求める処理を
第7図について説明する。第7図(a)は描画する円の
第1象限部分であり、円弧のうち実線は既に描画した円
、点線はこれから描画する円である。この東線と点線と
の境界部分を拡大したものが第7図(b)である0図中
の黒い点をステップ62で描いた点であるとすると、3
つの白い点A、I3.Cのうちいずれかの点が次描画点
である。もし点Bが真の円の内側にあれば、即ち、もし
誤差Δが正であれば次描画点は点Bか点Cである。ステ
ップ64で誤差Δの符号を調へる。そこで第7図(bl
で点Bと点Cのうち真の円に近い方を求めるため、δ:
=2△−2x−1を計算しくステップ65)、δの符号
を調へる(ステップ66)、もしδが正であれば次描画
点はBであり、δが0以下であれば次描画点はCである
。従ってδ〉0の場合はx: =x+1.y: =y−
1.Δ:=Δ+2x−2y+2としくステップ67)、
ステップ62に戻る。ステップ66でδ≦Oの場合はy
: =y−1.Δ:=Δ−2y+1としくステップ68
)、ステップ62に戻る。ステップ64でΔ=0の場合
は点Bを描くため、ステップ67の処理を行なう、また
、ステップ64で誤差Δ〈0の場合は、δ:=2Δ+2
.y+1を計算する(ステップ69)、このδの符号を
判定しくステップ70)、δ〉0であればステップ67
の処理を行なう、δ≦0のときは点へを描くため、ステ
ップ71でx:==x+1.ム:=Δ+2に+1とし、
ステップ62に戻る1以上の処理により、中心が原点(
0,0)、半径Rの円の第1象限の部分を描いて終了す
る。後処理として対称移動をすると完全な円を描くこと
ができる。
[発明が解決しようとする課題] 従来の描画描画装置は以上のように構成されており、0
1者のものは描く楕円の大きさによって適切なmを選ぶ
必要があり、mの決定が難しいという問題点があった。
また5 1点ずつ描くことにより、描画に大変時間がか
かるという問題点があった。特に、ペンプロッタに出力
する場合は、描画にたいへん時間がかかり、さらに実際
の曲線との誤差の推定が出来ないという問題点もあった
また、後者の装置では1円を描く時は足し算と2の乗算
のみを計算するので描画は高速である。
楕円についても同様な処理方式は、「任意の楕円の高速
ドツト発生アルゴリズム」、電子通信学会論文誌、 ’
85/I1. Vol、J6g−D 、第目号、第19
34頁〜第1940頁に記載されているが4一般の曲線
についてはこのような処理方式は存在せず、差分を計マ
すると非常に多くの@算を必要とするため、高速に描画
することができないという問題点があった。
この発明は上記のような従来のものの欠点を解消するた
めになされたもので、描画処理の演算を待つ時に楕円の
直線近似を繰り返すことにより、高速に楕円あるいは楕
円弧、さらには、任意の曲線の描画ができる曲線描画装
置を提供することを目的としている。
[課題を解決するための手段] この発明に係る曲線描画装置は、図形を描画する図形出
力装置、図形データや変数値を記憶する記憶装置、及び
図形出力装置と記憶装置を制御部する演算装置を補えた
ものにおいて、直線近似を繰り返すことによって誤差を
一定社以下に抑えて曲線を描くことを特徴とするもので
ある。
[作用] この発明による曲線描画装置は、曲線を直線近似して描
くので、高速に曲線を描画することができる。
また、点を出力するのではなく線分を出力するようにし
たことにより、容躬にプロッタに出力することができる
[実施例コ 以下、この発明の−χ施例による曲線描画装置を図につ
いて説明する。この装置の構成は第1図に示すものであ
り、従来装置と同様であるが、演算装置(3)の処理を
第2図のフローチャートに示す。
次に、動作を第2図に基いて説明する。まず楕円の軸の
両端の2点及び楕円上の他の1点により楕円を定義する
。この3点の座標値を記憶装置(2)に格納する(ステ
ップ21)、楕円の軸がX。
y軸に平行になり楕円の中心が原点となるように座標系
を平行・回転移動する1例えば、第4図(a)のような
図形の場合に平行・回転移動して第4図tbl とする
、軸の両端の点の座標をD (cr、 0)、E(−0
,0)、楕円上のもう一点の座標をF (β、γ)とし
て記憶装置(2)に格納する(ステップ22)、そして
、a、: =a、b: = (a”β! / (a2−
γ! ))I/!とする(ステップ23)。また近似許
容誤差をeとする(ステップ24ン、その後、点D (
a、0)から時計回りに点EC−a、O)に向かって楕
円弧を描く処理を行う(ステップ25)、同様にして点
E(−α、0)から時計回りに点D (cr、 0)に
向かって楕円弧を描く処理をする(ステップ26)、す
ると楕円を図形出力装F(fl+に描画することができ
、処理を終了する。
このステップ25.26で述へた楕円弧を描く処理を第
3図についてさらに詳しく説明する。この処理は点(p
O、qO)から点(pl 、 ql )に向かって時計
回りに楕円弧を描くものである。
これは例えば第2図のステップ25においては、p口=
a、qO=0.pl =−a、ql =:0として計算
処理する、という意味である。まずpOとplが簿しい
かどうかを判定する(ステップ31)、この判定で等し
くなければ、r: =(qO−qll/f pO−pH
としくステップ32)、XI:=−ra”  /(b”
   +r”   a”)””  、   Yl:=b
”/’(b”  +r”  a”)””  、  X2
:=−X!  、  Y2:=−Ylとする(ステップ
33)。一方、ステ・ノブ:31の判定で等しければ、
X I:= a 、 Y I:= 0 。
X2:=−a、Y2:=0とする(ステップ34ン。
fil、m、(XI 、 Yl ) 、  (X2 、
 Y2 ) (7)’+チ、点(po、qo)から時計
回りに点(pl、ql)へ向かう楕円弧上の点を(x、
y)とする(ステップ35)、そして d: = l [pO−pi)(’I’−qll −(
(10qlN  X−pl21 /((po −pH” +(qO−ql)”l””とす
る(ステップ36)、dは第4図(cl に示すように
、点(9口、qO)と点(pi 、 ql )を結ぶ直
線と、描こうとする楕円弧との近似誤差である。この近
似誤差dが近似許容誤差eよりも小さいかどうかを判定
する(ステップ37)、この判定において近似誤差dが
近似許容誤差e以下の時は、(po 、 qO)と(p
i 、 ql )を端点とする線分を描いて処理を終了
する(ステップ38)6ステツプ37で近似誤差dが近
似許容誤差eより大きい時、(x、y)で楕円弧を分割
する。
そして 、r’、i、 (pQ 、qo )と点(x、
y)に対して再帰的に楕円弧を描く処理を行ない(ステ
ップ39)、点(X、Y)から点(pi 、 ql )
に向かって再帰的に楕円弧を描く処理を施す(ステップ
40)、これで楕円を描く処理を終了する。
このように曲線を直線近似して描くので、高速に曲線を
描画することができる。また、従来装置のように点を出
力するのではなく線分を出力するようにしたことにより
、容易にプロッタに出力することができる。
また、勿論、円は楕円の一種であるので上記の装置によ
り円を描くこともできる。また、上記実施例では楕円の
1つの軸の両端の点とそれ以外の楕円上の点を与えて楕
円を描いたが、例えば楕円Eの4点を指定したり、楕円
の2つの軸の両端を指定するなど、楕円が1つ決定する
ような条件を与えて楕円を描画することもでき、−上記
実施例と同様の効果を奏する。また、上記実施例では楕
円を描く場合について説明したが、楕円弧を描く場合に
も利用でき、L記実施例と同様の効果を奏する。
また、上記実施例では楕円を描く処理で全体を近似して
描画したが、回転・平行移動した後第1象限のみ描画し
てそれを対称移動して描画するという処理を行うことも
できる。この方法では上記実施例の効果に加えて、さら
に処理が高速になるという効果がある。
また、上記実施例では楕円の描画について説明したが、
任意の微分可能な連続曲線、例えばy=f(Ll  、
x=g(しl  、F(x、y)=0といった曲線にも
利用できる。
[発明の効果] 以上のように、この発明によれば5図形を描画する図形
出力装置、図形データや変数値を記憶する記憶装置、及
び図形出力装置と記憶装置を制御する演算装置を備えた
ものにおいて、直線近似を繰り返すことによって誤差を
一定足以下に抑えて曲線を描く様にしたので、高速に、
かつ近似誤差を指定して曲線を描画することができる。
また、点を出力するのではなく線分を出力するようにし
たことにより、容易にプロッタに出力できる曲線描画装
置を得ることができる効果がある。
【図面の簡単な説明】
第1図は一般的な図形描画装置の構成を示すブロック図
、第2図はこの発明の一実施例に係る演算装置における
処理手順を示すフローチャート、第3図は第2図で用い
られている一部の手続きを示すフローチャート、第4図
はこの発明の一実施例の動作を示す説明図、第5図、第
6図はそれぞれ従来の曲線描画装置に係る処理手順を示
すフローチャート、第7図は第6図に示した従来の装置
の動作を説明するための説明図である。 (11・・・図形処理装置、(2)・・記憶装置、(3
)・・・演算装置。 第1図 1図’71じ力装工 2:記憶装置 3 : :@算装置

Claims (1)

    【特許請求の範囲】
  1. 図形を描画する図形出力装置、図形データや変数値を記
    憶する記憶装置、及び上記図形出力装置と記憶装置を制
    御する演算装置を備えたものにおいて、直線近似を繰り
    返すことによって誤差を一定量以下に抑えて曲線を描く
    ことを特徴とする曲線描画装置。
JP10096590A 1990-04-16 1990-04-16 曲線描画装置 Pending JPH03296877A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10096590A JPH03296877A (ja) 1990-04-16 1990-04-16 曲線描画装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10096590A JPH03296877A (ja) 1990-04-16 1990-04-16 曲線描画装置

Publications (1)

Publication Number Publication Date
JPH03296877A true JPH03296877A (ja) 1991-12-27

Family

ID=14288066

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10096590A Pending JPH03296877A (ja) 1990-04-16 1990-04-16 曲線描画装置

Country Status (1)

Country Link
JP (1) JPH03296877A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017041118A (ja) * 2015-08-20 2017-02-23 大日本印刷株式会社 パターン編集プログラム、ショットデータ作成プログラム、パターン編集装置、ショットデータ作成装置、パターン編集方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01152583A (ja) * 1987-12-10 1989-06-15 Fujitsu Ltd 直線近似処理装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01152583A (ja) * 1987-12-10 1989-06-15 Fujitsu Ltd 直線近似処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017041118A (ja) * 2015-08-20 2017-02-23 大日本印刷株式会社 パターン編集プログラム、ショットデータ作成プログラム、パターン編集装置、ショットデータ作成装置、パターン編集方法

Similar Documents

Publication Publication Date Title
JPH0550030B2 (ja)
Fellner et al. Robust rendering of general ellipses and elliptical arcs
JPH0214714B2 (ja)
US4835722A (en) Curve generation in a display system
JPH01181173A (ja) ベクトルフォント輪郭描画方式
JPH03296877A (ja) 曲線描画装置
Patrikalakis et al. Free-form plate modeling using offset surfaces
JPH01196677A (ja) パターンデータ生成方式
EP0389890B1 (en) Method and apparatus for generating figures with three degrees of freedom
JPWO2007063586A1 (ja) 3次元グラフィック装置、3次元グラフィック方法、3次元グラフィックプログラム、および記録媒体
JPH03209499A (ja) アウトライン・フォントの形成方法およびその描画装置
JP5672044B2 (ja) 図形処理プログラム、方法及び装置
US6957176B2 (en) Reduction processing method and computer readable storage medium having program stored thereon for causing computer to execute the method
JPH0478973A (ja) ベクトルからのコサイン値算出方法
JP3040878B2 (ja) 立体の干渉チェック方法及びその装置
JPH11203498A (ja) 法線ベクトルを用いたテクスチャ座標生成方法および装置
JPH07160873A (ja) ベジェ曲線を含む画像データの変換方法
Mäkinen Line-segment insertion in constrained triangulations with applications in path-planning
Hong A high precision digital differential analyzer for circle generation
JPS60211575A (ja) 量子化投影法
JP4040821B2 (ja) 3次元形状処理方法およびその形状処理方法を実施するためのプログラムを記憶した記憶媒体
JP2000338959A (ja) 画像処理装置
JPH1115987A (ja) 曲線形成装置
JP2003085568A (ja) 二次元平面上の線分の交差判定法
JPH04168581A (ja) 超楕円の近似曲線生成方法