JPH01166179A - Method for drawing clipped straight line - Google Patents

Method for drawing clipped straight line

Info

Publication number
JPH01166179A
JPH01166179A JP32612787A JP32612787A JPH01166179A JP H01166179 A JPH01166179 A JP H01166179A JP 32612787 A JP32612787 A JP 32612787A JP 32612787 A JP32612787 A JP 32612787A JP H01166179 A JPH01166179 A JP H01166179A
Authority
JP
Japan
Prior art keywords
point
frame
coordinate
straight line
line 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
Application number
JP32612787A
Other languages
Japanese (ja)
Inventor
Haruki Matsui
松井 春樹
Genichi Kato
加藤 源一
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP32612787A priority Critical patent/JPH01166179A/en
Publication of JPH01166179A publication Critical patent/JPH01166179A/en
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

PURPOSE:To enable the coordinate of a grid point being an object to be displayed to be obtained by executing a DDA algorithm by making a point on a virtual outer frame provided on the outside of a clip frame to be a starting point when a line segment is displayed within the clip frame and only arithmetic-operating an integer number value. CONSTITUTION:A CPU 13 executes graphic display sequence according to a program stored in a memory 14. The DDA algorithm in this case is entrusted to a DDA circuit 15 which is exclusively designed. As the result, the DDA algorithm can be executed at high speed. Besides, when the clipped line segment is displayed within the clip frame 1, the decision sequence of the grid point only by the integer number value is previously executed by using this invented method.

Description

【発明の詳細な説明】 [概要] クリップ枠の中に線分を表示する場合におけるクリップ
された直線の描画方法に関し、整数値の演算のみで表示
対象となる格子点の座標を求めることができるようにす
ることを目的とし、 クリップ枠の1ドツト外側に枠を想定し、この外枠と直
線との交点を求め、求めた交点からDDAアルゴリズム
を用いてクリップ枠との交点を求めて線分を表示するよ
うに構成する。
[Detailed Description of the Invention] [Summary] Regarding the method of drawing clipped straight lines when displaying line segments within a clipping frame, the coordinates of grid points to be displayed can be determined by only integer value operations. For the purpose of this, we assume a frame one dot outside the clipping frame, find the intersection between this outer frame and a straight line, use the DDA algorithm to find the intersection with the clipping frame, and create a line segment. Configure to display.

[産業上の利用分野] 本発明は、クリップ枠の中に線分を表示する場合におけ
るクリップされた直線の描画方法に関する。
[Industrial Field of Application] The present invention relates to a method of drawing a clipped straight line when displaying a line segment within a clipping frame.

グラフィックデイスプレィ装置において、デイスプレィ
上にマルチウィンド表示を行う場合、それぞれの表示部
分をクリップ枠で囲んで表示することが行われる。クリ
ップ枠で囲んだ形で表示を行う場合、このクリップ枠を
第6図に示すように突っ切るような直線がある場合に、
クリップ枠上の格子点の座標をどのようにして求めるか
が問題となる。
In a graphic display device, when performing multi-window display on the display, each display portion is displayed surrounded by a clip frame. When displaying images surrounded by a clip frame, if there is a straight line that cuts through the clip frame as shown in Figure 6,
The problem is how to find the coordinates of grid points on the clipping frame.

[従来の技術] グラフィック表示装置において、線分を表示するのには
所謂DDAアルゴリズムが用いられる。
[Prior Art] In a graphic display device, a so-called DDA algorithm is used to display line segments.

第7図は、DDAフルゴリズムの説明図である。FIG. 7 is an explanatory diagram of the DDA algorithm.

