JPS60252950A - Generation of digital segment signal - Google Patents

Generation of digital segment signal

Info

Publication number
JPS60252950A
JPS60252950A JP10900684A JP10900684A JPS60252950A JP S60252950 A JPS60252950 A JP S60252950A JP 10900684 A JP10900684 A JP 10900684A JP 10900684 A JP10900684 A JP 10900684A JP S60252950 A JPS60252950 A JP S60252950A
Authority
JP
Japan
Prior art keywords
coordinate
dot
register
changed
whose
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
JP10900684A
Other languages
Japanese (ja)
Other versions
JPH0522946B2 (en
Inventor
Naoki Sano
直樹 佐野
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Hokushin 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 Yokogawa Hokushin Electric Corp filed Critical Yokogawa Hokushin Electric Corp
Priority to JP10900684A priority Critical patent/JPS60252950A/en
Publication of JPS60252950A publication Critical patent/JPS60252950A/en
Publication of JPH0522946B2 publication Critical patent/JPH0522946B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)

Abstract

PURPOSE:To produce a digital segment connecting the start and end points at a high speed and high accuracy by changing a dynamically the larger coordinate in both differences in absolute value at the start and end points, every 1 or 2 according to the condition. CONSTITUTION:Both X and Y coordinates of the start and end points of a digital segment are set to a command register 11 and started. Thus a control part 4 reads out successively the parameters set at the register 11 and stores them to a register of a register arithmetic part 3. Then various parameter values needed for generation of segments are calculated. The larger coordinates of both absolute values of differences DELTAX and DELTAY of the start and end points are changed dynamically by 1 and 2 according to the conditions. In the case of a change by 2, an optimum dot preceding by two steps is decided by the decision of conditions. At the same time, an optimum dot preceding by one step is decided clearly regardless of the decision of conditions.

Description

【発明の詳細な説明】 (技術分野) 本発明は、グラフィクディスプレイ装置や、数値制御工
作機械環に使用されるディジタル線分信号発生方法に関
するものである。
DETAILED DESCRIPTION OF THE INVENTION (Technical Field) The present invention relates to a method for generating digital line segment signals used in graphic display devices and numerically controlled machine tool rings.

(従来技術) グラフィクディスプレイ装置や数値制御工作機械等の分
野では、ディジタル線分やディジタル円弧等の線図形を
高速・高精度で発生する必要がある。このため、これま
で各種の図形発生アルゴリズムが開発されてきた。
(Prior Art) In fields such as graphic display devices and numerically controlled machine tools, it is necessary to generate line figures such as digital line segments and digital arcs at high speed and with high precision. For this reason, various graphic generation algorithms have been developed.

従来のディジタル線分発生法として、Bramenha
mの方法がよく用いられている。
As a conventional digital line segment generation method, Bramenha
The method of m is often used.

Bresanhamの方法は、例えば、山ロ富士夫:l
コンピュータ・ディスプレイによる図形処理工学1日刊
工業新聞社 昭和57年に記載されており、高速・高精
度でかつ簡単なノ・−ドウエアでディジタル線分(以下
、単に線分と呼ぶ)を発生できる方法として知られてい
る。
Bresanham's method is used, for example, by Fujio Yamaro:
Graphic processing engineering using computer displays 1 Nikkan Kogyo Shimbun Publishing Co., Ltd. Described in 1982, this is a method that can generate digital line segments (hereinafter simply referred to as line segments) with high speed, high precision, and simple hardware. known as.

Bresenhamの方法μ、線分の始点と終点のそれ
ぞれのX座標、Y座標の差の絶対値のうち、大きい方の
座標は1ずつ変化させ、他の座標は、真値に最も近いデ
ィジタル値を選ぶというやり方である。
Bresenham's method μ, of the absolute values of the differences between the X and Y coordinates of the starting point and ending point of the line segment, the larger coordinate is changed by 1, and the other coordinates are set to the digital value closest to the true value. It's a way of choosing.

第9図に、線分の始点をPO(XD、 YO) 、終点
をPl(Xi、 Yl)とし、Δx=x+−xo、ΔY
== yt −YOより、0〈ΔYくΔXの場合におけ
るBremenhamの方法による線分の発生例を示す
In Figure 9, the starting point of the line segment is PO (XD, YO), the ending point is Pl (Xi, Yl), and Δx=x+-xo, ΔY
An example of the generation of a line segment according to Bremenham's method in the case of 0<ΔY×ΔX from == yt −YO will be shown.

この場合、1番目のX値IX (i) F′i、IXI
)=IX(+−1)+1で定められる。またIX(1−
1) において、Yの真値とIY(1−1)の誤差をE
(1−1)とすれば、IX(i)におけるE(1)は、
E(+)= E (1−1)+ΔVΔXとなり、E(+
)<o、sならばIY(1)= IY(i−1) E(
+)≧0.5 ならばIY(1)= IY(1−1) 
+ 1の様にIYO)が決定される。
In this case, the first X value IX (i) F′i, IXI
)=IX(+-1)+1. Also, IX(1-
1), the error between the true value of Y and IY(1-1) is expressed as E
(1-1), E(1) in IX(i) is
E(+)=E(1-1)+ΔVΔX, and E(+
) < o, s, then IY(1) = IY(i-1) E(
+)≧0.5 then IY(1)=IY(1-1)
IYO) is determined as +1.

Y値が+1インクリメントされた場合には、E(1)は
1だけ減じておく必要がある。
If the Y value is incremented by +1, E(1) needs to be decreased by 1.

第10図K Breaenhamのアルゴリズムの原理
図を示す。第11図は、第10図の変形であり、すべて
の変数が整数で除算が不要となるように簡単化したもの
である。一般にBrasanhamの方法という場合に
は、第11図のタイプを指す。
FIG. 10 shows a diagram of the principle of K Breaenham's algorithm. FIG. 11 is a modification of FIG. 10, simplified so that all variables are integers and no division is necessary. Generally, the Brasanham method refers to the type shown in FIG.

しかし、このやり方は、1ド、ト、進む毎に毎回、誤差
IEICよる符号判定とIEの更新を行なう必要がある
ため、線分の発生速度がいまひとつ上がらないという問
題点がある。
However, this method has the problem that the line segment generation speed cannot be increased any further because it is necessary to perform sign determination using the error IEIC and update the IE every time the line advances one step.

(本発明の目的) 本発明は、この様な従来技術における問題点に鑑みてな
されたもので、その目的は、始点と終点を結ぶ、ディジ
タル線分を高速・高精度でかつ、できるだけ簡単な構成
で発生できるディジタル線分発生方法を提供しようとす
るものである。
(Objective of the present invention) The present invention was made in view of the problems in the prior art, and its purpose is to create a digital line segment connecting a starting point and an ending point at high speed, with high precision, and in the simplest possible way. The purpose of this invention is to provide a method for generating digital line segments that can be generated with a configuration.

