JPS59206937A - 円の描画方式 - Google Patents

円の描画方式

Info

Publication number
JPS59206937A
JPS59206937A JP8146783A JP8146783A JPS59206937A JP S59206937 A JPS59206937 A JP S59206937A JP 8146783 A JP8146783 A JP 8146783A JP 8146783 A JP8146783 A JP 8146783A JP S59206937 A JPS59206937 A JP S59206937A
Authority
JP
Japan
Prior art keywords
register
circuit
circle
registers
data
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
JP8146783A
Other languages
English (en)
Other versions
JPH0120471B2 (ja
Inventor
Katsurou Hashidate
橋立 克朗
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP8146783A priority Critical patent/JPS59206937A/ja
Priority to US06/604,057 priority patent/US4692887A/en
Priority to GB08411032A priority patent/GB2141608B/en
Priority to DE3417407A priority patent/DE3417407C2/de
Publication of JPS59206937A publication Critical patent/JPS59206937A/ja
Publication of JPH0120471B2 publication Critical patent/JPH0120471B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は円または楕円の描画方式に関する。
〔従来技術とその問題点〕
パーソナルコンピュータ等のグラフィック表示において
円を描画する場合、SIN 、 CO8等の演算を行な
うことによシ正確な描画データを求めることができる。
しかし、上記SIN 、 CO8等の演算を行なってい
ては演算時間がかかりすぎるために、従来では適当な角
度の内接正多角形で近似円を描画したつ、1/4円周分
だけの円周ドツトを計算し、残シはX軸対称、y軸対称
、原点対称な点を求めることによって描画速度を向上す
るようにしている。
上記のように1つの点を求めてから、X軸対称、y軸対
称、原点対称の点を求める場合、円の中心が座標軸の原
点と等しい場合は符号の反転等で簡単に行なうことがで
きる。しかし、通常は座標軸の原点と円の中心とは等し
くないので、この場合は中心座標等の値をメモリに記憶
させて加減算命令を行なうことが必要にカリ、演算処理
が複雑化して処理速度が低下するという問題があった。
〔発明の目的〕
本発明は上記の点に鑑みてなされたもので、座標軸の原
点と円の中心とが等しくない場合であっても、円周上の
描画ドツトを容易に算出でき、高速描画が可能な円また
は楕円の描画方式を提供することを目的とする。
〔発明の実施例〕
以下図面を参照して本発明の一実施例を説明する。本発
明はDDA (Digital Differenti
alAnalyzer )という円弧の発生手法を利用
したもので、まず、このDDAについてその概略を説明
する。第1図において、半径rの円周上の1点pn(x
n、yn)が求まっているとき、Δθだけ反時計回転向
きに進んだ円周上の点Pfi+1 (xn+1 ’yn
+、)Fi、 xn+1=r(2)(θ+Δθ) =r房θ房Δθ−r画θ廊Δθ =xncQ!IΔθ−ynIdnΔθ       、
(1)yn+1=rS量n(θ十Δθ) =r癲θ房Δθ+rcosθ画Δθ =yntxsΔθ十xnsInΔθ       −(
2)となる。
上記(1) (2)式において、Δθを微小角度とし、
帽Δθ中1、自Δθ中Δθとすれば、 xn+1 =xn−Δθ°yn y =y+Δθ・In n+1    n となる。さらに、Δθ=e=21 (mは正の整数)と
おけば、上式は xy1+1工Xn−ε嗜yn            
・・・(3)yn+1 = yn+ t Ixno−(
4)(但し2m−1(r(2m ) となる。しかし、上式をそのまま用いた場合には発散し
てしまうので、上記(4)式のxnをxn+1に置き換
える。このように(4)式のxnをxn+1と置き換え
ると、上記(3) (4)式はxn+1=xn ’°y
n−(5) yn、=yn−1−g°X n+1         
 °°(6)となり、この(5) (6)式から略真円
の値が得られることが従来よシ確められている。
本発明は上記(5) (6)式によって高速に円を描画
するものであシ、以下第2図によシその具体的な実施例
について説明する。第2図において1ノはXレジスタで
、CPU(図示せず)からダート回路G!を介してユー
ザ座標を指定するX座標データが入力される。また、1
2はyレジスタで、CPUからr−ト回路G鵞を介して
ユーザ座標を指定するy座標データが入力される。さら
に、13はRレジスタで、CPUからe−)回路G3を
介して円の半径を示すデータが入力される。上記半径を
指定するデータは、表示ドツト数で与えられる。
上記Xレジスタ11及びRレジスタ13に保持されてい
るデータは、ダート回路G 4  m G Bを介して
加算回路14へ送られると共に、f−)回路G、、G、
を介して減算回路15へ送られる。上記加算回路14の
加算出力は、ダート回路G8を介してxRレジスタ16
へ送られる。このXRレジスタ16は、第3図に示すよ
うにX座標における右半分のデータを得るためのもので
、その出力はゲート回路G9及び−1回路17を介して
自己の入力端に戻されると共に、f−)回路G16を介
して表示処理部(図示せず)へ送5− られる。また、上記減算回路15は、rx−RJの減算
を行なうもので、その減算結果はf−)回路Gllを介
してXLレジスタ18へ送られる。
このxLレジスタ18は、第3図に示すようにX座標に
おける左半分のデータを得るためのもので、その出力は
ダート回路Gl鵞及び+1回路19を介して自己の入力
端に戻されると共に、ダート回路G13を介して表示処
理部へ送られる。
一方、上記yレジスタ12に保持されたデータは、f−
)回路G14を介してy。Vレジスタ21へ入力される
と共に、ダート回路Gl、を介して7UDレジスタ22
へ入力される。上記y。Vレジスタ21は、第3図に示
すようにy座標における上半分のデータを得るためのも
ので、その出力はf−)回路CtS及び+1回路23を
介して自己の入力端に戻されると共に、デート回路G1
1lを介して表示処理部へ送られる。また、yUDレジ
スタ22は、第3図に示すようにy座標における下半分
のデータを得るためのもので、その出力はf−)回路G
1γ及び−1回路24を介6− して自己の入力端に戻されると共に、r−)回路G11
1を介して表示部へ送られる。
壕だ、上記Rレジスタ13の保持データは、f−ト回路
G20を介してΔXXレジスタ25送られる。このΔX
レジスタ25に保持されたデータは、f−)回路G21
を介して一1回路26へ送られ、この−1回路26の出
力がΔXXレジスタ25入力される。また、ΔXレジス
タ25の保持データは、ダート回路022を介して0”
判断回路27へ送られ、その判断結果がCPUへ送られ
る。さらに、上記ΔXレジスタ25の保持データは、ダ
ート回路G23を介して加算回路28へ送られ、その加
算出力がゲート回路’14を介してRxレジスタ29へ
入力される。また、このRxレジスタ29には、CPU
から初期設定値r0.5Jがダート回路G冨5を介して
入力される。そして、このRxレジスタ29の保持デー
タは、デート回路CZSを介して加算回路28へ入力さ
れると共に、ダート回路czyを介してキャリー判別回
路30へ送られる。このキャリー判別回路30は、Rx
レジスタ29のキャリー信号を検出すると、ダート回路
G11l s Gl? e c2eにデート信号を与え
てそのf−)を開く。
また、31はΔyレジスタで、CPUから初期設定値r
o、5Jがr−)回路Ga11を介して与えられる。そ
して、とのΔyレジスタ31の出力は、キャリー判別回
路30の出力によってゲート制御されるダート回路(z
n及び+1回路32を介して自己の入力端に戻されると
共に、ダート回路G3゜、加算回路33、ダート回路G
31を介してRyレジスタ34へ入力される。このRy
レゾスタ34には、CPUから初期設定値rO,5Jが
r−ト回路CSZを介して与えられる。上記Ryレゾス
タ34の保持データは、r−)回路G33を介して加算
回路33へ人力されると共に、f−)回路G34を介し
てキャリー判別回路35へ送られる。このキャリー判別
回路35は、Ryレゾスタ34におけるキャリー信号の
有無を判別し、キャリー信号を検出した際にダート回路
G、  IGlt # G21にf−)信号を与えてそ
のf−トを開く。上記したようにデート回路G*  l
 Gl! *cmoはキャリー判別回路35によって制