ODAアルゴリズムは線分表示に関するアルゴリズムで
あって、図における線分lを描画する際、始点のX座標
×1から1ずつX座標を増加させていった場合、X座標
を現y座標と等しくするか1だけ増加するかを線分lか
らのy方向距離に応じて始点から終点まで順次判定しな
がら・印のドツトで示すように格子点における表示点を
求めていくものである。このようなODAアルゴリズム
を用いて格子点の位置にドツトを割り振ることにより線
分を表示することができる。
The ODA algorithm is an algorithm related to line segment display, and when drawing a line segment l in a diagram, if the X coordinate is increased by 1 from the X coordinate of the starting point x 1, the X coordinate is made equal to the current y coordinate. The display point at the lattice point is determined as indicated by the dots while sequentially determining from the start point to the end point whether the value increases by 1 according to the distance in the y direction from the line segment l. Line segments can be displayed by allocating dots to grid point positions using such an ODA algorithm.

第7図の場合を例にとって説明する。始点(xi、yl
)から終点(x2.y2 )に向かう線分lがある場合
に、この線分〆の始点と終点の間に存在する格子点を用
いて、どれだけ線分lに近似した線分を作り出せるかを
追及したものがDDAアルゴリズムである。丁度、始点
が格子点に1(xl、yl )にあったものとする。次
のX座標がx+iの点におけるX座標を現y座標y1と
するか1だけ上のy1+1にするかを決定するために、
図に示すようにylとy1+1との丁度中間にX軸と平
行な線分4′を引く。この線分l′、と前記線分lどの
×1+1点における上下関係を見ると、4′の方が上に
ある。従って、xl +1の点におけるX座標は現y座
標のylにとる。この結果、次の格子点に2は(xi 
+1.yl )にとる。次に×1+2の点におけるX座
標を求める。、×1+2の点における線分!′と線分l
との上下関係を見ると、今度はlの方がl′よりも上に
ある。従って、次の格子点に3は今度は現y座標位置で
はなく、1だけ上のy1+1の点(xl +2.yl 
+1 )に移る。以下、同様の操作を全てのX座標につ
いて適用していくと、第7図に示すような格子点で近似
した直線が得られる。
The case shown in FIG. 7 will be explained as an example. Starting point (xi, yl
) to the end point (x2.y2), how much can you create a line segment that approximates line segment l using the grid points that exist between the start and end points of this line segment? The DDA algorithm pursues this. Assume that the starting point is exactly at the grid point 1 (xl, yl). To determine whether the next X coordinate at the point where x+i is the current y coordinate y1 or y1+1 above by 1,
As shown in the figure, a line segment 4' parallel to the X axis is drawn exactly between yl and y1+1. Looking at the vertical relationship between the x1+1 points of this line segment l' and the line segment l, 4' is higher. Therefore, the X coordinate at the point xl +1 is set to the current y coordinate yl. As a result, 2 is (xi
+1. yl). Next, find the X coordinate at the point x1+2. , line segment at the point ×1+2! ' and line segment l
Looking at the hierarchical relationship with , this time l is above l'. Therefore, the next grid point 3 is not the current y-coordinate position, but the point y1+1 above by 1 (xl +2.yl
+1). By applying the same operation to all the X coordinates, a straight line approximated by lattice points as shown in FIG. 7 is obtained.

このような直線をクリップ枠内に表示させようとすると
、第6図に示すように直線を表す格子点のうち、クリッ
プ枠内に含まれる点のみを表示する必要がある。第8図
は、クリップされた直線の表示例を示す図である。図に
示す例は、ycなるX座標でクリップされた直線の表示
例を示している。
If such a straight line is to be displayed within the clip frame, it is necessary to display only the points included within the clip frame among the lattice points representing the straight line, as shown in FIG. FIG. 8 is a diagram showing a display example of clipped straight lines. The example shown in the figure shows a display example of a straight line clipped at the X coordinate yc.

