JPH0452881A - Segment plotting parameter setting-up circuit - Google Patents
Segment plotting parameter setting-up circuitInfo
- Publication number
- JPH0452881A JPH0452881A JP15736690A JP15736690A JPH0452881A JP H0452881 A JPH0452881 A JP H0452881A JP 15736690 A JP15736690 A JP 15736690A JP 15736690 A JP15736690 A JP 15736690A JP H0452881 A JPH0452881 A JP H0452881A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- absolute value
- value
- difference
- segment
- 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
- 238000006073 displacement reaction Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 description 40
- 238000000034 method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 7
- 238000007796 conventional method Methods 0.000 description 2
Landscapes
- Image Generation (AREA)
Abstract
Description
【発明の詳細な説明】
線分描画処理におけるパラメータのセットアツプに関す
るものである。DETAILED DESCRIPTION OF THE INVENTION This invention relates to setting up parameters in line segment drawing processing.
[従来の技術]
グラフィック描画処理の基本は線分の描画であり、この
線分描画には種々の手法が用いられてきた。この中でも
特に、アルゴリズムが簡単でハトウェア化に適した手法
はBresenhamの方法であり、今日非常に広(用
いられている。このBresenhamアルゴリズムを
用いた線分描画処理のハードウェア化としては、 19
86年にIBM社から出願された「グラフィック・ベク
トル発生器セットアツプ装置」 (特開昭62−165
280 )がある。[Prior Art] The basis of graphic drawing processing is the drawing of line segments, and various methods have been used for this line segment drawing. Among these methods, Bresenham's method is particularly suitable for hardware implementation because of its simple algorithm, and it is very widely used today.
``Graphic Vector Generator Setup Device'' filed by IBM in 1986
280).
[発明が解決しようとする課題]
「グラフィック・ベクトル発生器セットアツプ装置」
(特開昭62−165280 )では1図形の対称性を
考慮した装置であるため9条件によっては、X座標値に
関するパラメータとY座標値に関するパラメータとを交
換しなければならない。このため「スワップ回路」が必
要となり、ハードウェア規模が大きくなること、パラメ
ータのセットアツプが遅くなること1等の問題点があっ
た。[Problem to be solved by the invention] "Graphic vector generator setup device"
(Japanese Unexamined Patent Publication No. 62-165280) is a device that takes into account the symmetry of one figure, so depending on nine conditions, parameters related to the X coordinate value and parameters related to the Y coordinate value must be exchanged. For this reason, a "swap circuit" is required, resulting in problems such as an increase in hardware scale and slow parameter setup.
[課題を解決するための手段]
本発明は、#i分描画パラメータ・セットアップのため
に、描画する線分のX座標変位値及びY座標変位値に関
する差関数値を求める手段と。[Means for Solving the Problems] The present invention includes means for determining a difference function value regarding the X-coordinate displacement value and Y-coordinate displacement value of the line segment to be drawn, in order to set up the drawing parameters for #i.
差関数値を記憶する記憶手段と。and storage means for storing the difference function value.
この記憶手段に記・lされている差関数値に応じてパラ
メータを求める手段と。means for determining parameters according to the difference function values recorded in the storage means;
を設けたことを特徴としている。It is characterized by having the following.
[作用]
この発明における線分描画パラメータ・セットアップ回
路によれば、従来方式では必須であったスワップ回路が
不要となる。このため、ハードウェア規模が小さくなる
とともに、パラメータのセットアツプを高速に行うこと
ができる。[Operation] According to the line segment drawing parameter/setup circuit according to the present invention, a swap circuit, which is essential in the conventional method, becomes unnecessary. Therefore, the hardware scale can be reduced and parameters can be set up quickly.
[実施例]
第1図は2本発明実施例の全体概要を示す図である。描
画する線分の両端点の座標値を入力としてX座標及びY
座標の差関数値を計算する差量数値計算手段(11及び
差量数値計算手段(1)の出力を記憶する差量数値記憶
手段(2)を設け、差関数の
値記憶手段(2)発出力に基づき、 Bresenha
mアルゴリズムにおけるパラメータを求めるパラメータ
計算手段(3)により構成されている。[Embodiments] FIG. 1 is a diagram showing an overall outline of two embodiments of the present invention. Input the coordinate values of both end points of the line segment to be drawn and set the X and Y coordinates.
Difference value calculation means (11) for calculating the difference function value of the coordinates and difference value storage means (2) for storing the output of the difference value calculation means (1) are provided, and the value storage means (2) for the difference function is provided. Based on the output, Bresenha
It is composed of a parameter calculation means (3) for determining parameters in the m algorithm.
第2図は本発明の実施例を示す線分描画パラメータ・セ
ットアップ回路概念図である。FIG. 2 is a conceptual diagram of a line segment drawing parameter/setup circuit showing an embodiment of the present invention.
第2図において、100は線分を構成する両端点からX
座標の差分及びその絶対値を求めるX差分絶対値回路、
110は同じく線分を構成する両端点からY座標の差分
及びその絶対値を求めるY差分絶対値回路、120は前
記X差分絶対値回路100及び前記Y差分絶対値回路1
10から出力される信号をもとに線分の領域コードを求
める領域コード算出回路、130はこの領域コード算出
回路120から出力される信号をもとにBresenh
amアルゴリズムにおけるエラーの初期値を求める初期
値算出回路、140は同じく前記領域コード算出回路1
20から出力される信号をもとにBresenhamア
ルゴリズムにおける前記エラーが正の場合にエラーに加
算する値を求める正加算値算出回路、150は同じく前
記領域コード算出回路120から出力される信号をもと
にBresenhamアルゴリズムにおける前記エラー
が負の場合にエラーに加算する値を求める負加算値算出
回路、160は同じ(前記領域コード算出回路120か
ら出力される信号をもとにBresenhamアルゴリ
ズムにおける線分の長さを求める描画点数算出回路であ
る。In Figure 2, 100 is X from both end points of the line segment.
X difference absolute value circuit for calculating the difference in coordinates and its absolute value;
110 is a Y difference absolute value circuit for calculating the difference in Y coordinates and its absolute value from both end points constituting a line segment; 120 is the X difference absolute value circuit 100 and the Y difference absolute value circuit 1;
A region code calculation circuit 130 calculates the region code of a line segment based on the signal output from the region code calculation circuit 120.
An initial value calculation circuit for calculating an initial value of an error in the am algorithm; 140 is also the area code calculation circuit 1;
150 is a positive addition value calculation circuit that calculates a value to be added to the error when the error in the Bresenham algorithm is positive based on the signal output from the region code calculation circuit 120; A negative addition value calculation circuit 160 calculates a value to be added to the error when the error in the Bresenham algorithm is negative; This is a circuit for calculating the number of drawing points.
第3図はパラメータ計算過程を第2図に対応させて説明
するフローチャートである。FIG. 3 is a flowchart explaining the parameter calculation process in correspondence with FIG.
第3図において5TEPIはX座標値およびY座標値を
読込む過程、 5TEP2はX差分絶対値計算過程、
5TEP3はY差分絶対値計算過程、 5TEP4は領
域コード計算過程、 5TEP5は初期値計算過程。In Figure 3, 5TEPI is the process of reading the X and Y coordinate values, 5TEP2 is the process of calculating the absolute value of the X difference,
5TEP3 is a Y difference absolute value calculation process, 5TEP4 is an area code calculation process, and 5TEP5 is an initial value calculation process.
5TEP6は正加算値計算過程、 5TEP7は負加算
値計算過程、 5TEP8は描画点数計算過程である。5TEP6 is a positive addition value calculation process, 5TEP7 is a negative addition value calculation process, and 5TEP8 is a drawing point number calculation process.
第4図に基づき動作を説明する。まず最初に。The operation will be explained based on FIG. First of all.
第2図におけるX差分絶対値回路100の説明を行う。The X difference absolute value circuit 100 in FIG. 2 will be explained.
210は2人力の差分を求める回路であり、線分を構成
する両端点の内、始点のX座標れ及び終点のX座標x0
の差を求める。212は入力信号の絶対値を求める回路
であり、前記回路210の出力肌−x8が入力され絶対
値Δx = 1 x、−x、1が出力される。すなわち
、第3図の5TEP2の計算が行われ線分を構成する両
端点のX座標の差分絶対値ΔXを求めることができる。210 is a circuit that calculates the difference between two human forces, and the X coordinate of the starting point and the X coordinate of the ending point x0 of both end points constituting the line segment.
Find the difference. Reference numeral 212 denotes a circuit for determining the absolute value of the input signal, which receives the output -x8 of the circuit 210 and outputs the absolute value Δx = 1 x, -x, 1. That is, the calculation of 5TEP2 in FIG. 3 is performed, and the absolute difference ΔX between the X coordinates of both end points constituting the line segment can be determined.
また、前記回路210から1ビツトの符号bOが出力さ
れる。この1ビット符号bOは、 X、>X、なら0.
逆にX、、<X、なら1である。Further, the circuit 210 outputs a 1-bit code bO. This 1-bit code bO is 0 if X,>X.
Conversely, if X, ,<X, then it is 1.
第1図におけるY差分絶対値回路110の動作も前記X
差分絶対値回路100の動作と同様であり、X、。The operation of the Y difference absolute value circuit 110 in FIG.
The operation is similar to that of the absolute difference circuit 100, and X,.
をYs 、X、をYeと置き換えることにより第3図の
5TEP3の計算が行われ、線分を構成する両端点のY
座標の差分絶対値ΔYを求めることができる。The calculation of 5TEP3 in Figure 3 is performed by replacing Ys with Y and
The absolute difference value ΔY of coordinates can be determined.
また、Y差分絶対値回路110で出力される符号は、
blとなる。Further, the code output from the Y difference absolute value circuit 110 is
It becomes bl.
次に、第2図における領域コード算出回路120の動作
について説明する。描画する線分のパターンを描画の開
始点を中心に分類すると、第5図の様に、8つの領域に
属する線分パターンに分類できる。また、各パターンが
属する領域の条件を第6図に示す。第5図には、各線分
パターンが属する領域に3ビツトのコードを示してあり
、この3ビツト・コードが前記領域コード算出回路12
0の出力となる。第6図からも分かる様に、この3ビツ
ト・コードの内、下位2ビツトblbOは前記X差分絶
対値回路100及びY差分絶対値回路110の出力であ
る。また、残り1ビツトb2は、前記X差分絶対値回路
100及びY差分絶対値回路110の出力であるΔX及
びΔYを比較する事によって得られる。△X≧ΔYなら
0.逆にΔX〈△Yなら1である。Next, the operation of the area code calculation circuit 120 in FIG. 2 will be explained. If the line segment patterns to be drawn are classified around the starting point of drawing, they can be classified into line segment patterns belonging to eight areas as shown in FIG. Moreover, the conditions of the area to which each pattern belongs are shown in FIG. FIG. 5 shows a 3-bit code in the area to which each line segment pattern belongs, and this 3-bit code is used by the area code calculation circuit 12.
The output will be 0. As can be seen from FIG. 6, the lower two bits blbO of this 3-bit code are the outputs of the X difference absolute value circuit 100 and the Y difference absolute value circuit 110. The remaining 1 bit b2 is obtained by comparing ΔX and ΔY, which are the outputs of the X difference absolute value circuit 100 and the Y difference absolute value circuit 110. 0 if △X≧ΔY. Conversely, if ΔX<ΔY, it is 1.
このようにして、第3図の5TEP4の計算が行われ、
3ビツトの領域コードが領域コード算出回路120から
出力される。In this way, the calculation of 5TEP4 in Figure 3 is performed,
A 3-bit area code is output from area code calculation circuit 120.
次に、第2図における初期値算出回路130.正加算値
算出回路140.及び負加算値算出回路150の説明を
行なう。これら回路は、前記領域コード算出回路120
の出力であるb2に従って動作する。Next, the initial value calculation circuit 130 in FIG. Positive addition value calculation circuit 140. Next, the negative addition value calculation circuit 150 will be explained. These circuits are connected to the area code calculation circuit 120.
It operates according to the output b2.
つまり第5図からも分かる様に、 b2がOなら線分は
X軸に沿った描画となりBresenhamアルゴリズ
ムにおける初期値は2ΔY−△X、正加正値算値ΔY−
2ΔX、負加算値は2ΔYとなる。逆に。In other words, as can be seen from Figure 5, if b2 is O, the line segment will be drawn along the X axis, and the initial value in the Bresenham algorithm is 2ΔY−ΔX, plus the calculated value ΔY−
2ΔX, and the negative addition value becomes 2ΔY. vice versa.
b2が1なら線分はY軸に沿った描画となりBrese
nhamアルゴリズムの初期値は2△X−ΔY、正加正
値算値ΔX−2ΔY、負加算値は2ΔXとなる。第4図
において214及び215は符号反転器であり、入力さ
れた値の逆数を求める。216〜219はシフターであ
り1人力された値を2倍にする。If b2 is 1, the line segment will be drawn along the Y axis and Brese
The initial value of the nham algorithm is 2ΔX-ΔY, the positive addition value is ΔX-2ΔY, and the negative addition value is 2ΔX. In FIG. 4, sign inverters 214 and 215 calculate the reciprocal of the input value. 216 to 219 are shifters that double the value input by one person.
220〜223は加算器であり、2人力の和を求める。Adders 220 to 223 calculate the sum of the power of two people.
また、224〜226はセレクタであり、 b2が1な
ら上段を、逆にb2がOなら下段を選択する様になって
いる。前記X差分絶対値回路100の出力ΔXは符号反
転器214を通過する事により一ΔXフター218を通
過する事により一2△Xとなる。Further, 224 to 226 are selectors, and when b2 is 1, the upper row is selected, and conversely, when b2 is O, the lower row is selected. The output ΔX of the X difference absolute value circuit 100 passes through a sign inverter 214 and then becomes -2ΔX by passing through a 1ΔX footer 218.
同様にして、Y差分絶対値回路110の出力△Yがら、
2ΔY、−ΔY、及び−2ΔYが得られる。Similarly, from the output ΔY of the Y difference absolute value circuit 110,
2ΔY, -ΔY, and -2ΔY are obtained.
これらの値が加算器220〜223を通過する事により
、2△X−ΔY、2ΔX−2△Y、2△Y−△X及び2
ΔY−2ΔXが得られる。また、シフタ216及び21
7の出力として、2△X及び2ΔYがある。これらの値
をセレクタ224〜226が選択する事により第3図の
5TEP5〜5TEP7の計算が行われ、 Brese
nhamアルゴリズムにおける初期値。By passing these values through adders 220 to 223, 2△X - △Y, 2△X - 2△Y, 2△Y - △X, and 2
ΔY−2ΔX is obtained. In addition, shifters 216 and 21
There are 2ΔX and 2ΔY as outputs of 7. By selecting these values by the selectors 224 to 226, calculations of 5TEP5 to 5TEP7 in FIG. 3 are performed, and Brese
Initial value in nham algorithm.
正加算値及び負加算値が得られる。A positive addition value and a negative addition value are obtained.
最後に、第2図における描画点数算出回路160の動作
について説明する。この回路も前記初期値算出回路13
0.正加算値算出回路140 、及び負加算値算出回路
150と同様、前記領域コード算出回路120からの出
力であるb2に従って動作する。つまり、前述した様に
b2が0の場合には、線分はX軸に沿った描画となるた
め描画する点の数は八X+1となる。逆に、 b2が1
の場合には、線分Y軸に沿った描画となるため描画する
点の数はΔY+1となる。第4図において227はセレ
クタであり、228は加算器である。セレクタ227は
b2が0の場合にはΔXを、 b2が1の場合にはΔY
を選択し、このセレクタ227の出力に対して加算器2
28で1が加えられる事により第3図の5TEP8の計
算が行なわれ、描画点数を算出できる。Finally, the operation of the drawing point number calculation circuit 160 in FIG. 2 will be explained. This circuit also has the initial value calculation circuit 13.
0. Like the positive addition value calculation circuit 140 and the negative addition value calculation circuit 150, it operates according to b2, which is the output from the area code calculation circuit 120. That is, as described above, when b2 is 0, the line segment is drawn along the X axis, so the number of points to be drawn is 8X+1. Conversely, b2 is 1
In the case of , the number of points to be drawn is ΔY+1 since the drawing is performed along the line segment Y-axis. In FIG. 4, 227 is a selector and 228 is an adder. The selector 227 selects ΔX when b2 is 0, and ΔY when b2 is 1.
is selected, and the adder 2
By adding 1 to 28, the calculation of 5TEP8 in FIG. 3 is performed, and the number of drawing points can be calculated.
以上の様にして求められたBrese口hamアルゴリ
ズムにおける初期値、圧加算値、負加算値、及び描画点
数と領域コードとの対応表を第7図に示す。FIG. 7 shows a correspondence table between the initial value, pressure added value, negative added value, number of drawing points, and area code in the Brese Ham algorithm obtained as described above.
[発明の効果]
以上のように、この発明によれば、線分の領域コードを
用いることによって線分描画パラメータのセットアツプ
を行なうので、従来方式では必要であったスワップ回路
が不要となる。この結果。[Effects of the Invention] As described above, according to the present invention, the line segment drawing parameters are set up by using the area code of the line segment, so the swap circuit that is necessary in the conventional method becomes unnecessary. As a result.
ハードウェア規模が小さくなり、パラメータのセットア
ツプを高速に行うことができる。The hardware scale is smaller and parameters can be set up faster.
第1図は本発明の実施例の全体概要を示す図。
第2図はこの発明の一実施例を示す線分描画パラメータ
・セットアップ回路概念図、第3図はパラメータ計算過
程を示すフローチャート、第4図は第2図を詳細に表わ
したパラメータ・セットアップ回路詳細図、第5図は線
分のパターンとその領域コードを示す図、第6図は領域
コードの条件を示す図、第7図は領域コードと各パラメ
ータとの対応を示す図である。
図において、100はX差分絶対値回路、110はY差
分絶対値回路、120は領域コード算出回路。
130は初期値算出回路、140は正加算値算出回路、
150は負加算値算出回路、160は描画点数算出回路
である。
なお。
図中。
同一符号は同一。
又は相当部分を
示す。FIG. 1 is a diagram showing an overall outline of an embodiment of the present invention. Fig. 2 is a conceptual diagram of a line segment drawing parameter/setup circuit showing an embodiment of the present invention, Fig. 3 is a flowchart showing a parameter calculation process, and Fig. 4 is a detailed parameter/setup circuit showing Fig. 2 in detail. 5 is a diagram showing a line segment pattern and its area code, FIG. 6 is a diagram showing conditions of the area code, and FIG. 7 is a diagram showing the correspondence between the area code and each parameter. In the figure, 100 is an X difference absolute value circuit, 110 is a Y difference absolute value circuit, and 120 is an area code calculation circuit. 130 is an initial value calculation circuit, 140 is a positive addition value calculation circuit,
150 is a negative addition value calculation circuit, and 160 is a drawing point number calculation circuit. In addition. In the figure. Same symbols are the same. or a corresponding portion.
Claims (1)
る差関数値を求める手段と、 上記差関数値を記憶する記憶手段と、 上記記憶手段に記憶されている差関数値に応じてパラメ
ータを求める手段と、 を有することを特徴とする線分描画パラメータ・セット
アップ回路[Scope of Claims] Means for determining a difference function value regarding an X-coordinate displacement value and a Y-coordinate displacement value of a line segment to be drawn; a storage means for storing the difference function value; and a difference function stored in the storage means. A line segment drawing parameter setup circuit comprising: means for determining parameters according to values; and a line segment drawing parameter setup circuit.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15736690A JPH0452881A (en) | 1990-06-15 | 1990-06-15 | Segment plotting parameter setting-up circuit |
US07/714,203 US5309553A (en) | 1990-06-15 | 1991-06-12 | Apparatus for and method of generating a straight line of pixels in a discrete coordinate system |
DE4119712A DE4119712A1 (en) | 1990-06-15 | 1991-06-14 | DEVICE AND METHOD FOR PRODUCING LINEAR PIXELS |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15736690A JPH0452881A (en) | 1990-06-15 | 1990-06-15 | Segment plotting parameter setting-up circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0452881A true JPH0452881A (en) | 1992-02-20 |
Family
ID=15648087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15736690A Pending JPH0452881A (en) | 1990-06-15 | 1990-06-15 | Segment plotting parameter setting-up circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0452881A (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60107089A (en) * | 1983-11-16 | 1985-06-12 | 株式会社日立製作所 | Graphic display unit |
JPS6359684A (en) * | 1986-08-29 | 1988-03-15 | Fujitsu Ltd | Display system for convex polygon and straight line |
-
1990
- 1990-06-15 JP JP15736690A patent/JPH0452881A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60107089A (en) * | 1983-11-16 | 1985-06-12 | 株式会社日立製作所 | Graphic display unit |
JPS6359684A (en) * | 1986-08-29 | 1988-03-15 | Fujitsu Ltd | Display system for convex polygon and straight line |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR950704750A (en) | Polygon rasterization | |
JP2618951B2 (en) | 3D graphics processor | |
EP0229693B1 (en) | Wide line drawing in a graphics display system | |
JPH0452881A (en) | Segment plotting parameter setting-up circuit | |
KR970004093B1 (en) | A membership function data preparation method and an apparatus thereof and an adaptation degree operation method and apparatus thereof | |
JP2662035B2 (en) | Character processor | |
KR910012997A (en) | Shading Apparatus and Method for Computer Graphics | |
JPH03144782A (en) | Three-dimensional processor | |
JP2806679B2 (en) | Character generator | |
JPH03233689A (en) | Outline data drawing device | |
JPH03209499A (en) | Forming method for outline font and drawing device for the same | |
JP3305395B2 (en) | Figure division device | |
JP2802646B2 (en) | A scaling method for character patterns using vector fonts | |
Hong | A high precision digital differential analyzer for circle generation | |
JPS6045287A (en) | Clipping processor | |
JPH03127097A (en) | Drawing method for vector font | |
JPH02158363A (en) | Character generator | |
JP2940294B2 (en) | Drafting equipment | |
JPH0217580A (en) | Pattern description method | |
JPH03235995A (en) | Qualified solid character generation system | |
JPH041354B2 (en) | ||
JPH04223495A (en) | Character signal generator | |
JPH0137748B2 (en) | ||
JPH0695645A (en) | Method for processing character shadowing in full dot character | |
JPH0740285A (en) | Device for originating cutting data |