(本発明の構成) このような目的を達成する本発明の構成は、次の(a)
〜(e)の各工程を含んで、始点と終点を結ぶディジタ
ル線分信号を発生するようにしている。すなわち、 (a) 始点と終点のX座標、Y座標のそれぞれの差Δ
X、ΔYの絶対値を比較する工程。
(Configuration of the present invention) The configuration of the present invention that achieves the above object is as follows (a)
The steps (e) are included to generate a digital line segment signal connecting the starting point and the ending point. That is, (a) Difference Δ between the X and Y coordinates of the starting point and the ending point, respectively.
A process of comparing the absolute values of X and ΔY.

(b) (a)の工程において、1ΔX1≧1ΔYIの
場合、217Ylと1ΔX1を比較する工程。
(b) In the step (a), if 1ΔX1≧1ΔYI, a step of comparing 217Yl and 1ΔX1.

(c) (b)の工程において、2IΔY1<1ΔX1
の時には、1つ前に選択したドツトと現在のドツトのY
座標の差Dxが1ならば、現在のドツトのX座標を2つ
だけ変化させ、Y座標の変化分の絶対値Kxが0.5以
上なら、次の連続する2つのドツトとして、X座標が1
だけ変化し九ド、トとX座標が2.Y座標が1だけ変化
したドツトを選択し次にX座標を2だけ変化させ、また
Kxが0.5未満なら次の連続する2つのドツトとして
、X座標が1だけ変化したドツトと、X座標が2だけ変
化したドツトを選択し、次KX座標を1だけ変化させ、
一方、Dxが0ならば、現在のドツトのX座標を1だ行
使化させ、KXがO,S以上なら次のドツトとして、X
座標が1.Y座標が1だけ変化し九ド、トを選択し、次
KX座標を2だけ変化させ、また匂が0.5未満なら、
次のドツトとしてX座標が1だけ変化したドツトを選択
し、次KX座標を1だけ変化させる工程。
(c) In the step (b), 2IΔY1<1ΔX1
When , the Y of the previous selected dot and the current dot
If the coordinate difference Dx is 1, the X coordinate of the current dot is changed by two, and if the absolute value Kx of the change in the Y coordinate is 0.5 or more, the X coordinate is changed as the next two consecutive dots. 1
The only change is 9 do, g and the x coordinate is 2. Select the dot whose Y coordinate has changed by 1, then change the X coordinate by 2, and if Kx is less than 0.5, select the dot whose X coordinate has changed by 1 and the X coordinate as the next two consecutive dots. Select the dot whose value has changed by 2, change the next KX coordinate by 1,
On the other hand, if Dx is 0, the X coordinate of the current dot is set to 1, and if KX is greater than or equal to O,S, the next dot is
The coordinates are 1. If the Y coordinate changes by 1, select 9 Do, G, then change the KX coordinate by 2, and if the odor is less than 0.5,
The process of selecting a dot whose X coordinate has changed by 1 as the next dot, and changing the next KX coordinate by 1.

(d) (b)の工程において、21ΔY1≧1ΔX1
の時には、Dxが0ならは、現在のドツトのX座標を2
だけ変化させ、Kxが1.5未満なら、次の連続する2
つのドツトとして、X座標が1.Y座標が1だけ変化し
六ド、トと、X座標が2.Y座標が1だけ変化し六ドツ
トを選択し、次KX座標を2だけ変化させ、またKxが
1.5以上なら次の連続する2つのドツトとして、X座
標が1.Y座標、が1だけ変化したドツトとX座標が2
.Y座標が2だけ変化したドツトを選択し、次にX座標
を1だけ変化させ、DXが1ならば、現在のドツトのX
座標を1だけ変化させ、Kxが0.5未満なら、次のド
ツトとして、X座標が1だけ変化したドツトを選択し、
次KX座標を2だけ変化させ、また、Kxが0.5以上
なら、次のドツトとして、X座標がj、Y座標が1だけ
変化したドツトを選択し、次KX座標を1だけ変化させ
る工程。
(d) In the step (b), 21ΔY1≧1ΔX1
If Dx is 0, set the current dot's X coordinate to 2.
If Kx is less than 1.5, the next consecutive 2
As two dots, the X coordinate is 1. The Y coordinate changes by 1, and the X coordinate changes by 2. The Y coordinate changes by 1 and 6 dots are selected, the next KX coordinate is changed by 2, and if Kx is 1.5 or more, the next two consecutive dots are selected and the X coordinate is 1. A dot whose Y coordinate changes by 1 and whose X coordinate changes by 2.
.. Select the dot whose Y coordinate has changed by 2, then change the X coordinate by 1, and if DX is 1, the current dot's
If the coordinates are changed by 1 and Kx is less than 0.5, select the dot whose X coordinate has changed by 1 as the next dot,
Step of changing the next KX coordinate by 2, and if Kx is 0.5 or more, select a dot whose X coordinate has changed by j and Y coordinate by 1 as the next dot, and changing the next KX coordinate by 1. .

(e) (a)の工程において、1ΔX1く1Δyl 
ノ場合には、さらに21ΔX1と1ΔY1 を比較し、
21ΔX1〈1ΔY1と21ΔX1≧1ΔY1の2つに
場合分け、X座標とY座標の関係を入れ替え、X座標の
代わりKY座標を1ないし2だけ変化させ、以後前記工
程に)(1ΔX1≧1ΔY1 の場合)と同様の工程を
行なう工程。
(e) In the step (a), 1ΔX1 × 1Δyl
In this case, further compare 21ΔX1 and 1ΔY1,
Divide into two cases: 21ΔX1<1ΔY1 and 21ΔX1≧1ΔY1, swap the relationship between the X and Y coordinates, change the KY coordinate by 1 or 2 instead of the X coordinate, and repeat the above process thereafter) (in the case of 1ΔX1≧1ΔY1) A process that performs the same process as.

(実施例) 第1図は、本発明の方法を実現するための装置の構成ブ
ロック図でおる。この装置L1人力制御部1.出力部2
.レジスタ演算部3及びマイクロプログラム制御部4の
各主要部分で構成されている。
(Embodiment) FIG. 1 is a block diagram showing the configuration of an apparatus for implementing the method of the present invention. This device L1 manual control section 1. Output section 2
.. It is composed of the main parts of a register operation section 3 and a microprogram control section 4.