[発明が解決しようとする問題点] 第8図に示す例の場合、表示対象となるクリップ枠上の
X座標(図中にXCで示す)を求めるのに、以下に示す
ような方法を用いている。即ち、前述したように、X座
標の増加に対して、X座標は増加するかそのままかの二
者択一をする必要がある。直線!の値がクリップ枠上の
yの値よりも0.5だけ小さなものであれば、格子点の
座標としてのX座標は1だけ増加したycをとることに
している。従って、対応するX座標値もyc−0,5よ
りも大きなX座標値に対応したものとする必要がある。
[Problems to be Solved by the Invention] In the example shown in Fig. 8, the following method is used to obtain the X coordinate (indicated by XC in the figure) on the clip frame to be displayed. ing. That is, as described above, when the X coordinate increases, it is necessary to choose between increasing the X coordinate or leaving it unchanged. Straight line! If the value of is smaller by 0.5 than the value of y on the clipping frame, the X coordinate as the coordinate of the grid point is set to yc, which is increased by 1. Therefore, the corresponding X coordinate value must also correspond to an X coordinate value larger than yc-0, 5.

そこで、従来は直線!の式(例えばy=ax+b)に、
クリップ枠上のX座標値を示すycから0.5を引いた yc−0,5・・・・・・・・・・・・・・・図のyb
とycの中間の位置のX座標値 を代入して対応するX座標値を求めていた。しかしなが
ら、このような計算法を用いると、少数を含む数値を取
り扱う浮動小数点滴iI機構を必要としハード回路が複
雑となっていた。一方、浮動小数点演算を使用しない場
合では、このような少数点を扱う場合にはビット0とピ
ット1の間に少数点があるものとして取り扱うため、表
現可能な座標値が半分になってしまうという不具合があ
った。
Therefore, conventionally it is a straight line! In the formula (for example, y=ax+b),
yc minus 0.5 from yc indicating the X coordinate value on the clip frame - 0,5 yb in the figure
The corresponding X coordinate value was obtained by substituting the X coordinate value of the intermediate position between and yc. However, when such a calculation method is used, a floating point iI mechanism that handles numerical values including decimal numbers is required, making the hardware circuit complicated. On the other hand, when floating point arithmetic is not used, when dealing with such a decimal point, it is treated as if there is a decimal point between bit 0 and pit 1, so the representable coordinate values are halved. There was a problem.

このような不具合をなくするためには、直線の始点から
DDAアルゴリズムを行っていけばよい。
In order to eliminate such problems, the DDA algorithm should be performed from the starting point of the straight line.

しかしながら、この方法は直線lがクリップ枠に近づく
までのODAアルゴリズム操作が無駄時間となり、時間
がかかってしまう。
However, in this method, the ODA algorithm operation until the straight line l approaches the clipping frame is a waste of time, and it takes a long time.

本発明はこのような点に鑑みてなされたちのであって、
整数値の演算のみで表示対象となる格子点の座標を求め
ることができるクリップされた直線の描画方法を提供す
ることを目的としている。
The present invention has been made in view of these points, and
It is an object of the present invention to provide a method for drawing clipped straight lines that can determine the coordinates of grid points to be displayed by only calculating integer values.

[問題点を解決するための手段] 第1図は、本発明方法の原理を示すフローチャートであ
る。本発明は、クリップ枠の1ドツト外側に枠を想定し
くステップ[1])、この外枠と直線との交点を求め(
ステップ[2])、求めた交点からDDAアルゴリズム
を用いてクリップ枠との交点を求めて線分を表示する(
ステップ■)。
[Means for Solving the Problems] FIG. 1 is a flowchart showing the principle of the method of the present invention. In the present invention, a frame is assumed to be one dot outside the clip frame (step [1]), and the intersection point between this outer frame and a straight line is found (
Step [2]) From the obtained intersection point, use the DDA algorithm to find the intersection point with the clipping frame and display the line segment (
Step ■).

[作用] 本発明によれば、クリップ枠の1ドツト外側の仮想枠上
の点からODAアルゴリズムを用いるので、整数値の演
算のみで表示対象となる格子点の座標点を求めることが
できる。
[Operation] According to the present invention, since the ODA algorithm is used from a point on the virtual frame that is one dot outside the clipping frame, the coordinate points of the grid points to be displayed can be determined only by calculation of integer values.