御され、ダート回路ate l G17 a axeは
キャリー判別回路30によってデート制御されるが、そ
の他のデート回路はCPUからの信号によってf7ト制
御される。
次に上記実施例の動作を第4図のフローチャートを参照
して説明する。まず、第4図のステップAIにおいて、
CPUからの指令によQダート回路G!〜G3のf−)
を開き、描画しようとする円の中心点QのX座標をXレ
ジスタ11、y座標をyレジスタ12、半径RをRレジ
スタ13にセットする。例えば半径が8ド、トの円を描
く場合には、第5図に示すように最下位ビ、トを小数点
位置り、1としてRレジスタ13に「8」つまり2進数
のrloooJをセットする。
次いでステ、プAtに進んでダート回路G4〜Gl  
+ G11のゲートを開き、Xレジスタ11及びRレジ
スタ13の内容を加算回路14で加算してxRレジスタ
16にセットすると共に、Xレ9− ジスタ11からRレジスタ・13の内容を減算回路15
で減算してXLレジスタ18にセットする。
以上の処理により、xRレジスタ16には描きたい円の
最右端のX座標データ(最大値)がセットされ、XI、
レジスタ18には描きたい円の最左端のX座標データ(
最小値)がセットされる。
また、上記ステ、ゾA鵞では、f−)回路G14゜G1
1lのr−トを開き、yレジスタ12に保持しているy
座標データをy。Vレジスタ21にセットすると共に、
7UDレジスタ22にセットする。
その後、ステンfAsへ進み、f−)回路G10゜Gs
s a cts a G11lのダートを開き、xRレ
ジスタ16、XLレジスタ18、yovレジスタ21、
ytrnレジスタ22に保持しているX、7座標データ
を表示処理部へ出力し、そのX、7座標点を表示メモリ
(図示せず)に記憶して表示部(図示せず)に表示する
。この時点ではy。Vレジスタ21及び7UDレジスタ
22には、中心点Qにおけるy座標データがそのままセ
ットされているので、第3図に示すようにxRレジスタ
16の内容によ一1〇− って指定されるX軸上の最大点pI及びxLレジスタ1
8の内容に指定されるX軸上の最小点T1gがプロット
される。次いでステップA4へ進み、r−)回路G2(
lのダートを開き、Rレジスタ13に保持されている半
径RをΔXレジスタ25に書込む。また、上記ステップ
A4では、ダート回路Gz5 e G3x r Gas
のf−)を開き、Rxレジスタ29、Ryレジスタ34
に初期値「o、5」をセットし、Δyレジスタ31に初
期値1−0」をセットする。上記初期値ro、5Jを各
レジスタ29゜34にセットする場合、第5図に示すよ
うに半径データに対応するように、小数点の位置を5ビ
ツト目のり、2の位置に設定してデータの書込みを行な
う。この結果、各レジスタ25.34には、第5図に示
すように2進数のr 1000 Jが書込まれる。次に
ステラfAsに進み、r−ト回路G30 e Gss 
l Gslのf−)を開いてΔyレジスタ、91とRy
レジスタ34に保持しているデータを加算回路33で加
算し、その加算結果をRyレジスタ34に書込む。この
場合にはr 0000+1000=1000 Jの2進
加算が行なわれ、Ryレジスタ34にld r 100
0 Jが書込まれる。次いでステップA6に示すように
ダート回路G34の?−トを開いてRyレジスタ34の
内容をキャリー判別回路35へ読出してキャリーの有無
を判別する。このキャリー判別は、小数点位置を第5図
に示すように初期値の書込みと同じり、2の位置に設定
して行々うもので、上記したようにRyレジスタ34の
内容がrlOooJの場合には、キャリー検出信号は出
力されない。
キャリー信号がない場合はステラ7″A7に進んでダー
ト回路Gts l G26 p G24のダートを開き
、ΔXレジスタ25とRxレジスタ29の内容r100
0Jを加算回路28で加算し、その加算結果r 100
00 JをRxレジスタ29に書込む。次いでステラf
Asに進み、デート回路G27のダートを開いてRxレ
ジスタ29の内容をキャリー判別回路30へ読出してキ
ャリーの有無を判別する。このキャリー判別回路30は
、上記キャリー判別回路35と同様に小数点位置をり、
2の位置に設定して行なうもので、Rxレジスタ29の
内容がr 10000 Jとなってり、2の位置に11
”信号が書込まれるとキャリー検出信号を出力する。こ
のキャリー検出信号によりダート回路a2eのデートが
開かれ、ステップ八9に示すようにΔyレジスタ31の
内容roooo」が+1回路32で+1されてrooo
lJとなる。また、上記キャリー判別回路30から出力
されるキャリー検出信号によシダート回路G11l s
 G17のr−トが開かれ、ステップA16に示すよう