入力制御部1.出力部2.レジスタ演算部3の各部分は
、内部バスABKよって相互に連結されている。入力制
御部1はシステムバスSBを経由して与えられた上位の
計算機等(図示せず)からの初期値設定を制御する所で
ある。出力部2は、画像メモリ等の外部表示装置(図示
せず)に、XY座標値を出力する部分でXレジスタ21
.Yレジスタ22を有し、X、Yレジスタへは内部Aバ
スABを経由して、それぞれの値がセットされる。レジ
スタ演算部3は、数値演算を行なう所であり、RALU
 (レジスタ&アリスメティツタ・ロジカル・ユニ。
Input control section 1. Output section 2. Each part of the register operation section 3 is interconnected by an internal bus ABK. The input control unit 1 is a part that controls initial value settings from a higher-level computer or the like (not shown) provided via the system bus SB. The output unit 2 is a part that outputs XY coordinate values to an external display device (not shown) such as an image memory, and has an X register 21.
.. It has a Y register 22, and respective values are set in the X and Y registers via an internal A bus AB. The register calculation unit 3 is a place where numerical calculations are performed, and the RALU
(Register & Arismetituta Logical Uni.

ト)月とスティタスレジスタ32より形成される。g) It is formed by the month and the status register 32.

RALU 51では、複数個の内部レジスタ53を有し
、レジスタ間で、論理算術演算(例えば、加減算、アン
ド、オア、シフト演算等)を実行する。スティタスレジ
スタ32tri、RALU 31での演算結果における
各種スティタス(オーバーフロー、キャリー。
The RALU 51 has a plurality of internal registers 53, and performs logical arithmetic operations (eg, addition/subtraction, AND, OR, shift operations, etc.) between the registers. Various statuses (overflow, carry) in the operation results in the status register 32tri and RALU 31.

サイン・ゼロフラグ等)を一時、保持し、後述のマイク
ロプログラム制御部4に入力する。マイクロプログラム
制御部4は、全体の制御及び線分発生のアルゴリズムを
実行する所で、パイプライン・レジスタ41、マイクロ
プログラムメモリ42、アドレスシーケンサ45及びレ
ジスタ演算部5のスティタスレジスタ52からの信号を
切換入力するマルチプレクサ44を含んで構成されてい
る。パイプライン・レジスタ41ハ、マイクロプログラ
ム・メモリ42からの出力を保持し、上述の、入力制御
部1゜出力部2、レジスタ演算部3の各部分へマイクロ
命令を供給する。マイクロプログラムでの条件付分岐は
、マルチプレクサ44においてスティタス・レジスタ3
2からの各種スティタスの内、1つを選択し、アドレス
・シーケンサ45に入力することによって行なわれる。
(sign/zero flags, etc.) are temporarily held and input to the microprogram control unit 4, which will be described later. The microprogram control unit 4 executes the overall control and line segment generation algorithm, and switches signals from the pipeline register 41, the microprogram memory 42, the address sequencer 45, and the status register 52 of the register calculation unit 5. It is configured to include a multiplexer 44 for input. A pipeline register 41 holds the output from the microprogram memory 42 and supplies microinstructions to each of the above-mentioned input control section 1, output section 2, and register operation section 3. A conditional branch in the microprogram is executed by the status register 3 in the multiplexer 44.
This is done by selecting one of the various statuses from 2 and inputting it to the address sequencer 45.

このように構成した装置における動作を次に説明する。The operation of the apparatus configured in this way will be described next.

ます、本発明によるディジタル線分発生方法のアルゴリ
ズムの原理を説明する。
First, the principle of the algorithm of the digital line segment generation method according to the present invention will be explained.

本発明の方法に、前述のBr@sanhamのアルゴリ
ズムを改良したものである。Bresanhamのアル
ゴリズムでは、始点と終点のそれぞれの差ΔX、ΔYの
絶対値の内、大きい方の座標は1ずつ変化させ、他の座
標は真値に鏝も近いディジタル値を選ぶことによシ、始
点を含むすでに選択したドツトの次に選択すべきドツト
(最適なドツト)を1ドツトずつ、生成しているのに対
し、本発明の方法では、大きい方の座標は、条件により
1ないし2ずつ、ダイナミツ夕に変化させ、2だけ変化
させた場合に、条件判定により2つ先の最適ドツトを決
定すると同時1c、1つ先の最適ドツトを条件判定によ
らず、一義的に決定している。すなわち、大きい方の座
標を2だけ変化させた場合には、すでに選択したドツト
の次の最適なドツトとして、連続する2つのドツトが一
度に生成できる。
The method of the present invention is an improvement on the above-mentioned Br@sanham algorithm. In Bresanham's algorithm, among the absolute values of the differences ΔX and ΔY between the starting point and the ending point, the larger coordinate is changed by 1, and the other coordinates are selected as digital values that are close to the true value. While the dots to be selected next to the already selected dots (including the starting point) (optimal dots) are generated one dot at a time, in the method of the present invention, the larger coordinates are generated in increments of 1 or 2 depending on the conditions. , when dynamically changing and changing by 2, the optimum dot two places ahead is determined by the condition judgment, and at the same time, the optimum dot one place ahead is determined uniquely, regardless of the condition judgment. . That is, if the larger coordinate is changed by 2, two consecutive dots can be generated at once as the next optimal dot after the already selected dot.

第2図に、本発明方法のアルゴリズムの原理図を、O≦
ΔY≦ΔXの場合について示す。傾きm=J′VjXよ
り、0≦m(0,5と0.5≦m≦1の各々の場合にお
いて異なるアルゴリズムとしている。すなわち、 (1)0≦m(0,5の場合 (t−+) E(t)≧0.5ならば、最適ドツト1r
x(+)=rx(t−1)+1. IY(1)=xY(
1−1)+1z 2 IX(++1)=IX(1)+1
. IY(1+1)=IY(1)IY 誤差 K(++z)=E(1)−1+2−Fj−(1−
2) E(i)〈o、sならば、最適ドツトI IX(
1)=IX(1−1)+1.IY(μ)=IY(i−1
)IY 誤差 E(!+1)=E(1)+π (2) o、s≦m≦1の場合 (2−1”) DI)≧0.5ならば、最適ドツト11
X(1)=IX(1−1)+1. IY(1)=IY(
1−1)+1ΔY 誤差 B(++1)=K(1)−1+7で(2−2) 
E(1)〈0.5ならば、最適ドツト1rx(s)=x
x(+−1)+1. ry(+)=Iy(+−1)2 
xx(++1)=xx(+)++、 IY(1+1)=
IY(+)+1ΔY 誤差 E(1+2)=E(1)−1+2T5j−を満足
する様に、最適ドツトのX、Y座標が決定される。
FIG. 2 shows the principle diagram of the algorithm of the method of the present invention.
The case of ΔY≦ΔX will be shown. From the slope m=J'Vj +) If E(t)≧0.5, the optimal dot 1r
x(+)=rx(t-1)+1. IY(1)=xY(
1-1)+1z 2 IX(++1)=IX(1)+1
.. IY(1+1)=IY(1)IY Error K(++z)=E(1)-1+2-Fj-(1-
2) If E(i)〈o, s, then optimal dot IIX(
1)=IX(1-1)+1. IY(μ)=IY(i-1
)IY Error E(!+1)=E(1)+π (2) If o, s≦m≦1 (2-1”) If DI)≧0.5, optimal dot 11
X(1)=IX(1-1)+1. IY(1)=IY(
1-1) +1ΔY error B(++1)=K(1)-1+7 (2-2)
If E(1)<0.5, then optimal dot 1rx(s)=x
x(+-1)+1. ry(+)=Iy(+-1)2
xx(++1)=xx(+)++, IY(1+1)=
The X and Y coordinates of the optimal dot are determined so as to satisfy IY(+)+1ΔY error E(1+2)=E(1)-1+2T5j-.