[実施例] 第2図は、本発明方法の一実施例を示すフローチャート
である。先ず、クリップ枠の1ドツト外側に枠(外枠)
を想定する(ステップ■)。第3図は、本発明方法の説
明図である。図において、1がクリップ枠、2が該クリ
ップ枠1の1ドツト外側に想定された外枠である。外枠
2を想定したら、この外枠と直Ii!/どの交点ybを
求め°る(ステップ■)。第3図の例では、 yb =yc −1 となる。
[Example] FIG. 2 is a flowchart showing an example of the method of the present invention. First, draw a frame (outer frame) one dot outside the clip frame.
Assume (step ■). FIG. 3 is an explanatory diagram of the method of the present invention. In the figure, 1 is a clip frame, and 2 is an outer frame assumed to be one dot outside of the clip frame 1. If we assume outer frame 2, this outer frame and straight Ii! /Determine which intersection yb (step ■). In the example of FIG. 3, yb = yc -1.

次に、ybにおける線分を表わす格子点を1個見つける
(ステップ■)。具体的には、直線4の式(例えばy=
ax+b)にy=ybを代入して、対応するX座標値x
b  (図のx印の点)と余りを求める。このようにし
て格子点の座標(xb、yb)を求めるが、若し、 (余り)×2≧(xe −xs ) 但し  xeは直線lの始点の座標 xsは直線lの終点の座標 の場合には、xb=xb+1とする。このような補正は
、第4図に示すような直線lと枠との配置をもつような
場合に必要となる。この補正を必要とする場合は、余り
が大きすぎる場合であるので、X座標値をxbとして説
明を続ける。
Next, one grid point representing a line segment in yb is found (step ■). Specifically, the equation of straight line 4 (for example, y=
ax+b) by substituting y=yb for the corresponding X coordinate value x
Find b (the point marked x in the figure) and the remainder. In this way, the coordinates (xb, yb) of the grid point are found, but if (remainder) x 2 ≧ (xe - xs), where xe is the coordinate of the starting point of straight line l, and xs is the coordinate of the ending point of straight line l. In this case, xb=xb+1. Such a correction is necessary in a case where the straight line l and the frame are arranged as shown in FIG. This correction is necessary when the remainder is too large, so the explanation will be continued assuming that the X coordinate value is xb.

格子点(xb、yb)が求まったら、この点を新たな始
点としてDDAアルゴリズムを実行する。
Once the grid point (xb, yb) is found, the DDA algorithm is executed using this point as a new starting point.

つまり、見つけた格子点におけるDD△パラメータを上
記の余りから求め(ステップ■)、xb+1、xb +
2.・・・とDDAアルゴリズムに従って対応するX座
標値を求めていく(ステップ■)。
In other words, find the DD△ parameter at the found grid point from the above remainder (step ■), xb+1, xb +
2. ..., and the corresponding X coordinate value is determined according to the DDA algorithm (step ■).

クリップ枠1の格子点は、yb+1の点におけるX座標
値を求めることにより決定することができる。そして、
この点がクリップ枠内に表示する線分の始点となる。本
発発明によれば、外枠上における格子点を先ず決定して
から、以下ODAアルゴリズムを適用してクリップ枠内
の線分を表示するようにしているので、少数点演算を行
う必要はない。
The grid points of clipping frame 1 can be determined by finding the X coordinate value at the point yb+1. and,
This point becomes the starting point of the line segment displayed within the clipping frame. According to the present invention, the grid points on the outer frame are first determined, and then the ODA algorithm is applied to display the line segments within the clip frame, so there is no need to perform decimal point calculations. .

第5図は、本発明方法を実施するためのシステム構成図
である。図において、11はクリップ枠。
FIG. 5 is a system configuration diagram for implementing the method of the present invention. In the figure, 11 is a clip frame.