にy。Vレジスタ21の内容が+1回路23によって+
1されると共に、yl、Dレジスタ22の内容が一1回
路24によって−1される。その後、ステップAllへ
進み、f−)回路GIOr Gll *Gas # G
tsのゲートを開き、xRレジスタ16、xLレジスタ
18.70Vレジスタ21.7UI)レジスタ22に保
持している!、F座標データを表示処理部へ出力し、そ
のx、y座標点を表示メモリ記憶して表示部に表示する
。すなわち、第3図に示すように1.7座標の第1象限
A!に13− おいてはxRレジスタ16及びy。Vレジスタ2ノの内
容により、第2象限A、においてはxLレジスタ18及
びy。Vレジスタ21の内容によシ、第3象限A3にお
いてけxLレジスタ18及びyUDレジスタ22の内容
により、第4象限においてはxRレジスタ16及びyU
Dレジスタ22の内容によシ、円のx、y座標点を表示
メモリにプロットし、表示部に表示する。このようにし
て第3図のX軸上の91点及び92点を基準として描画
する円のプロットを開始する。その後、ステラ7’A1
.に進み、e−)回路G22のf−)を開き、ΔXレジ
スタ25の内容を0”判断回路27へ読出して「0」か
否かを判断し、その判断結果をCPUへ出力する。そし
て、ΔXレジスタ25の内容が「0」でなければステッ
プA。
に戻シ、同様の処理を繰返す。そして、ステップAII
において、Ryレジスタ34にΔyレジスタ31の内容
を加算した際にキャリー信号を生じると、キャリー判別
ステップA6を経てステップAllに進む。このステッ
プAllでは、キャリー14− 判別回路35から出力されるキャリー検出信号によりf
−)回路Gz1のダートを開き、ΔXレジスタ25の保
持データを一1回路26により「−1」する。また、上
記キャリー判別回路35から出力されるキャリー検出信
号によりダート回路G9  + cwtのr−トを開き
%XRレジスタ16の内容を一1回路17で「−1」す
ると共に、xLレジスタ18の内容を+1回路19によ
り「+1」する。その後、ステップA7に進んで上記し
た処理を繰返す。すなわち、ΔXレジスタ25、Δyレ
ノスタ3ノ、Rxレジスタ29、Ryレジスタ34、加
算回路33、+1回路2B、32、−1回路26からな
る回路に、円の半径Rを与えて原点を中心とする円に対
するDDA計算、つまり上記(5)式、(6)式による
DDA計算を行なわせ、この計算により求まったx、y
の変化分を座標用レジスタ16.1B、21.22にお
いてQ点を中心とする円で変化させるようにしたもので
ある。またこの場合、第3図に示すようにX軸上のpt
点、92点から円弧をスタートさせるが、X軸に対して
上下の点が対称であるので、1つの計算を行なったとき
同時に対称の2点を求めることができる。しかして、最
初半径RがセットされたΔXXレジスタ2の内容が第4
図に示す処理によって順次「−1」され、「0」に達す
ると”0”判断回路27によりその状態が検出され、′
O”検出信号がCPUへ送られて処理を終了する。
なお、上記実施例では、円を描画する場合について示し
たが、キャリー判別回路、90 、.95のキャリー判
別タイミングを補正することにょシ、横長あるいは縦長
の楕円を描画することができる。
また、上記実施例では、円をグラフィック表示する場合
について示したが、その他例えばX−Yプロッタ等にお
いてプリントする場合でも同様にして実施し得るもので
ある。
〔発明の効果〕
以上述べたように本発明によれば、1/4円弧分の計算
だけで円が描け、対称計算を行なわなくても対称点が得
られる。また、絶対座標とユーザ座標の変換計算を行な
わなくてもユーザ座標での円のデータを得ることができ
る。従って座標軸の原点と円の中心とが等しくない場合
であっても、円周上の描画ドツトを容易に算出でき、高
速桟面が可能な円または楕円の描画方式を提供すること
ができる。
【図面の簡単な説明】
同断は本発明の一実施例を示すもので、第1図(a) 
(b)はDDAによる円弧発生手段を説明するための図
、第2図は回路構成図、第3図は円の描画状態を示す図
、第4図は第2図の動作内容を示すフローチャート、第
5図はレジスタの小数点位置設定状態を示す図である。 11・・・Xレジスタ、12・・・yレジスタ、13・
・・Rレジスタ、74 、2 & 、 3.9・・・加
算回路、15・・・MIE回路、16・・・xRレジス
タ、17.24゜26−・・−1回路、18・・・xL
レゾスタ、19 、23゜32・・・+1回路、21・
・・yovレジスタ、22・・・yUDレジスタ、27
・・・10”判断回路、25・・・17− ΔXレジスタ、29・・・RxXレジスタ30..95
・・・キャリー判別回路、31・・・Δyレジスタ、3
4・・・Ryレジスタ。 出願人代理人  弁理士 鈴 江 武 彦18− 第3図 第5図 11開口a59−206937  (7)第4図 TAAT 守5.9−Qの×。 y冴曹Hc′f R4z?FA71117X−JX−RX2 xL7xRAS ’/up、  Vutr              
      4”ヤヅー       匹■ 慟〉ント                     
    乃ブAA97−1−Q 70ロッ1− A、OYovl ”Vov A4R+6×’/uo−1− −4y ””      Ac1 4RV        アロット A5  ’!””RV      AX=O−g1yE