第2図において、Eの代わりに、2ΔX・(g−o、s
)倍した量rEを用いることにすれば、すべての変数が
整数で除算が不要とカリ、またIKと0.5の大小比較
を行なう代わりIc、IEの符号判定で済むので、アル
ゴリズムが簡単になり、ハードウェア化が容易になる。
In Figure 2, instead of E, 2ΔX・(go, s
) By using the multiplied quantity rE, all variables are integers and no division is necessary, and instead of comparing the magnitude of IK and 0.5, it is enough to check the sign of Ic and IE, which simplifies the algorithm. This makes it easy to implement in hardware.

このアルゴリズムを第5図に示す。This algorithm is shown in FIG.

次に、第3図のフローチャートを用いて、O≦ΔY≦Δ
Xの場合における本発明の方法について、第1図線分発
生器の動作を説明する。図示してない上位の計算機等よ
り、システムバスSBを経由して、ディジタル線分の始
点(xo、yo)と終点(X+、 yl)のX、Y座標
をコマンドレジスタ11にセットし、入力制御s12に
対してスタート起動をかける。スタート起動がかかると
、マイクロプログラム制御部4でキコマンドレジスタ1
1にセットされたパラメータXO,YO,Xl、 Yl
を順次読出し、内部人バスABを経由して、レジスタ演
算部3内のレジス、りRXO,RYO,RXj 、 R
Yjにそれぞれ格納する。レジスタ演算部3ij、レジ
スタRXO,RYO,RXl。
Next, using the flowchart in Figure 3, O≦ΔY≦Δ
Regarding the method of the present invention in the case of X, the operation of the line segment generator shown in FIG. 1 will be explained. A host computer (not shown) sets the X and Y coordinates of the start point (xo, yo) and end point (X+, yl) of the digital line segment in the command register 11 via the system bus SB, and performs input control. A start activation is applied to s12. When a start is activated, the microprogram control unit 4 sets the key command register 1.
Parameters set to 1: XO, YO, Xl, Yl
are read out sequentially, and the registers in the register calculation unit 3 are read out via the internal bus AB, RXO, RYO, RXj, R.
Each is stored in Yj. Register operation unit 3ij, registers RXO, RYO, RXl.

RYlの値を用い線分発生に必要な各種パラメータの値
を計算する。そして、レジスタRXO,RYO。
Using the value of RYl, the values of various parameters necessary for line segment generation are calculated. And registers RXO and RYO.

RXl、R1の値よりIX = Xl −XO,ΔY=
 Yl −YOを計算しレジスタR(IX)IR(IY
)Kそれぞれ格納する。
From the values of RXl and R1, IX = Xl -XO, ΔY=
Calculate Yl - YO and register R (IX) IR (IY
)K respectively.

また、レジスタR(Δx)、R(IY)の値よシ、2Δ
X。
Also, the values of registers R(Δx) and R(IY) are 2Δ
X.

2ΔY、4ΔYを計算し、レジスタR(2ΔX)、R(
2ΔY)lR(4ΔY)にそれぞれ格納する。また、レ
ジスタR(IX)。
Calculate 2ΔY, 4ΔY, register R(2ΔX), R(
2ΔY)lR(4ΔY). Also, register R(IX).

R(2ΔX)、 R(2ΔY)、 R(4ΔY)の値よ
シ、4ΔY−IX。
The values of R(2ΔX), R(2ΔY), and R(4ΔY) are 4ΔY−IX.

2ΔY−2ΔX、4ΔY−2ΔXを計算し、レジスタR
(4ΔY−IX)ll(27Y−2ΔX)、 R(4Δ
Y−2ΔX)Kそれぞれ格納する。続いて、レジスタ演
算部3及びマイクロプログラム制御4は、次の手順で、
線分を発生させる。なお、説明文前の0内の符号は、第
3図フローチャートの手順を示す符号に対応している。
Calculate 2ΔY-2ΔX, 4ΔY-2ΔX, and register R
(4ΔY-IX)ll(27Y-2ΔX), R(4Δ
Y-2ΔX)K are stored respectively. Subsequently, the register calculation unit 3 and the microprogram control 4 perform the following steps.
Generate a line segment. Note that the code in 0 before the explanatory text corresponds to the code indicating the procedure in the flowchart of FIG.

(d−1) まずレジスタR(4ΔY−IX)の内容を
レジスタRIEに格納する。
(d-1) First, the contents of register R (4ΔY-IX) are stored in register RIE.

(d−2) レジスタRXO,RYOの内容をレジスタ
RIX。
(d-2) The contents of registers RXO and RYO are stored in register RIX.

RIYに格納する。Store in RIY.

(d−5) レジスタRIEとレジスタR(IX)の内
容の大小比較を行ない(RIE )≧(R(ΔX)〕(
〔〕はレジスタの内容を意味する)の場合には、手順(
d−+a)以降を実行し、(RIK)〈〔R(ΔX) 
)の場合KFi手順(d−4)以降を実行する。
(d-5) Compare the contents of register RIE and register R (IX) and find (RIE) ≧ (R (ΔX)) (
[ ] means the contents of the register), the procedure (
Execute d-+a) and subsequent steps, (RIK)〈[R(ΔX)
), the KFi procedure (d-4) and subsequent steps are executed.

(d−4) 出力動作を行なう。具体的には、レジスそ
れぞれセットし、X、Yレジスタで指定される画儂メモ
リのドツト位置に書込みを行なう。
(d-4) Perform output operation. Specifically, each register is set and writing is performed at the dot position in the image memory specified by the X and Y registers.