直線等を表示するCRT、12は該CRT11に表示す
る情報を格納するフレームメモリ(FM)、13は各種
演算制罪を行うCPLI、14はプログラム等を格納し
たメモリ、15はDDAアルゴリズムを実行するための
DDA回路、16はこれら各構成要素間を接続するバス
である。このように構成されたシステムにおいて、CP
U13はメモリ14に格納されているプログラムに従っ
て図形表示シーケンスを実行する。この場合におけるD
DAアルゴリズムは専用に設計されたDDA回路15に
任せる。この結果、高速でDD△アルゴリズムを実行す
ることができる。クリップ枠内にクリップされた線分を
表示させる場合には、前述したような本発明方法を用い
て整数値のみによる格子点の決定シーケンスを予め行う
A CRT for displaying straight lines, etc., 12 a frame memory (FM) for storing information to be displayed on the CRT 11, 13 a CPLI for performing various calculations, 14 a memory for storing programs, etc., and 15 for executing a DDA algorithm. A DDA circuit 16 is a bus connecting these components. In a system configured in this way, CP
U13 executes a graphic display sequence according to a program stored in memory 14. D in this case
The DA algorithm is left to a specially designed DDA circuit 15. As a result, the DDΔ algorithm can be executed at high speed. When displaying a line segment clipped within a clipping frame, a grid point determination sequence using only integer values is performed in advance using the method of the present invention as described above.

[発明の効果] 以上詳細に説明したように、本発明によれば、クリップ
枠内に線分を表示させる場合において、その外側に設け
た仮想外枠上の点を始点としてDDAアルゴリズムを実
行することにより、整& fi&の演算のみで表示対象
となる格子点の座標を求めることができるクリップされ
た直線の描画方法を提供することができ、実用上の効果
が大きい。
[Effects of the Invention] As described in detail above, according to the present invention, when displaying a line segment within a clip frame, a DDA algorithm is executed using a point on a virtual outer frame provided outside the clip frame as a starting point. As a result, it is possible to provide a clipped straight line drawing method that can determine the coordinates of a grid point to be displayed by only using the calculations of &fi&, which has a great practical effect.

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

