JPH0523439B2 - - Google Patents

Info

Publication number
JPH0523439B2
JPH0523439B2 JP60100672A JP10067285A JPH0523439B2 JP H0523439 B2 JPH0523439 B2 JP H0523439B2 JP 60100672 A JP60100672 A JP 60100672A JP 10067285 A JP10067285 A JP 10067285A JP H0523439 B2 JPH0523439 B2 JP H0523439B2
Authority
JP
Japan
Prior art keywords
octant
point
sign
selecting
signs
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.)
Expired - Lifetime
Application number
JP60100672A
Other languages
English (en)
Other versions
JPS61261779A (ja
Inventor
Hideaki Iida
Takeshige Mamya
Yutaka Morimoto
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP60100672A priority Critical patent/JPS61261779A/ja
Priority to EP86105380A priority patent/EP0201754A3/en
Priority to US06/862,901 priority patent/US4789954A/en
Publication of JPS61261779A publication Critical patent/JPS61261779A/ja
Publication of JPH0523439B2 publication Critical patent/JPH0523439B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/20Function-generator circuits, e.g. circle generators line or curve smoothing circuits
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G1/00Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data
    • G09G1/06Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows
    • G09G1/08Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam directly tracing characters, the information to be displayed controlling the deflection and the intensity as a function of time in two spatial co-ordinates, e.g. according to a cartesian co-ordinate system

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Image Generation (AREA)
  • Digital Computer Display Output (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】
[産業上の利用分野] 本発明は、円、楕円及び放物線等の二次曲線を
示す信号を発生する方法及び装置に係り、特に
CRT表示装置やプロツターに使用するのに好適
な二次曲線信号発生方法及び装置に関する。 [開示の概要] 本明細書で開示される二次曲線信号発生方法
は、二次曲線を示す式を、 F(x、y)=ax2+bxy+cy2+dx+ey+y=0 とすると、F(x、y)>0の領域又はF(x、y)
<0の領域のうちのどちらか一方の領域のみにお
いてF(x、y)=0に最も近い点を選択するもの
である。この方法によれば、少数のパラメータを
使用するだけでまた複雑な演算を必要とすること
なく、二次曲線信号を発生できる。 [従来技術] 従来、直交座標系における点(x、y)に隣接
する8点(x+1、y+1)、(x+1、y)、(x
+1、y−1)、(x、y−1)、(x−1、y−
1)、(x−1、y)、(x−1、y+1)及び
(x、y+1)のうちのいずれか1つを選択する
ステツプを繰返し行うことにより、二次曲線を示
す信号を発生する方法としては、1967年11月のコ
ンピユータ・ジヤーナル(Computer Journal)
の第282頁乃至第289頁に掲載されたエム・エル・
ヴイ・ピツトウエイ(M.L.V.Pitteway)著の
“デイジタル・プロツタを用いて楕円又は双曲線
を描くためのアルゴリズム(Algorithm for
drawing ellipses or hyperbolae with a
digital plotter)”という題名の論文に示された
方法が知られている。 この方法は、まず、点(x+1、y+1)又は
(x+1、y)を選択可能な第1オクタント、点
(x+1、y)又は(x+1、y−1)を選択可
能な第2オクタント、点(x+1、y−1)又は
(x、y−1)を選択可能な第3オクタント、点
(x、y−1)又は(x−1、y−1)を選択可
能な第4オクタント、点(x−1、y−1)又は
(x−1、y)を選択可能な第5オクタント、点
(x−1、y)又は(x+1、y−1)を選択可
能な第6オクタント、点(x−1、y+1)又は
(x、y+1)を選択可能な第7オクタント、並
びに点(x、y+1)又は(x+1、y+1)を
選択可能な第8オクタントのうちの1つを選択す
る。そして、選択されたオクタントにおいて選択
可能な点を(X1、Y1)及び(X2、Y2)(第1オ
クタントでは、X1=x+1、Y1=y+1、X2
x+1、Y2=y)とし、二次曲線の式を F(x、y)=ax2+bxy+cy2+dx+ey+y=0 とし、X3=(X1+X2)/2、Y3=(Y1+Y2)と
したときにD(x、y)=F(X3、Y3)の符号によ
り(X1、Y2)及び(X2、Y2)のいずれかを選択
するものであり、結果的に次の点がF(x、y)>
0の領域及びF(x、y)<0領域のどちらかの領
域にあつても選択するものである。 [発明が解決しようとする問題点] 上記論文に示された方法は、パラメータ数が多
く、複雑な演算を要し、オクタント変更の際のパ
ラメータの再設定に多くの演算を必要とし、ハー
ドウエア化が困という問題点があつた。 本発明は、パラメータ数が少なく、簡単な演算
のみで二次曲線を示す信号を発生でき、またハー
ドウエア化の容易な二次曲線信号発生方法を提供
することを目的とする。 [問題点を解決するための手段] 上記目的を達成するために、本発明は、F(x、
y)>0の領域又はF(x、y)<0の領域のうち
のどちらか一方の領域のみにおいてF(x、y)=
0に最も近い点を選択することを繰返し行うこと
により、二次曲線F(x、y)=0に近似した線を
示す信号を発生するものである。 このような、選択する点をF(x、y)の正領
域又は負領域のみに限定しておけば、次に選択す
る点は、F(x、y)の符号を変化させず且つF
(x、y)の絶対値を減少させるものを選べばよ
いから、点選択は符号の判定のみが行うことがで
きる。 例えば、現在の点の周囲の8点から選択対象を
二点に絞るオクタント選択ステツプにおいて、次
の式を満たす2点(X1、Y1)及び(X2、Y2)を
選択可能なオクタントが選ばれているとする(な
お、(X0、Y0)は現在の点とする)。 F(X1、Y1)−F(X0、Y0)=α F(X2、Y2)−F(X0、Y0)=β α・β<0 そうすると、F(x、y)>0の領域のみの点を
選択する場合には、次のステツプを行えばよい。 (1) α又はβの符号を調べる。 (2) α>0(β<0)ならば、F(X2、Y2)の符
号を調べる。 (3) α<0(β>0)ならば、F(X1、Y1)の符
号を調べる。 (4) F(X2、Y2)>0又はF(X1、Y1)<0なら
ば、(X2、Y2)を選択する。 (5) F(X2、Y2)<0又はF(X1、Y1)>0なら
ば、(X1、Y1)を選択する。 また、F(x、y)<0の領域のみの点を選択す
る場合には、 (1) α又はβの符号を調べる。 (2) α>0(β<0)ならば、F(X1、Y1)の符
号を調べる。 (3) α<0(β>0)ならば、F(X2、Y2)の符
号を調べる。 (4) F(X2、Y2)>0又はF(X1、Y1)<0なら
ば、(X1、Y1)を選択する。 (5) F(X2、Y2)<0又はF(X1、Y1)>0なら
ば、(X2、Y2)を選択する。 このような動作の流れに対称性をもたせること
ができ、ハードウエア化が容易となる。 [実施例] 第1図は、本発明により二次曲線信号発生方法
の一実施例を示すフローチヤートである。第1図
を参照して本発明の実施例の説明に入る前に、第
2図及び第3図を参照して本発明の基本原理を説
明しておく。 第2図はF(x、y)>0の領域で次の点を選択
する方法を示す。図中、(X0、Y0)は現在の点を
示し、(X1、Y1)及び(X2、Y2)は次の点の候
補を示す。第2図aの場合、(X1、Y1)及び
(X2、Y2)ともにF(x、y)>0の領域にあるか
ら、F(x、y)=0により近い(X2、Y2)が選
択される。第2図bの場合、(X2、Y2)の方が
(X1、Y1)よりもF(x、y)=0の近いが、
(X2、Y2)がF(x、y)<0の領域にあるので、
(X1、Y1)が選択される。第2図cの場合、
(X1、Y1)及び(X2、Y2)ともにF(x、y)>
0の領域にあるから、F(x、y)により近い、
(X1、Y1)が選択される。第2図dの場合、
(X1、Y1)の方が(X2、Y2)よりF(x、y)=
0に近いが、(X1、Y1)がF(x、y)<0の領域
にあるから、(X2、Y2)が選択される。 第3図は、F(x、y)<0の領域で次の点を選
択する方法を示す。第3図aの場合、(X1、Y1
及び(X2、Y2)ともにF(x、y)<0の領域に
あるから、F(x、y)=0により近い(X1、Y1
が選択される。第3図bの場合、(X1、Y1)の方
が(X2、Y2)よりもF(x、y)=0に近いが、
(X1、Y1)がF(x、y)>0の領域にあるので、
(X2、Y2)が選択される。第3図Cの場合、
(X2、Y2)及び(X2、Y2)がともにF(x、y)
<0の領域にあるから、F(x、y)=0により近
い(X2、Y2)が選択される。第3図dの場合
(X2、Y2)の方が(X1、Y1)よりF(x、y)=
0に近いが、(X2、Y2)はF(x、y)>0の領域
にあるから、(X1、Y1)が選択される。 第1図の実施例では、次のパラメータを使用す
る。 判定パラメータ:F(=ax2+bxy+cy2+dx+ey
+y) 方向パラメータ:α、β 形状パラメータ:a、b、c(二次曲線の式のx2
xy及びy2の係数) 偏差パラメータ:T1、T2、T3 α及びβはオクタントによるて異なる。オクタ
ントは8つ存在する。第4図aは現在の点を
(x、y)とすると次の点として点(x+1、y
+1)又は(x+1、y)を選択可能な第1オク
タントを示し、第4bは次の点として点(x+
1、y)又は(x+1、y−1)を選択可能な第
2オクタントを示し、第4cは次の点として点
(x+1、y−1)又は(x、y−1)を選択可
能な第3オクタントを示し、第4dは次の点とし
て点(x、y−1)又は(x−1、y−1)を選
択可能な第4オクタントを示し、第4eは次の点
として点(x−1、y−1)又は(x−1、y)
を選択可能な第5オクタントを示し、第4fは次
の点として点(x−1、y)又は(x+1、y−
1)を選択可能な第6オクタントを示し、第4g
は次の点として点(x−1、y+1)又は(x、
y+1)を選択可能な第7オクタントを示し、第
4図hは次の点として点(x、y+1)又は(x
+1、y+1)を選択可能な第8オクタントを示
す。 α、βは第1オクタントでは、 α=F(x+1、y+1)−F(x、y) β=F(x+1、y)−F(x、y) 第2オクタントでは、 α=F(x+1、y−1)−F(x、y) β=F(x+1、y)−F(x、y) 第3オクタントでは、 α=F(x+1、y−1)−F(x、y) β=F(x、y−1)−F(x、y) 第4オクタントでは、 α=F(x−1、y−1)−F(x、y) β=F(x、y−1)−F(x、y) 第5オクタントでは、 α=F(x−1、y−1)−F(x、y) β=F(x−1、y)−F(x、y) 第6オクタントでは、 α=F(x−1、y+1)−F(x、y) β=F(x−1、y)−F(x、y) 第7オクタントでは、 α=F(x−1、y+1)−F(x、y) β=F(x、y+1)−F(x、y) 第8オクタントでは、 α=F(x+1、y+1)−F(x、y) β=F(x、y+1)−F(x、y) である。 T1は、後述のように、現在の点(x、y)に
対してX方向又はY方向のどちらか一方に沿つて
(+1)又は(−1)変位した点を選択した後、
βに加算される値であり、 第1オクタントでは2a(=β(x+1、y)−β
(x、y)) 第2オクタントでは2a(=β(x+1、y)−β
(x、y)) 第3オクタントでは2c(=β(x、y−1)−β
(x、y)) 第4オクタントでは2c(=β(x、y−1)−β
(x、y)) 第5オクタントでは2a(=β(x−1、y)−β
(x、y)) 第6オクタントでは2a(=β(x−1、y)−β
(x、y)) 第7オクタントでは2c(=β(x+1、y)−β
(x、y)) 第8オクタントでは2c(=β(x+1、y)−β
(x、y)) T1は第1、第2、第5及び第6オクタントで
は2aという値をとり、第3、第4、第7及び第
8オクタントでは2cという値をとり、全オクタン
トについては2つの値しかない。そこで、以下、
T1は第1、第2、第5及び第6オクタントでは
T1(=2a)、第3、第4、第7及び第8オクタン
トではT1′(=2c)と指称するものとする。 T2は、後述のように、現在の点(x、y)に
対してX方向又はY方向のどちらか一方に沿つて
(+1)又は(−1)変位した点を選択した後α
に加算され、X方向に(+1)又は(−1)変位
した点を選択した後βに加算される値であり、 第1オクタントでは、 2a+b(=α(x+1、y)−α(x、y)=β(x
+1、y+1)−β(x、y)) 第2オクタントでは、 2a−b(=α(x+1、y)−α(x、y)=β(x
+1、y−1)−β(x、y)) 第3オクタントでは、 2c−b(=α(x、y−1)−α(x、y)=β(x+
1、y−1)−β(x、y)) 第4オクタントでは、 2c+b(=α(x、y−1)−α(x、y)=β(x−
1、y−1)−β(x、y)) 第5オクタントでは、 2a+b(=α(x−1、y)−α(x、y)=β(x
−1、y−1)−β(x、y)) 第6オクタントでは、 2a−b(=α(x−1、y)−α(x、y)=β(x
−1、y+1)−β(x、y)) 第7オクタントでは、 2c−b(=α(x+1、y)−α(x、y)=β(x−
1、y+1)−β(x、y)) 第8オクタントでは、 2c+b(=α(x+1、y)−α(x、y)=β(x+
1、y+1)−β(x、y)) である。 T3は、後述のように、現在の点(x、y)に
対してX方向に(+1)又は(−1)及びY方向
に(+1)又は(−1)変位した点を選択した後
にαに加算される値であり、 第1オクタントでは2a+2c+2b(=α(x+1、
y+1)−α(x、y)) 第2オクタントでは2a+2c−2b(=α(x+1、
y−1)−α(x、y)) 第3オクタントでは2a+2c−2b(=α(x+1、
y−1)−α(x、y)) 第4オクタントでは2a+2c+2b(=α(x−1、
y−1)−α(x、y)) 第5オクタントでは2a+2c+2b(=α(x−1、
y−1)−α(x、y)) 第6オクタントでは2a+2c−2b(=α(x−1、
y+1)−α(x、y)) 第7オクタントでは2a+2c−2b(=α(x−1、
y+1)−α(x、y)) 第8オクタントでは2a+2c+2b(=α(x+1、
y+1)−α(x、y)) である。 T3は、第1、第4、第5及び第8オクタント
では、 2a+2c+2b 第2、第3、第6及び第7オクタントでは、 2a+2c−2b という値をとり、全オクタントについては2つの
値しかない。そこで以下、T3は、第1、第4、
第5及び第8オクタントでは、T3(=2a+2c+
2b)、第2、第3、第6及び第7オクタントで
は、T3′(=2a+2c−2b)と指称するものとする。 第1表は8つのオクタントについてのα、β、
T1(T1′)、T2及びT3(T3′)の値を示したもので
ある。 なお、第1表中、変更の欄に示されている式 α=2β−α+2c α=2β−α+2a β=α−β+b β=α−β−b
【表】 は、オクタント変更時に、前のオクタントのα及
びβを使用して次のオクタントのα、βを求める
ための式であり、オクタントの欄のかつこ内の3
つの数字は各オクタントを示す符号である。 次に、第1図を参照して本発明の実施例を説明
する。まず、ブロツク2に示されているように、
スタート点(XS、XS)を決定し、そのときのF、
α、βT1、T1′、bを求めるとともに、オクタン
トを選択する。例えば、 F=x2+y2−36=0 なる円を描くときには、スタート点を(−5、
5)、最初のオクタントを第1オクタントとする
と、 F=(−5)2+52−36=14 α=2×(−5)+2×5+2=2 β=2×(−5)+1=−9 T1=T1′=2 b=0 オクタント=11 がセツトされる。そして、ブロツク4に示されて
いるように、T3、T3′及びT2次式により求めら
れる。 T3=T1+T1′+2b T3′=T1+T1′−2b T2=T1(T1′)±b 上記例では、 T3=T4′=4 T2=2 である。第2表は、F=x2+y2−36の場合の、各
オクタントにおけるα、β、T1(T1′)、T2及び
T3(T3′)を示すものである。
【表】 次に、ブロツク6に示されているように、α及
びβの符号が調べられる。αとβが異符号であれ
ば初めに選択されたオクタントは正しいオクタン
トである。上記例では、α=2、β=−9であ
り、αとβの符号は異符号であるから正しいオク
タントである。 αとβが同符号のときには、ブロツク8のオク
タント変更処理が行なわれる。第1表から明らか
なように第1オクタントから第2オクタント、第
3オクタントから第4オクタント、第5オクタン
トから第6オクタント、及び第7オクタントから
第8オクタントへの変更はβはそのままにしてα
の値を第1表の式に従つて変更すればよい。ま
た、第2オクタントから第3オクタント、第4オ
クタントから第5オクタント、第6オクタントへ
の変更のαはそのままにしてβの値を第1表の式
に従つて変更すればよい。すなわち、オクタント
を連続的に変化させた場合、αとβの変更は交互
に生じることとなる(第5図参照)。そこで、ブ
ロツク10で前のオクタント変更でαの変更が行
われたか否かをチエツクすれば、今度はα、βの
どちらかを変更すればよいかがわかる。例えば、
今、第1オクタントが選択されていれば、前のオ
クタント変更ではβが変更されているから、ブロ
ツク10の判定結果は否定となり、今度はαの変
更が必要なことがわかる。 αの変更の必要性が検出される、ブロツク12
で、現在のオクタントが第1又は第5オクタント
か判定される。そうならば、ブロツク14に示さ
れるように α=2β−α+2c なる演算が行われ、αの値が変更される。これに
より、第2及び第6オクタントに変更されたこと
になる。上記例では、これで第2オクタントに変
更されたことになる。ブロツク12において第1
又は第5オクタントでないと判定されると、現在
のオクタントは第3又は第7オクタントであるか
らブロツク16で α=2β−α+2a なる演算が行われ、αの値が変更される。これに
より、第4又は第8オクタントに変更されたこと
になる。 ブロツク10の判定結果が肯定的で、βの変更
必要が検出されると、ブロツク18に示されるよ
うに、現在のオクタントが第2又は第6オクタン
トであるか否か判定される。そうならば、ブロツ
ク20で示されるように、 β=α−β+b なる演算が行われβが変更される。これにより、
第3又は第7オクタントに変更されたことにな
る。ブロツク18の判定が否定的であると、現在
のオクタントは第4又は第8オクタントであるか
ら、ブロツク22に示されているように β=α−β−b なる演算が行われβが変更される。これにより、
第5又は第1オクタントに変更されたことにな
る。 上能のようなオクタント変更に伴なつて、T1
(T1′)、T2及びT3(T3′)の値も第1表に従つて
変更される。いずれも、ブロツク2又は4で設定
された値に基づいて新たなオクタントに対応する
値を求めることができるのは第1表から明らかで
あろう。 次に、新たなαとβの符号が再びブロツク6で
調べられる。αとβの符号が異なつたものになつ
ていれば、ブロツク30の点選択処理が行われ
る。依然として同符号であれば、再びブロツク8
のオクタント変更処理が行われる。この処理はα
とβの符号が異なるものとなるまで続けられる。 αとβの符号が異なつたものとなると、まず、
ブロツク32において、Fとαが同符号か否かが
判定される。これは、α及びβの符号を調べてい
ることと等価である。何故なら、今、F>0の領
域で曲線を描こうとしている場合、Fは正であ
り、Fとαが同符号ということはαが正でβが負
であることが判明するからである。また、F<0
の領域で曲線を描こうとしている場合、Fは負で
あり、Fとαが同符号ということはαが負でβが
正である。 ブロツク32で同符号と判定されると、ブロツ
ク34に示されているように、FとF+βの符号
が比較され、同符号ならば、ブロツク36に示さ
れているように、X方向又はY方向のどちらか一
方に沿つて(+1)又は(−1)変位した点が選
択される。今、第1オクタントとすると、(X+
1、Y)が選択されることになる。FとF+βが
異符号であるとブロツク34で判定されると、ブ
ロツク42に示されているようにX方向に(+
1)又は(−1)及びY方向に(+1)又は(−
1)変位した点が選択される。今、第1オクタン
トとすると、(x+1、y+1)が選択されるこ
ととなる。 ブロツク32において、Fとαが異符号と判定
されると、ブロツク40においてFとF+βの符
号が比較され、同符号ならば、ブロツク42に示
されているようにX方向に(+1)又は(−1)
及びY方向に(+1)又は(−1)変位した点が
選択される。FとF+βの符号が異なると判定さ
れると、ブロツク36に示されるように、X方向
又はY方向のどちらか一方に沿つて(+1)又は
(−1)変位した点が選択される。 ブロツク36の処理が行われると、ブロツク3
8に示されているように、 F=F+β α=α+T2 β=β+T1(T1′) なる式に従つて、パラメータの値が更新される。
ブロツク42の処理が行われると、ブロツク44
に示されているように、 F=F+α α=α+T3(T3′) β=β+T2 なる式に従つて、パラメータの値が更新される。
そして、再び、ブロツク6において、αとβの符
号が調べられ、異なつていれば、ブロツク30の
点選択処理が繰返し行われ、同じであれば、ブロ
ツク8のオクタント変更処理が行われる。 第6図は、F=x2+y2−36=0の円を、スター
ト点を(−5、5)として第1図の方法に従つて
F>0の領域内で描いたものである。第3表及び
第4表は、第6図の曲線を描いたときのF、α、
β及びオクタント変更を示す。
【表】
【表】
【表】
【表】 第7図は、F=x2+y2−36=0の円を、スター
ト点を(−4、4)として第1図の方法に従つて
F<0の領域内で描いたものである。第5表は第
7図の曲線を描いたときのF、α、β及びオクタ
ント変更を示す。
【表】 第8A図、第8B図、第8C図、第8D図、第
8E図、第8F図、第8G図及び第8H図は、第
1図の方法に従つてF=x2+y2−72=0なる円を
F<0の領域において描くのを段階的に示したの
であり、第6A、6B、6C、6D、6E、6F、6G及び
6H表はそれぞれ第8A図、第8B図、第8C図、
第8D図、第8E図、第8F図、第8G図及び第
8H図に対応するF、α、β、オクタント、T1、
T1′、T2、T3及びT3′を示したものである。
【表】
【表】
【表】
【表】
【表】
【表】
【表】
【表】
【表】 第9A図、第9B図、第9C図、第9D図、第
9E図及び第9F図は、第1図の方法に従つてF
=x2+4y2+156=0なる楕円をF<0の領域にお
いて描くのを段階的に示したものであり、第7A、
7B、7C、7D、7E及び7F表はそれぞれ第9A図、
第9B図、第9C図、第9D図、第9E図及び第
9F図に対応するF、α、β、オクタント、T1、
T1′、T2、T3及びT3′を示したものである。
【表】
【表】
【表】
【表】
【表】
【表】 第10A図、第10B図、第10C図、第10
D図、第10E図及び第10F図は、第1図の方
法に従つてF=10x2+16y2+10y2−288=0なる
楕円をF<0の領域において描くのを段階的に示
したものであり、第8A、8B、8C、8D、8E及び
8F表はそれぞれ第10A図、第10B図、第1
0C図、第10D図、第10E図及び第10F図
に対応するF、α、β、オクタント、T1、T1′、
T2、T3及びT3′を示したものである。
【表】
【表】
【表】
【表】
【表】
【表】
【表】 第11A図、第11B図、第11C図、第11
D図、第11E図、第11F図及び第11G図
は、第1図の方法に従つてF=4y−x2+2=0
なる対物線をF<0の領域において描くのを段階
的に示したものであり、第9A、9B、9C、9D、
9E、9F及び9G表はそれぞれ第11A図、第11
B図、第11C図、第11D図、第11E図、第
11F図及び第11G図に対応するF、α、β、
オクタント、T1、T1′、T2、T3およびT3′を示
したものである。
【表】
【表】
【表】
【表】
【表】
【表】
【表】
【表】 第12図は第1図に方法を実施するのに使用さ
れる装置の一構成例を示す。まず、描くべき曲線
を示すパラメータF、α、β、T1、T1′及びb並
びにオクタントがデータ母線50及びマルチプレ
クサ52を介して与えられる。パラメータF、
α、βT1、T1′及びbはそれぞれFレジスタ60、
αレジスタ54、βレジスタ56、T1レジスタ
62、T1′レジスタ64及びbレジスタ58に記
憶される。オクタントはオクタント部74に与え
られる。また、スタート座標(XS、YS)がX及
びYカウンタ84及び86にセツトされる。 次に、加算器制御回路78には、次式に従つて
演算を行えとの命令がデータ母線50及びマルチ
プレクサを介して与えられる。 T3=T1+T1′+2b T3′=T1+T1′−2b T2=T1(T1′)±b これに応じて、加算器80は、T1、T1′及びb
レジスタ62,64及び58の出力を受けて上記
演算を行つて、結果をT3、T3′及びT2レジスタ
4868,70及び66に与える。 次に第1符号判定部72は、α及びβレジスタ
54及び56の出力を受けて、α及びβの符号を
判定し、同符号ならば線73を介してオクタント
部74にオクタント変更要求信号を与える。オク
タント部74は1′また、線75を介して前のオ
クタント変更でα変更が行われたか否かを示す信
号を受ける。ただし、最初にオクタントが与えら
れるときには前にα変更があつたか否か不明であ
るから、外部からオクタントが与えられると同時
にそのオクタントの前のオクタントではα変更が
行わるべきものであるか否かの信号が与えられ
る。 オクタント部74は、与えられたオクタントの
前のオクタントではα変更が行われるべきもので
あることを示す信号を受けたときには、与えられ
たオクタントが第2又は第6オクタントであれ
ば、加算器制御回路78を介して加算器80に β=α−β+b なる演算を行わせ、結果をβレジスタ56に与え
る。また、オクタント部74は、与えられたオク
タントが第4又は第8オクタントであるときに
は、加算器制御回路78を介して加算器80に β=α−β+b なる演算を行わせ、結果をβレジスタ56に与え
る。 与えられたオクタントの前のオクタントではα
変更が行われるべきものでないことを示す信号を
受けたときには、与えられたオクタントが第1又
は第5オクタントであれば、加算制御回路78を
介して加算器80に α=2β−α+2c なる演算を行わせ、結果をαレジスタ54に与え
る。また、与えれらたオクタントが第3又はオク
タントであるときには、加算器80に α=2β−α+2a なる演算を行わせ、結果をαレジスタ54に与え
る。また、T2=T1(T1′)±bなる演算を加算器
80に加わせる。そして、オクタント部74は、
オクタントを示すコードを変更後のオクタントを
示すものにする。 オクタント変更の結果、αとβの符号が異なる
ものになれば、第1符号判定部72からオクタン
ト変更要求信号が出されなくなる。これにより、
第2符号判定回路76は、αレジスタ54とFレ
ジスタ60の出力を受けてFとαの符号を調べ、
同符号であれば、 F+β なる演算を行うよう加算器制御回路80に命令す
る。これにより、加算器80はFレジスタ60と
βレジスタ56の出力を受けて(F+β)なる演
算を行つてステツプ制御回路82に与える。ステ
ツプ制御回路82にはFレジスタ60の出力及び
オクタント部74からオクタントを示す信号も与
えられている。ステツプ制御回路82は、第10表
に示す出力を発生する。
【表】
【表】 第2符号判定回路76が、Fとαの符号が異な
ることを検出すると、 F+α なる演算を行うよう加算器制御回路80に命令
し、加算器80はFレジスタ60とαレジスタ5
4の出力を受けて(F+α)なる演算を行つて、
ステツプ制御回路82に与える。この場合、ステ
ツプ制御回路82は、第11表に示す出力を発生す
る。
【表】
【表】 Xカウンタ84及び86はステツプ制御回路8
2から与えられる出力に従つてX及びYの値を1
つずつアツプ・ダウンする。ステツプ制御回路8
2の出力は加算器制御回路78に与えられてい
る。加算器制御回路78は、ステツプ制御回路8
2がX又はYのどちらか一方のみを(±1)イン
クリメントさせる信号を出力したときには、加算
器80に次の演算を行わせ、F、α及びβの値を
更新させる。 F=F+β α=α+T2 β=β+T1(T1′) ステツプ制御回路82がX及びYの双方の値を
(±1)インクリメントさせる信号を出力したと
きには、加算器制御回路78は加算器80に次の
演算を行わせて、F、α及びβの値を更新させ
る。 F=F+α α=α+T3(T3′) β=β+T2 そして、新たなパラメータに基いて次の点が求
められる。そして、X及びYカウンタ84及び8
6の値がX及びY終点レジスタ88及び90にセ
ツトされた終点座標に一致すると、ストツプ・チ
エツク回路92の信号により曲線の描画が終了さ
せられる。 なお、上記実施例では、α及びβの符号に着目
してオクタント変更するものであるから、α及び
βの符号が異なるようになるまで連続的にオクタ
ント変更を行うことができ、オクタント変更が連
続するような急な曲線を簡単に描くことができ
る。 また、同じF(x、y)=0の式についてまず上
記方法に従つてF>0の領域に線を描き次F>0
の領域に線を描けば、交わることのないダブル・
ラインを簡単に描くこともできる。 [発明の効果] 以上の説明から明らかなように、本発明は、二
次曲線F(x、y)=0を示す信号を発生するため
に、F(x、y)>0の領域又はF(x、y)<0の
領域のうちどちらか一方の領域のみにおいてF
(x、y)=0の最も近い点を選択することによ
り、パラメータ数の削減、演算の簡素化を図り、
ハードウエア化を容易にした。
【図面の簡単な説明】
第1図は本発明により二次曲線信号発生方法の
一実施例を示すフローチヤート、第2図及び第3
図は本発明の基本原理を示す説明図、第4図は8
つのオクタントを示す説明図、第5図はオクタン
ト変更に伴うα変更及びβ変更を示す説明図、第
6図はF=x2+y2−36=0なる円を第1図の方法
に従つてF>0の領域に描いたドツト列を示す
図、第7図はF=x2+y2−36=0なる円を第1図
の方法に従つてF<0の領域に描いたドツト列を
示す図、第8A図、第8B図、第8C図、第8D
図、第8E図、第8F図、第8G図及び第8H図
はF=x2+y2−72=0なる円を第1図の方法に従
つてF<0の領域に描くのを段階的に示す図、第
9A図、第9B図、第9C図、第9D図、第9E
図及び第9F図はF=x2+4y2−156=0なる楕円
を第1図の方法に従つてF<0の領域に描くのを
段階的に示す図、第10A図、第10B図、第1
0C図、第10D図、第10E図及び第10F図
はF=10x2+16xy+10y2−288=0なる楕円を第
1図の方法に従つてF<0の領域に描くのを段階
的に示す図、第11A図、第11B図、第11C
図、第11D図、第11E図、第11F図及び第
11G図はF=4y−x2+2=0なる対物線を第
1図の方法に従つてF<0の領域において描くの
を段階的に示す図、第12図は第1図の方法を実
施するのに使用する装置に一構成例を示すブロツ
ク図である。 54……αレジスタ、56……βレジスタ、6
0……Fレジスタ、74……オクタント部、80
……加算器、82……ステツプ制御回路。

Claims (1)

  1. 【特許請求の範囲】 1 表示装置又はプロツター上の直交座標系にお
    ける点(x、y)に隣接する8点(x+1、y+
    1)、(x+1、y)、(x+1、y−1)、(x、y
    −1)、(x−1、y−1)、(x−1、y)、(x−
    1、y+1)及び(x、y+1)のうちのいずれ
    か1つを選択することを繰り返すことにより、二
    次曲線F(x、y)=ax2+bxy+cy2+dx+ey+y
    =0に近似した線を示す記号を発生する装置であ
    つて、点(x+1、y+1)又は(x+1、y)
    を選択可能な第一オクタント、点(x+1、y)
    又は(x+1、y−1)を選択可能な第二オクタ
    ント、点(x+1、y−1)又は(x、y−1)
    を選択可能な第3オクタント、点(x、y−1)
    又は(x−1、y−1)を選択可能な第4オクタ
    ント、点(x−1、y−1)又は(x−1、y)
    を選択可能な第5オクタント、点(x−1、y)
    又は(x+1、y−1)を選択可能な第6オクタ
    ント、点(x−1、y+1)又は(x、y+1)
    を選択可能な第7オクタント、並びに点(x、y
    +1)又は(x+1、y+1)を選択可能な第8
    オクタントのうちの1つを選択するオクタント選
    択手段と、 第1オクタントについては、 α=F(x+1、y+1)−F(x、y) β=F(x+1、y)−F(x、y) 第2オクタントについては、 α=F(x+1、y−1)−F(x、y) β=F(x+1、y)−F(x、y) 第3オクタントについては、 α=F(x+1、y−1)−F(x、y) β=F(x、y−1)−F(x、y) 第4オクタントについては、 α=F(x−1、y−1)−F(x、y) β=F(x、y−1)−F(x、y) 第5オクタントについては、 α=F(x−1、y−1)−F(x、y) β=F(x−1、y)−F(x、y) 第6オクタントについては、 α=F(x−1、y+1)−F(x、y) β=F(x−1、y)−F(x、y) 第7オクタントについては、 α=F(x−1、y+1)−F(x、y) β=F(x、y+1)−F(x、y) 第8オクタントについては、 α=F(x+1、y+1)−F(x、y) β=F(x、y+1)−F(x、y) としたときに、αとβの符号を判定する手段と、 前記αとβの符号を判定する手段によつてαと
    βの符号が同一と判定された場合には、αの符号
    とβの符号が異なるオクタントに変更する手段
    と、前記αとβの符号を判定する手段によつてα
    とβの符号が異なると判定されたオクタントにお
    いて選択可能な2つの点のうちF(x、y)>0の
    領域又はF(x、y)<0の領域のうちどちらか一
    方においてF(x、y)=0に近い方の点を選択す
    る選択手段とから成ることを特徴とする二次曲線
    信号発生装置。 2 前記点選択手段が (a) 点(x、y)におけるF(x、y)の符号と
    αの符号とを比較する手段と、 (b) 手段(a)の比較においてF(x、y)の符号と
    αの符号が同じときに、F(x、y)の符号と
    F(x、y)+βの符号とを比較する手段と、 (c) 手段(a)の比較においてF(x、y)の符号と
    αの符号が異なるときに、F(x、y)の符号
    とF(x、y)+αの符号とを比較する手段と、 (d) 手段(b)において符号が同一と判定された場
    合、並びに手段(c)において符号が異なると判定
    された場合に、点(x、y)に対してX方向又
    はY方向のどちらか一方に沿つて(+1)また
    は(−1)変位した点を選択する手段と、 (e) 手段(b)において符号が異なると判定された場
    合、並びに手段(c)において符号が同一と判定さ
    れた場合に、点(x、y)に対してX方向に
    (+1)または(−1)及びY方向に(+1)
    または(−1)変位した点を選択する手段と、 を含むことを特徴とする特許請求の範囲第1項記
    載の二次曲線信号発生装置。 3 前記点選択手段が、F(x、y)>0のとき
    に、 (f) α又はβの符号を調べる手段と、 (g) 手段(f)手段においてαの符号が正またはβの
    符号が負と判定されたときにF(x、y)+βの
    符号を調べる手段と、 (h) 手段(f)においてαの符号が負又はβの符号が
    正と判断されたときにをF(x、y)+αの符号
    を調べる手段と、 (i) 手段(f)においてF(x、y)+βの符号が正と
    判断された場合、並びに手段(h)においてF(x、
    y)+αの符号が負と判定された場合に、点
    (x、y)に対してX方向又はY方向のどちら
    か一方に沿つて(+1)または(−1)変位し
    た点を選択する手段と、 (j) 手段(f)においてF(x、y)+βの符号が負と
    判断された場合、並びに手段(h)においてF(x、
    y)+αの符号が正と判定された場合に、点
    (x、y)に対してX方向に(+1)又は(−
    1)及びY方向に(+1)または(−1)変位
    した点を選択する手段と、 を含むことを特徴とする特許請求の範囲第1項記
    載の二次曲線信号発生装置。 4 前記点手段が、F(x、y)<0のときに、 (k) α又はβの符号を調べる手段と、 (l) 手段(k)においてαの符号が正又はβの符号が
    負と判定されたときに、F(x、y)+αの符号
    を調べる手段と、 (m) 手段(k)においてαの符号が負又はβの符号が
    正と判定されたときに、F(x、y)+βの符号
    を調べる手段と、 (n) 手段(1)においてF(x、y)+αの符号が正と
    判定された場合、並びに手段(m)においてF(x、
    y)+βの符号が負と判定された場合に、点
    (x、y)に対してX方向またはY方向のどち
    らか一方に沿つて(+1)又は(−1)変位し
    た点を選択する手段と、 (o) 手段(1)においてF(x、y)+αの符号が負と
    判定された場合、並びに手段(m)においてF(x、
    y)+βの符号が正と判定された場合に、点
    (x、y)に対してX方向(+1)または(−
    1)およびY方向に(+1)又は(−1)変位
    した点を選択する手段と、 を含むことを特徴とする特許請求の範囲第1項記
    載の二次曲線信号発生装置。 5 (p)点(x、y)に対してX方向又はY方向の
    どちらか一方に沿つて(+1)又は(−1)変位
    した点を選択した後、F(x、y)、α及びβを次
    式に従つて更新する手段と、 F(x、y)=F(x、y)+β α=α+T2 β=β+T1 ここでT1は、 第1オクタントでは2a(=β(x+1、y)−β
    (x、y)) 第2オクタントでは2a(=β(x+1、y)−β
    (x、y)) 第3オクタントでは2c(=β(x、y−1)−β
    (x、y)) 第4オクタントでは2c(=β(x、y−1)−β
    (x、y)) 第5オクタントでは2a(=β(x−1、y)−β
    (x、y)) 第6オクタントでは2a(=β(x−1、y)−β
    (x、y)) 第7オクタントでは2c(=β(x+1、y)−β
    (x、y)) 第8オクタントでは2c(=β(x+1、y)−β
    (x、y)) T2は、 第1オクタントでは2a+b(=α(x+1、y)
    −α(x、y)) 第2オクタントでは2a−b(=α(x+1、y)
    −α(x、y)) 第3オクタントでは2c−b(=α(x、y−1)
    −α(x、y)) 第4オクタントでは2c+b(=α(x、y−1)
    −α(x、y)) 第5オクタントでは2a+b(=α(x−1、y)
    −α(x、y)) 第6オクタントでは2a−b(=α(x−1、y)
    −α(x、y)) 第7オクタントでは2c−b(=α(x+1、y)
    −α(x、y)) 第8オクタントでは2c+b(=α(x+1、y)
    −α(x、y)) (q)点(x、y)に対してX方向に(+1)又は
    (−1)及びY方向に(+1)又は(−1)変位
    した点を選択した後、F(x、y)、α及びβを次
    式に従つて更新する手段と、 F(x、y)=F(x、y)+α α=α+T3 β=β+T2 ここでT2は、 第1オクタントでは2a+b(=β(x+1、y
    +1)−β(x、y)) 第2オクタントでは2a−b(=β(x+1、y
    −1)−β(x、y)) 第3オクタントでは2c−b(=β(x+1、y−
    1)−β(x、y)) 第4オクタントでは2c+b(=β(x−1、y−
    1)−β(x、y)) 第5オクタントでは2a+b(=β(x−1、y
    −1)−β(x、y)) 第6オクタントでは2a−b(=β(x−1、y
    +1)−β(x、y)) 第7オクタントでは2c−b(=β(x−1、y+
    1)−β(x、y)) 第8オクタントでは2c+b(=β(x+1、y+
    1)−β(x、y)) T3は、 第1オクタントでは2a+2c+2b(=α(x+1、
    y+1)−α(x、y)) 第2オクタントでは2a+2c−2b(=α(x+1、
    y−1)−α(x、y)) 第3オクタントでは2a+2c−2b(=α(x+1、
    y−1)−α(x、y)) 第4オクタントでは2a+2c+2b(=α(x−1、
    y−1)−α(x、y)) 第5オクタントでは2a+2c+2b(=α(x−1、
    y−1)−α(x、y)) 第6オクタントでは2a+2c−2b(=α(x−1、
    y+1)−α(x、y)) 第7オクタントでは2a+2c−2b(=α(x−1、
    y+1)−α(x、y)) 第8オクタントでは2a+2c+2b(=α(x+1、
    y+1)−α(x、y)) を含むことを特徴とする特許請求の範囲第2項、
    第3項又は第4項に記載の二次曲線信号発生装
    置。
JP60100672A 1985-05-14 1985-05-14 二次曲線信号発生装置 Granted JPS61261779A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP60100672A JPS61261779A (ja) 1985-05-14 1985-05-14 二次曲線信号発生装置
EP86105380A EP0201754A3 (en) 1985-05-14 1986-04-18 Method for generating quadratic curve signals
US06/862,901 US4789954A (en) 1985-05-14 1986-05-13 Method for generating quadratic curve signal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60100672A JPS61261779A (ja) 1985-05-14 1985-05-14 二次曲線信号発生装置

Publications (2)

Publication Number Publication Date
JPS61261779A JPS61261779A (ja) 1986-11-19
JPH0523439B2 true JPH0523439B2 (ja) 1993-04-02

Family

ID=14280252

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60100672A Granted JPS61261779A (ja) 1985-05-14 1985-05-14 二次曲線信号発生装置

Country Status (3)

Country Link
US (1) US4789954A (ja)
EP (1) EP0201754A3 (ja)
JP (1) JPS61261779A (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63186385A (ja) * 1987-01-28 1988-08-01 Mita Ind Co Ltd だ円パタ−ン発生装置
EP0349630A1 (en) * 1987-12-18 1990-01-10 Digital Equipment Corporation Method of drawing in graphics rendering system
US4935880A (en) * 1987-12-24 1990-06-19 Digital Equipment Corporation Method of tiling a figure in graphics rendering system
US5313227A (en) * 1988-04-15 1994-05-17 International Business Machines Corporation Graphic display system capable of cutting out partial images
US4941116A (en) * 1988-07-15 1990-07-10 Honeywell Inc. Elliptical arc generator for display systems
FR2646257B1 (fr) * 1989-04-24 1991-08-23 Digital Equipment Int Procede d'affichage d'arcs de courbes parametriques polynomiales, sur un support de visualisation d'un moyen d'affichage relie a un ordinateur
US5495160A (en) * 1993-12-06 1996-02-27 Reliance Electric Company Digital sine wave generator and motor controller
US5739818A (en) * 1995-05-31 1998-04-14 Canon Kabushiki Kaisha Apparatus and method for performing perspectively correct interpolation in computer graphics
JP7172420B2 (ja) * 2018-10-15 2022-11-16 株式会社ニューフレアテクノロジー 描画データ生成方法及びマルチ荷電粒子ビーム描画装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3917932A (en) * 1970-03-24 1975-11-04 Yaskawa Denki Seisakusho Kk Generation of digital functions
JPS5386122A (en) * 1977-01-07 1978-07-29 Nippon Telegr & Teleph Corp <Ntt> Pattern signal generator
US4272808A (en) * 1979-05-21 1981-06-09 Sperry Corporation Digital graphics generation system
US4484298A (en) * 1981-04-30 1984-11-20 Yokogawa Hokushin Electric Corporation Method and device for generation of quadratic curve signal
US4692887A (en) * 1983-05-10 1987-09-08 Casio Computer Co., Ltd. Circle and circular arc generator

Also Published As

Publication number Publication date
US4789954A (en) 1988-12-06
EP0201754A2 (en) 1986-11-20
JPS61261779A (ja) 1986-11-19
EP0201754A3 (en) 1990-07-25

Similar Documents

Publication Publication Date Title
KR0167618B1 (ko) 문자 발생 장치 및 방법
JP3318914B2 (ja) ベツィエスプラインをレンダリングするためのシステムおよび方法
JPS646476B2 (ja)
JPH0523439B2 (ja)
JP2761890B2 (ja) 線発生装置及びディスプレイ装置
JPH05269956A (ja) 任意の線に沿って組版する電子組版装置
JP2507812B2 (ja) 平方根計算方法
JPS6232519B2 (ja)
JP2768331B2 (ja) 曲線の直線近似装置
JPS63140382A (ja) 円類の多角形近似描画方法
JPH1049691A (ja) ベジェ曲線による点列トレースの方法および装置
JPS60203862A (ja) スペクトル・デ−タの表示制御方式
JP3505970B2 (ja) 入力位置座標補正方法
JP3254770B2 (ja) 丸文字発生装置
JP2959612B2 (ja) ドットパターンからのベクトル座標発生方法及び装置
JP3108582B2 (ja) 太め細め文字の生成装置
JPH10275240A (ja) 円弧補間処理方法
JPH06274308A (ja) ベジェ曲線均等肉付け作成処理方法
JPH06103383A (ja) 円弧作成装置
JPH0887598A (ja) パターン認識方式
JPH01249464A (ja) ドットパターン変換装置
JPH0535912B2 (ja)
JPH0776988B2 (ja) 直線描画装置
JPH0687266B2 (ja) 曲線発生装置
JPH103549A (ja) 発音体識別支援装置