(d−5) レジスタRIXとレジスタRX1の内容の
照合チェックを行なう。ここでもし、等しい場合には線
分発生動作を終了する。等しくない場合には、手順(d
−6)以降を実行する。
(d-5) Check the contents of register RIX and register RX1. Here, if they are equal, the line segment generation operation is ended. If they are not equal, the procedure (d
-6) Execute the following steps.

(d−6) VジスタRIXの内容を+1インクリメン
トする。
(d-6) Increment the contents of V register RIX by +1.

(d−7) (d−4)と同じ出力動作を行なう。(d-7) Perform the same output operation as (d-4).

(d−a) (d−5)と同様にレジスタRIXとレジ
スタRXIの内容の照合チェックを行ない、等しい場合
には線分発生動作を終了し、等しくない場合には手順(
d−9)以降を実行する。
(d-a) Similar to (d-5), the contents of register RIX and register RXI are checked against each other, and if they are equal, the line segment generation operation is terminated, and if they are not equal, the procedure (
Execute d-9) and subsequent steps.

(d−9) レジスタRIEの内容を+1インクリメン
トする。
(d-9) Increment the contents of register RIE by +1.

(d−+O) レジスタRIEの内容の符号判定を行な
う。
(d-+O) Check the sign of the contents of register RIE.

(RIE )≧00場合には、手順(d−11)以降を
(RIE)(0の場合には手1K (d−1s)を実行
する。
If (RIE)≧00, execute step (d-11) and subsequent steps (RIE) (if 0, move 1K (d-1s)).

(d−+1) し・クスタRIYの内容を+1インクリ
メントする。
(d-+1) Increment the contents of Custar RIY by +1.

(d−12) レジスタRIIHの内容に、し・ジスタ
R(4ΔY−2ΔX)の内容を加算する。その後、手順
(a−a)以降ヲ、レジスタRIXとレジスタRX1の
内容が等しくなるまで繰り返す。
(d-12) Add the contents of register R (4ΔY-2ΔX) to the contents of register RIIH. Thereafter, steps (a-a) and subsequent steps are repeated until the contents of register RIX and register RX1 become equal.

(d−1s) レジスタRIEの内容にレジスタ(2Δ
Y)の内容を加算する。その彼、手1K(d−7)以降
を、レジスタRIXとレジスタRX1の内容が等しくな
るまで繰シ返す。
(d-1s) Register (2Δ
Add the contents of Y). He then repeats steps 1K (d-7) and subsequent steps until the contents of register RIX and register RX1 become equal.

0.5≦mE(ΔY/ΔX)≦1の場合(d−U) レ
ジスタRIEの内容からレジスタR(2ΔX)のの内容
を減算する。
When 0.5≦mE (ΔY/ΔX)≦1 (d-U) The contents of register R (2ΔX) are subtracted from the contents of register RIE.

(a−1s) 手11(d−4)と同じ出力動作をする
(a-1s) Performs the same output operation as hand 11 (d-4).

(d−+6) 手1K(d−5)と同様にレジスタRI
XとレジスタRX1の内容の照合チェ、りを行ない、等
しい場合には線分発生動作を終了し、等しくない場合に
は手11R(a−17)以降を実行する。
(d-+6) Similarly to hand 1K (d-5), register RI
A check is performed between X and the contents of the register RX1, and if they are equal, the line segment generation operation is ended, and if they are not equal, steps 11R (a-17) and subsequent steps are executed.

(d−17) レジスタRIYの内容を+1インクリメ
ン(d−+p) 手11(d−4)と同じ出力動作をす
る。
(d-17) Increment the contents of register RIY by +1 (d-+p) Perform the same output operation as step 11 (d-4).

(d−2o) 手Ill (d−5)と同様にレジスタ
RIXとレジスタRX1の内容の照合チェックを行ない
、等しい場合Kに線分発生動作を終了し、等しくない場
合には手順(d−21)以降を実行する。
(d-2o) Similar to (d-5), the contents of register RIX and register RX1 are checked against each other, and if they are equal, the line segment generation operation ends at K. If they are not equal, proceed to step (d-21). ) and the rest.

(d−2+) レジスタRIXの内容を+1インクリメ
ントする。
(d-2+) Increment the contents of register RIX by +1.

(d−22) 手順(d−to)と同様にレジスタRI
Kの内容の符号判定を行なう。(RIE )≧0の場合
には手It Cd−25>を、(RIE ) (0の場
合には手@ (a−2S)を実行する。
(d-22) Similar to procedure (d-to), register RI
The sign of the contents of K is determined. If (RIE)≧0, execute move It Cd-25>; if (RIE) (0, execute move @ (a-2S)).

(d−2S) レジスタRIYの内容を+1インクリメ
ントする。
(d-2S) Increment the contents of register RIY by +1.

(d−24) レジスタRrEの内容にレジスタR(2
ΔY−2ΔX)の内容を加算する。その後、手順(d−
U)以降をレジスタRIXとレジスタRX1の内容が等
しくなるまで繰り返す。
(d-24) Add register R(2) to the contents of register RrE.
ΔY−2ΔX) is added. After that, step (d-
U) Repeat the following steps until the contents of register RIX and register RX1 become equal.

(d−2s) レジスタRIKの内容にレジスタR(4
ΔY−2ΔX)の内容を加算する。その後、手順(d−
1S)以降をレジスタRIXとレジスタRX+の内容が
等しくなるまで繰り返す。
(d-2s) Add register R(4) to the contents of register RIK.
ΔY−2ΔX) is added. After that, step (d-
1S) and subsequent steps are repeated until the contents of register RIX and register RX+ become equal.