第1図は本発明の原理を示すフローチャート、第2図は
本発明方法の一実施例を示す示すフローチャート、 第3図は本発明方法の説明図、 第4図はxbの補正を示す図、 第5図は本発明方法を実施するためのシステム構成図、 第6図はクリップ枠と直線との関係を示ず図、第7図は
DD△アルゴリズムの説明図、第8図はクリップされた
直線の表示例を示す図である。 第5図において、 11はCRT。 12はフレッシュメモリ、 13はCPtJ。 14はメモリ、 15はODA回路、 16はバスである。 本発明方法の原理台示すフローチャート角旬 1 図 本発明7!5沫の一侯施例を示すフローチャート角旬2
 図 2夕榊卆 角何3 区乙 Xbの補正を示す図 第4 図 鋪■5 図 クリップ枠と直線との融を示す図 第650 一一伽; X座標か゛1増加してもy座標は簀わらな(
U発会1  iXI!l!s力ぐ1讃胆し止らy座標t
1増加する場合DDAアルゴリズム■説明図 第7図 第8図
FIG. 1 is a flow chart showing the principle of the present invention, FIG. 2 is a flow chart showing an embodiment of the method of the present invention, FIG. 3 is an explanatory diagram of the method of the present invention, FIG. 4 is a diagram showing correction of xb, Fig. 5 is a system configuration diagram for implementing the method of the present invention, Fig. 6 is a diagram that does not show the relationship between the clipping frame and the straight line, Fig. 7 is an explanatory diagram of the DD△ algorithm, and Fig. 8 is a diagram showing the clipped It is a figure which shows the example of a display of a straight line. In FIG. 5, 11 is a CRT. 12 is fresh memory, 13 is CPtJ. 14 is a memory, 15 is an ODA circuit, and 16 is a bus. Flowchart illustrating the principles of the method of the present invention Figure 1 Figure 7 Flowchart illustrating an example of the present invention 7!
Figure 2: Yusakaki Volume 3 Figure showing the correction of Xb Figure 4 Figure 5 Figure showing the fusion of the clip frame and the straight line Figure 650 Kanowarana (
U Kaikai 1 iXI! l! s force 1 praise y coordinate t
DDA algorithm when increasing by 1 ■Explanatory diagram Figure 7 Figure 8

Claims (1)

【特許請求の範囲】 クリップ枠の1ドット外側に枠を想定し(ステップ[1
])、 この外枠と直線との交点を求め(ステップ[2])、求
めた交点からDDAアルゴリズムを用いてクリップ枠と
の交点を求めて線分を表示する(ステップ[3])よう
にしたことを特徴とするクリップされた直線の描画方法
[Claims] A frame is assumed to be one dot outside the clip frame (step [1
]), find the intersection between this outer frame and the straight line (step [2]), use the DDA algorithm to find the intersection with the clipping frame, and display the line segment (step [3]). A method for drawing clipped straight lines.
JP32612787A 1987-12-22 1987-12-22 Method for drawing clipped straight line Pending JPH01166179A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32612787A JPH01166179A (en) 1987-12-22 1987-12-22 Method for drawing clipped straight line

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32612787A JPH01166179A (en) 1987-12-22 1987-12-22 Method for drawing clipped straight line

Publications (1)

Publication Number Publication Date
JPH01166179A true JPH01166179A (en) 1989-06-30

Family

ID=18184369

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32612787A Pending JPH01166179A (en) 1987-12-22 1987-12-22 Method for drawing clipped straight line

Country Status (1)

Country Link
JP (1) JPH01166179A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62127971A (en) * 1985-11-29 1987-06-10 Fujitsu Ltd Clipping system in line segment drawing
JPH01116889A (en) * 1987-10-30 1989-05-09 Hitachi Ltd Straight line drawing system in clipping area

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62127971A (en) * 1985-11-29 1987-06-10 Fujitsu Ltd Clipping system in line segment drawing
JPH01116889A (en) * 1987-10-30 1989-05-09 Hitachi Ltd Straight line drawing system in clipping area

Similar Documents

Publication Publication Date Title
JP3066599B2 (en) Method for clipping polygons for display on a computer output display
JPH0214714B2 (en)
JPS6326898B2 (en)
JP2796284B1 (en) Image processing device
GB2226481A (en) Method and apparatus for decomposing a quadrilateral figure for display and manipulation by a computer system
JPH04291685A (en) Clip tester circuit and clip testing method
JPH01166179A (en) Method for drawing clipped straight line
JPH04335432A (en) Method and device for generating membership function data and method and device calculating adaptation
JPH0350686A (en) Graphic processing system
JPH02270082A (en) Equipment for comparing coordinate pair of x-coordinate y-coordinate of object displayed by graphics subsystem
JPH04323722A (en) Drawing system for multiwindow system
JP2780496B2 (en) Clipping method for drawing equipment
JPH10334250A (en) Anti-alias processor and image processing unit
JPH0535912B2 (en)
CN114820875A (en) Method, device, equipment and storage medium for generating directed distance field image
JPH03209580A (en) Method and device for drawing graphic
JPS62271187A (en) Vector drawing system
JP2000076480A (en) Image generating device, image generating method, and storage medium
JPH0335376A (en) Triangle dividing/drawing system for convex polygon
JPH10143676A (en) Picture processor and method for processing the same and recording medium
JPH0261779A (en) Coordinate data processing unit
JPH04225480A (en) Method and device for graphic display
JPS63240682A (en) Clipping processing system for graphic display
JPH0318196B2 (en)
JPS6344286A (en) Graphic output device