S槽v’)−VslV’J   ”         
  ”0■ Q p 2Ll pl )ゾ                  (=7「不
豪テ【二)4X−1→4x A14  XL+1−XL XR−1”XR

Claims (2)

    【特許請求の範囲】
  1. (1)  円の半径データに従ってDDA計算により座
    標の原点を中心とする円の描画データを求める手段と、
    この手段で求めたX e ’l軸に対する変化分により
    指定座標点を中心とする円周上の対称な4点を順次描画
    する手段とを具備したことを特徴とする円または楕円の
    描画方式。
  2. (2)上記指定座標点を中心として円周上の対称な4点
    の位置データを求める場合、X方向の変化及びy方向の
    変化を現在座標に対するインクリメント、デクリメント
    で求めることを特徴とする特許請求の範囲第1項記載の
    円または楕円の描画方式。
JP8146783A 1983-05-10 1983-05-10 円の描画方式 Granted JPS59206937A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP8146783A JPS59206937A (ja) 1983-05-10 1983-05-10 円の描画方式
US06/604,057 US4692887A (en) 1983-05-10 1984-04-26 Circle and circular arc generator
GB08411032A GB2141608B (en) 1983-05-10 1984-04-30 Circle and circular arc generator
DE3417407A DE3417407C2 (de) 1983-05-10 1984-05-10 Kreisgenerator für eine graphische Anzeigeeinheit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8146783A JPS59206937A (ja) 1983-05-10 1983-05-10 円の描画方式