この様な手順は、0≦m(0,5の場合には、手順(d
−tz)から手順(d−4)を経由して手順(d−7)
を実行する時に、0.5≦m≦1の場合には手順(d−
ZS)から手順(d−+S)を経由して手11j (d
−19)を実行する時にそれぞれ次の最適ドツトを、2
ΔX(E−0,5)倍した量IEによる符号判定によら
ず、無条件に生成しているのが特徴である。
Such a procedure is as follows: 0≦m (0,5, procedure (d
-tz) to step (d-7) via step (d-4)
When executing 0.5≦m≦1, the procedure (d-
ZS) to hand 11j (d
-19), each of the following optimal dots is
The feature is that it is generated unconditionally, regardless of the sign determination based on the amount IE multiplied by ΔX(E-0,5).

ここで、0≦m(0,5と0.5≦mSIの場合におけ
る線分発生器の動作の具体例を示す。
Here, a specific example of the operation of the line segment generator in the case of 0≦m(0,5 and 0.5≦mSI) will be shown.

(1)0≦m(0,5の場合 始点PO(1,2) 終点P1(12,7)(2) 0
.5≦m≦1の場合 始点po(+、 2) 終点PI(12,8)表11表
2にそれぞれの場合の、線分発生の過程でのIFi、 
XX、 IYの値を示す。
(1) 0≦m (if 0,5, start point PO(1,2) end point P1(12,7)(2) 0
.. When 5≦m≦1, start point po (+, 2) end point PI (12, 8) Table 11 Table 2 shows IFi in the process of line segment generation in each case,
Indicates the values of XX and IY.

表1 (始点PO(:1.2)、終点(12,7)の場
合の線l aay−2,Jx= −2 表2 (始点P・’(’+2L終点(+2.8)の場合
の線分発生の過程) また第4図、第5図にそれぞれの場合の線分発生例を示
す。なお第4図、第5図中の番号は表1゜表2のプロッ
ト番号に対応しておυ、丸印で囲んだ番号(■)に対応
するドツトはIEによる符号判定によらず、一義的に生
成している。
Table 1 (Line in case of starting point PO(:1.2), end point (12,7) Figures 4 and 5 show examples of line segment generation in each case.The numbers in Figures 4 and 5 correspond to the plot numbers in Tables 1 and 2. The dots corresponding to the numbers (■) surrounded by circles are uniquely generated regardless of the sign determination by the IE.

以上O≦ΔY≦ΔXの場合における本発生器の動作を0
≦2ΔYくΔXとΔX≦2ΔY≦2ΔXの2通りに分け
て説明したが、0≦ΔXくIYの場合にも、0≦2ΔX
くIYとΔY≦2ΔX(2ΔYの2通りに分け、X座標
とY座標の関係を入れ替え(X−+Y 、 y→X)、
X座標の代わシにY座標を1ないし2だけ変化させ、0
≦ΔY≦ΔXの場合と同様な動作を行なうことによシ、
ディジタル線分を発生させることが可能でおる。
The operation of this generator in the case of O≦ΔY≦ΔX is 0
Although we have explained it in two ways: ≦2ΔY ≦ ΔX and ΔX ≦ 2ΔY ≦ 2ΔX, in the case of 0 ≦ ΔX ≦ IY, 0 ≦ 2 ΔX
Divide into two ways, iY and ΔY≦2ΔX (2ΔY, and replace the relationship between the X and Y coordinates (X-+Y, y→X),
Instead of the X coordinate, change the Y coordinate by 1 or 2, and set it to 0.
By performing the same operation as in the case of ≦ΔY≦ΔX,
It is possible to generate digital line segments.

1I46図に0≦ΔX〈IYの場合の本発明の方法によ
るアルゴリズムのフローチャートを示ス。
Figure 1I46 shows a flowchart of the algorithm according to the method of the present invention when 0≦ΔX<IY.

以上ΔX≧0.ΔY≧0の場合について本発明の方法に
ついて説明を行なったが、(イ)ΔX≧0.ΔY(o、
(ロ) ΔXく0.ΔY≧0.(ハ) IYく0.Δy
(oの場合についても、 ΔX→1Δxl、ΔY→1ΔY1 ΔX<0)時 Ix4−IX+1→IX←lX−1ΔY
くθの時 IY+−IY+1−>IY4−IY−1とす
ることKよシ、同様K、ディジタル線分を高速・高精度
に発生することが可能である。
ΔX≧0. The method of the present invention has been explained for the case where ΔY≧0, but (a) when ΔX≧0. ΔY(o,
(b) ΔXku0. ΔY≧0. (c) IYku0. Δy
(Also in the case of o, when ΔX→1Δxl, ΔY→1ΔY1 ΔX<0) Ix4-IX+1→IX←lX-1ΔY
When θ is IY+-IY+1->IY4-IY-1, it is possible to generate digital line segments at high speed and with high precision.

なお、上記の説明では、終点の検出、すなわち、IX=
lfたはIY=Yiの検出をハードウェアを簡単にする
ために、レジスタ演算部5内のRALUでの演算による
マイクロプログラムによって実行したものであるが、こ
れに代えて、ハードウェアによって実現してもよい。
In addition, in the above explanation, the detection of the end point, that is, IX=
In order to simplify the hardware, the detection of lf or IY=Yi was executed by a microprogram based on calculations in the RALU in the register calculation unit 5, but instead of this, it can be realized by hardware. Good too.

第7図は、この場合の要部の構成ブロック図でちる。こ
の図において、5Fi終点検出部で、出力B2のXレジ
スタ21とYレジスタ22との出力を選択するセレクタ
51と、内部バスABを介して送られる終点データX1
また1iY1を格納するレジスタ52及びセレクタ51
で選択された信号とレジスタ52からの信号を比較し、
IX= XlまたはIY=Y1の検出を行なうコンパレ
ータ53で構成されている。
FIG. 7 is a block diagram of the main parts in this case. In this figure, in the 5Fi end point detection section, there is a selector 51 that selects the output of the X register 21 and Y register 22 of output B2, and end point data X1 sent via the internal bus AB.
Also, a register 52 and a selector 51 that store 1iY1
Compare the signal selected with the signal from the register 52,
It is composed of a comparator 53 that detects IX=Xl or IY=Y1.

この様なハードウェアによる終点検出部5を設けること
によって、より高速にディジタル線分信号を発生するこ
とができる。
By providing the end point detection section 5 using such hardware, it is possible to generate digital line segment signals at higher speed.

(本発明の効果) 以上説明したように1本発明はBressnhamの方
法を改良することKより、始点と終点のX、Y座標それ
ぞれの差ΔX、ΔYの絶対値の内、大きい方の座標を条
件により1ないし2ずつ、ダイナミックに変化させ、2
だけ変化させた場合に、Br@sanhamの方法と同
じ判定条件によυ、すでに選択したドツトの2つ先の最
適ドツトを決定すると同時に、1つ先の最適ドツトを判
定条件によらず、一義的に決定しているため、Braa
enhamの方法の持つ高精度を保持しながら、Bre
senhamの方法の高速性をさらに上回る速度でディ
ジタル線分を発生することができる。
(Effects of the present invention) As explained above, 1 the present invention improves Bressnham's method, and calculates the larger coordinate of the absolute values of the differences ΔX and ΔY between the X and Y coordinates of the starting point and the ending point, respectively. Dynamically change by 1 or 2 depending on the conditions, 2
When the dot is changed by 1, the optimum dot two places ahead of the already selected dot is determined using the same judgment conditions as Br@sanham's method, and at the same time, the optimum dot one place ahead is determined unambiguously regardless of the judgment conditions. Braa
While maintaining the high accuracy of enham's method, Bre
Digital line segments can be generated at a speed that even exceeds the high speed of Senham's method.

因みに、Brosenhamの方法と本発明における方
法の各々の場合について、線分を発生するのに必要とな
る総ダイナミックステ、プ数gを1Δxl≧1Δylの
場合について算出する。
Incidentally, for each of Brosenham's method and the method of the present invention, the total dynamic step number g required to generate a line segment is calculated for the case of 1Δxl≧1Δyl.

第8図より実際に選択される方向は、水平方向及び+4
50方向の2種類のみであり、水平方向のド、ト選択回
数は1ΔXllΔyl、 4450方向のドツト選択回
数はIΔYIであるから、水平方向のドツト選択、及び
+45’方向のドツト選択に必要なステ、ブ数をそれぞ
れり、dとした時、gは一般K。
The directions actually selected from Fig. 8 are the horizontal direction and +4
There are only two types of dots in the 50 directions, and the number of dot selections in the horizontal direction is 1ΔXllΔyl, and the number of dot selections in the 4450 direction is IΔYI, so the steps required for dot selection in the horizontal direction and dot selection in the +45' direction are When the number of blocks is d, g is general K.

g=b・(1ΔX1刊ΔYI)+d・1ΔY1で与えら
れる。
It is given by g=b・(1ΔX1 ΔYI)+d・1ΔY1.

第11図、第5図のフローチャートにおいて、′プロ、
ト1の出力ステップを除き、IX=X1及びIE≧0の
判定のステ、プを含む各ステップを1ステ、プと仮定し
た場合に総ダイナミックステ、プ数gh下記のようKな
る。
In the flowcharts of FIGS. 11 and 5, 'Pro,
When it is assumed that each step including the step and step of determining IX=X1 and IE≧0 is one step and step except for the output step of step 1, the total number of dynamic steps gh is as follows.

(a) Brasenhamの方法の場合b=A、d=
5であるからg=41ΔX1+1ΔY1(bJ 本発明
における方法の場合 (b−+) 21ΔY1〈1ΔX1の時h =4(IK
(0)、 2(IE≧O)、d=5であるからg=41
ΔX1−1ΔY1 (b−z) 21ΔY1≧1ΔX1の時h= a、 (
1=5(IE≧O)、 !5(IE(0)であるからg
=21ΔXI +31ΔY1 従って本発明によれば、Breaenhmmの方法に較
べて、総ダイナミックステップ数を、最高で(lΔX1
=21ΔY1の時)22%程度削減できる。なお1ΔX
I<1ΔY1の場合についても、同様の結果が得られる
(a) In the case of Brasenham's method, b=A, d=
5, so g = 41ΔX1 + 1ΔY1 (bJ In the case of the method of the present invention (b-+) 21ΔY1<1ΔX1, h = 4 (IK
(0), 2(IE≧O), d=5, so g=41
ΔX1-1ΔY1 (b-z) When 21ΔY1≧1ΔX1, h= a, (
1=5(IE≧O), ! 5(IE(0), so g
=21ΔXI +31ΔY1 Therefore, according to the invention, compared to Breaenhmm's method, the total number of dynamic steps can be reduced by up to (lΔX1
= 21ΔY1) It can be reduced by about 22%. Note that 1ΔX
Similar results are obtained for I<1ΔY1.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は、本発明の方法を実現するための装置の構成プ
ロ、り図、第2図は本発明方法のアルゴリズムの原理を
示すフローチャート、第3図は本発明によるアルゴリズ
ムの一例を示すフローチャート、第4図及び第5図は本
発明方法による線分発生例を示す線図、第6図は本発明
方法のアルゴリズムの他の例を示すフローチャート、第
7図は終端検出部の要部の構成ブロック図、第8図は線
分発生に必要なドツト数算出の説明図、第9図は従来方
法による線分発生例を示す線図、第10図及び第11図
は従来方法のアルゴリズムを示すフローチャートである
。 1・・・入力制御部、2・・・出力部、3・・・レジス
タ演算部、4・・・マイクロプログラム制御部、sB・
・・システムバス、AB・・・内部バス。
Fig. 1 is a diagram showing the configuration of an apparatus for implementing the method of the present invention, Fig. 2 is a flow chart showing the principle of the algorithm of the method of the present invention, and Fig. 3 is a flow chart showing an example of the algorithm according to the present invention. , FIG. 4 and FIG. 5 are diagrams showing an example of line segment generation according to the method of the present invention, FIG. 6 is a flowchart showing another example of the algorithm of the method of the present invention, and FIG. 7 is a diagram showing the main part of the end detection section. 8 is an explanatory diagram of the calculation of the number of dots required to generate a line segment, FIG. 9 is a line diagram showing an example of line segment generation using the conventional method, and FIGS. 10 and 11 are diagrams showing the algorithm of the conventional method. FIG. DESCRIPTION OF SYMBOLS 1... Input control section, 2... Output section, 3... Register calculation section, 4... Microprogram control section, sB.
...System bus, AB...Internal bus.

Claims (1)

【特許請求の範囲】[Claims] (1) 次の(11)〜(、)の各工程を含んで始点と
終点を結ぶディジタル線分信号を発生するディジタル線
分信号発生方法。 (&) 始点と終点のX座標、Y座標のそれぞれの差Δ
X、ΔYの絶対値を比較する工程。 (b) (a)の工程において、IΔX1≧IΔY1の
場合、21ΔYIと1ΔX1を比較する工程。 (c) (b)の工程において、21ΔYl<lΔXI
の時KH11つ前に選択したドツトと現在のドツトのY
座標の差DXが1ならば、現在のドツトのX座標を2だ
け変化させ、Y座標の変化分の絶対値KXがO,S以上
なら、次の連続する2つのドツトとして、X座標が1だ
け変化し九ド、トとX座標が2.Y座標が1だけ変化し
たドツトを選択し、次にX座標を2だけ変化させ、また
匂が0.5未満なら次の連続する2つのド、トとして、
X座標が1だけ変化したドツトと、X座標が2だけ変化
したドツトを選択し、次KX座標を1だけ変化させ、一
方、DXが0ならは、現在のドツトのX座標を1だけ変
化させ、KXが0.5以上なら次のドツトとして、X座
標が1.Y座標が1だけ変化したドツトを選択し、次に
X座標を2だけ変化させ、またKxが0.5未満なら、
次のドツトとしてX座標が1だけ変化したドツトを選択
し、次KX座標を1だけ変化させる工程。 (d) (b)の工程において、21ΔY1≧1ΔX1
の時には、DXがOならば、現在のドツトのX座標を2
だけ変化させ、Kxが1.5未満なら、次の連続する2
つのドツトとして、X座標が1.Y座標が1だけ変化し
たドツトと、X座標が2. Y座標が1だけ変化したド
ツトを選択し、次KX座標を2だけ変化させ、また匂が
1.5以上なら次の連続する2つのドツトとして、X座
標が1.Y座標が1だけ変化したドツトとX座標が2.
Y座標が2だけ変化したドツトを選択し、次にX座標を
1だけ変化させ、敗が1ならば、現在のドツトのX座標
を1だけ変化させ、Kxが0.5未満なら、次のドツト
として、X座標が1だけ変化したドツトを選択し、次に
X座標を2だけ変化させ、またKxが0.5以上なら、
次のドツトとして、X座標が1゜Y座標が1だけ変化し
たドツトを選択し、次にX座標を1だけ変化させる工程
。 (、) (a)の工程において、1ΔX1<1ΔY1の
場合には、さらに21Δ刈と1Δylを比較し、21Δ
Xi<lΔY1と21Δ刈≧IΔY1の2つに場合分け
、X座標とY座標の関係を入れ替え、X座標の代わりに
Y座標を1ないし2だけ変化させ、以後前記工程(c>
 (lΔX1≧1ΔY1の場合)と同様の工程を行なう
工程。
(1) A digital line segment signal generation method that includes the following steps (11) to (,) to generate a digital line segment signal connecting a starting point and an ending point. (&) Difference Δ between the X and Y coordinates of the start point and end point
A process of comparing the absolute values of X and ΔY. (b) In the step (a), if IΔX1≧IΔY1, a step of comparing 21ΔYI and 1ΔX1. (c) In the step (b), 21ΔYl<lΔXI
When KH11, the previous selected dot and the current dot are Y.
If the coordinate difference DX is 1, the X coordinate of the current dot is changed by 2, and if the absolute value KX of the change in the Y coordinate is greater than or equal to O,S, the X coordinate is changed to 1 as the next two consecutive dots. The only change is 9 do, g and the x coordinate is 2. Select the dot whose Y coordinate has changed by 1, then change the X coordinate by 2, and if the odor is less than 0.5, select the next two consecutive dots,
Select a dot whose X coordinate has changed by 1 and a dot whose X coordinate has changed by 2, and change the next KX coordinate by 1. On the other hand, if DX is 0, change the X coordinate of the current dot by 1. , KX is 0.5 or more, the next dot is set as the next dot, and the X coordinate is 1. Select a dot whose Y coordinate has changed by 1, then change its X coordinate by 2, and if Kx is less than 0.5,
The process of selecting a dot whose X coordinate has changed by 1 as the next dot, and changing the next KX coordinate by 1. (d) In the step (b), 21ΔY1≧1ΔX1
If DX is O, set the current dot's X coordinate to 2.
If Kx is less than 1.5, the next consecutive 2
As two dots, the X coordinate is 1. A dot whose Y coordinate changes by 1, and a dot whose X coordinate changes by 2. Select the dot whose Y coordinate has changed by 1, then change the KX coordinate by 2, and if the odor is 1.5 or more, select the next two consecutive dots whose X coordinate is 1. A dot whose Y coordinate changes by 1 and whose X coordinate changes by 2.
Select the dot whose Y coordinate has changed by 2, then change the X coordinate by 1, if the loss is 1, change the X coordinate of the current dot by 1, and if Kx is less than 0.5, select the next dot. Select a dot whose X coordinate has changed by 1, then change the X coordinate by 2, and if Kx is 0.5 or more,
The process of selecting a dot whose X coordinate has changed by 1 degree and whose Y coordinate has changed by 1 as the next dot, and then changing the X coordinate by 1. (,) In the step (a), if 1ΔX1<1ΔY1, 21Δ cutting and 1Δyl are further compared, and 21Δ
Divide into two cases: Xi<lΔY1 and 21ΔKari≧IΔY1, replace the relationship between the X coordinate and the Y coordinate, change the Y coordinate by 1 or 2 instead of the X coordinate, and then perform the step (c>
(In the case of lΔX1≧1ΔY1).
JP10900684A 1984-05-29 1984-05-29 Generation of digital segment signal Granted JPS60252950A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10900684A JPS60252950A (en) 1984-05-29 1984-05-29 Generation of digital segment signal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10900684A JPS60252950A (en) 1984-05-29 1984-05-29 Generation of digital segment signal

Publications (2)

Publication Number Publication Date
JPS60252950A true JPS60252950A (en) 1985-12-13
JPH0522946B2 JPH0522946B2 (en) 1993-03-31

Family

ID=14499176

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10900684A Granted JPS60252950A (en) 1984-05-29 1984-05-29 Generation of digital segment signal

Country Status (1)

Country Link
JP (1) JPS60252950A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62165280A (en) * 1986-01-17 1987-07-21 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション Setup apparatus for graphic/vector generator
JPH01284986A (en) * 1988-05-12 1989-11-16 Fujitsu Ltd High speed dda converting system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62165280A (en) * 1986-01-17 1987-07-21 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション Setup apparatus for graphic/vector generator
JPH01284986A (en) * 1988-05-12 1989-11-16 Fujitsu Ltd High speed dda converting system

Also Published As

Publication number Publication date
JPH0522946B2 (en) 1993-03-31

Similar Documents

Publication Publication Date Title
EP0019490A2 (en) Digital graphics display systems
EP0577130B1 (en) System and method for rendering bézier splines
US5570463A (en) Bresenham/DDA line draw circuitry
US5214754A (en) Method and apparatus for approximating polygonal line to curve
US4608660A (en) Data processing system with condition data setting function
CA2050651C (en) Integrated hardware generator for area fill, conics and vectors in a graphics rendering processor
JPS63198174A (en) Graphic processor
US4371933A (en) Bi-directional display of circular arcs
US5241654A (en) Apparatus for generating an arbitrary parameter curve represented as an n-th order Bezier curve
EP0314289B1 (en) Multiple pixel generator
EP0349182B1 (en) Method and apparatus for approximating polygonal line to curve
EP0301253B1 (en) Line generation in a display system
US5309553A (en) Apparatus for and method of generating a straight line of pixels in a discrete coordinate system
JPS60252950A (en) Generation of digital segment signal
JP4300001B2 (en) Clipping device
US4819185A (en) Method and apparatus for drawing wide lines in a raster graphics display system
EP0437379A2 (en) Curve generator
JPH10283340A (en) Arithmetic processor
CN111324086B (en) Numerical controller
US5047954A (en) Graphics vector generator setup technique
EP0389890A2 (en) Method and apparatus for generating figures with three degrees of freedom
US6903663B2 (en) Method for converting the binary representation of a number in a signed binary representation
EP0385566A2 (en) Data processor
JP2538645B2 (en) Curved line approximation device
JPH0261779A (en) Coordinate data processing unit