JPH01166179A - Method for drawing clipped straight line - Google Patents
Method for drawing clipped straight lineInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000010586 diagram Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 2
- 101150054854 POU1F1 gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Image Generation (AREA)
Abstract
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.
第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)
])、 この外枠と直線との交点を求め(ステップ[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.
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)
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 |
-
1987
- 1987-12-22 JP JP32612787A patent/JPH01166179A/en active Pending
Patent Citations (2)
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 |