Publications (2)

Publication Number Publication Date
JPS59206937A true JPS59206937A (ja) 1984-11-22
JPH0120471B2 JPH0120471B2 (ja) 1989-04-17

Family

ID=13747201

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8146783A Granted JPS59206937A (ja) 1983-05-10 1983-05-10 円の描画方式

Country Status (1)

Country Link
JP (1) JPS59206937A (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57146344A (en) * 1981-03-06 1982-09-09 Toshiba Corp Digital operating device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57146344A (en) * 1981-03-06 1982-09-09 Toshiba Corp Digital operating device

Also Published As

Publication number Publication date
JPH0120471B2 (ja) 1989-04-17

Similar Documents

Publication Publication Date Title
US5561447A (en) Coordinate input apparatus
US5825001A (en) Function calculator with graphic chart facility
JPS59206937A (ja) 円の描画方式
US4692887A (en) Circle and circular arc generator
JPH0812668B2 (ja) 手書き校正方法
JPH0782530B2 (ja) 手書き文字認識装置
JPS59206884A (ja) 円または楕円の塗りつぶし方式
CN116092095B (zh) 原笔迹手写笔锋的生成方法
JPS61249181A (ja) 文字学習装置
JP2708441B2 (ja) 入力手順教示機能付手書文字認識装置
JPH06222879A (ja) 筆跡表示方法および筆跡表示装置
JP2908194B2 (ja) 文字の変形制御方式
JPH01281570A (ja) Cadシステムにおける寸法チェック方式
JP2781682B2 (ja) メルカトール投影法における地球座標・直交座標変換方式
JPH0120472B2 (ja)
JPS6363948B2 (ja)
JP2605609B2 (ja) ドット表示処理装置
JPS5933578A (ja) 手書き図形情報の表示方式
JPH04205281A (ja) グラフ表示方式
JPH1165750A (ja) 入力位置座標補正方法
JPH04336690A (ja) 手書文字認識装置
JPH01282679A (ja) Cadシステム
JPH0214370A (ja) 情報処理装置
JPS60157620A (ja) 情報処理装置
JPH01209522A (ja) 座標入力装置