JPH0566914A - Drawing system for broken line - Google Patents
Drawing system for broken lineInfo
- Publication number
- JPH0566914A JPH0566914A JP25704091A JP25704091A JPH0566914A JP H0566914 A JPH0566914 A JP H0566914A JP 25704091 A JP25704091 A JP 25704091A JP 25704091 A JP25704091 A JP 25704091A JP H0566914 A JPH0566914 A JP H0566914A
- Authority
- JP
- Japan
- Prior art keywords
- broken line
- coordinate
- coordinate point
- point
- solid line
- 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
Landscapes
- Digital Computer Display Output (AREA)
- Image Generation (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、X座標について昇順に
並んだ座標点の集合により表現された連続線分データを
計算機によって処理し破線として出力装置に対して描画
(表示または印字等)する破線の描画方式に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention processes a continuous line segment data represented by a set of coordinate points arranged in ascending order with respect to the X coordinate by a computer and draws (displays or prints) a broken line on an output device. The drawing method of a broken line.
【0002】なお、本発明の説明におけるX座標とY座
標とは直交座標における各方向の座標を示しており、X
座標とY座標とは互換的なものである(Y座標について
昇順に並んだ座標点の集合により表現された連続線分デ
ータに対しても本発明を適用することができる)。ま
た、本発明の説明において、「頂点」とはY座標につい
て極値となる座標点をいう。さらに、本発明の説明にお
いて、「特異点」とは、頂点の中で、「X座標について
の昇順」という順序における次の座標点との間のY座標
の値の差が一定値(当該破線の描画方式に対して設定さ
れている一定値)よりも大きな頂点をいう。In the description of the present invention, the X coordinate and the Y coordinate indicate the coordinates in each direction in the Cartesian coordinates.
The coordinate and the Y coordinate are interchangeable (the present invention can be applied to continuous line segment data represented by a set of coordinate points arranged in ascending order with respect to the Y coordinate). Further, in the description of the present invention, the “vertex” refers to a coordinate point having an extreme value with respect to the Y coordinate. Further, in the description of the present invention, the “singular point” means that the difference in the value of the Y coordinate between the next coordinate point and the next coordinate point in the order of “ascending order of the X coordinate” in the vertex is a constant value (the broken line) (A fixed value set for the drawing method of), which is larger than the specified value.
【0003】[0003]
【従来の技術】従来、この種の破線の描画方式では、座
標点を連結する軌跡上で実線部(実線で描画される部
分)と空白部(実線部と実線部との間の空白の部分)と
の区別は、破線データのみによって判断されていた。こ
こで、破線データとは、破線を構成する1単位(1つの
実線部および1つの空白部)の長さL0(この長さが破
線の1周期である)と、1周期中の実線部の長さL1 と
を示すデータをいう(図3(a)参照)。2. Description of the Related Art Conventionally, in this kind of broken line drawing method, a solid line portion (a portion drawn by a solid line) and a blank portion (a blank portion between the solid line portion and the solid line portion) on a locus connecting coordinate points. ) Was distinguished only by the broken line data. Here, the broken line data means the length L 0 of one unit (one solid line part and one blank part) forming the broken line (this length is one cycle of the broken line) and the solid line part in one cycle. Of the length L 1 (see FIG. 3A).
【0004】次に、図3(a)〜(c)および図4を参
照して、従来の破線の描画方式の具体的な動作について
説明する。Next, with reference to FIGS. 3A to 3C and FIG. 4, a specific operation of the conventional broken line drawing method will be described.
【0005】図3(b)は、破線の描画方式における処
理対象の座標点の集合の一例を示す図である。この座標
点の集合は、{(x1 ,y1 ),(x2 ,y2 ),(x
3 ,y3 ),(x4 ,y4 ),(x5 ,y5 ),
(x6 ,y6 ),(x7 ,y7 ),(x8 ,y8 )}に
よって示される。図3(b)に示す座標点の集合に関し
て、例えば、(x1 ,y1 )の座標点を「座標点
“1”」で示す。また、例えば、隣接する座標点“1
“と座標点“2”との間の距離を「d1.2 」で示す。こ
こで、座標点間の距離di.i+1 は次式により算出され
る。 di.i+1 ={(xi −xi+1 )2 +(yi −yi+1 )2 }1/2 FIG. 3B is a diagram showing an example of a set of coordinate points to be processed in the dashed line drawing method. This set of coordinate points is {(x 1 , y 1 ), (x 2 , y 2 ), (x
3 , y 3 ), (x 4 , y 4 ), (x 5 , y 5 ),
(X 6 , y 6 ), (x 7 , y 7 ), (x 8 , y 8 )}. Regarding the set of coordinate points shown in FIG. 3B, for example, the coordinate point of (x 1 , y 1 ) is indicated by “coordinate point“ 1 ””. In addition, for example, adjacent coordinate points “1
The distance between “and the coordinate point“ 2 ”is indicated by“ d 1.2 ”. Here, the distance d i.i + 1 between the coordinate points is calculated by the following equation. d i.i + 1 = {(x i −x i + 1 ) 2 + (y i −y i + 1 ) 2 } 1/2
【0006】図3(c)は、従来の破線の描画方式によ
り図3(b)に示す座標点の集合が破線で連結された状
態を示す図である。FIG. 3 (c) is a diagram showing a state in which the set of coordinate points shown in FIG. 3 (b) are connected by broken lines by the conventional method of drawing broken lines.
【0007】図4は、従来の破線の描画方式の処理(破
線を構成する実線部の長さおよび空白部の長さが算出さ
れる手順等)を示す流れ図である。FIG. 4 is a flow chart showing the processing of the conventional drawing method of the broken line (a procedure for calculating the length of the solid line portion and the length of the blank portion forming the broken line).
【0008】従来の破線の描画方式は、座標点の集合に
より表現された連続線分データおよび破線データ等を入
力し、次のようにして、破線を構成する実線部の長さお
よび空白部の長さを算出し、その算出に基づいて破線の
描画を出力装置に対して行っていた。In the conventional method of drawing a broken line, continuous line segment data represented by a set of coordinate points, broken line data, etc. are input, and the length of the solid line portion and the blank portion of the broken line are set as follows. The length was calculated, and the broken line was drawn on the output device based on the calculation.
【0009】初期値の設定を行う(ステップ401)。
ここで、Dは破線の1周期の始点からの累積距離を示
し、iは処理対象の座標点の番号(「座標点“i”」と
いうときのi)を示し、jは実線部と空白部とを識別す
るためのフラグを示し(jが1の場合には実線部の描画
を示し、jが0の場合には空白部の描画を示す)、nは
処理対象の座標点の数(座標要素数)を示している。Initial values are set (step 401).
Here, D indicates the cumulative distance from the start point of one cycle of the broken line, i indicates the number of the coordinate point to be processed (i when the coordinate point is “i”), and j indicates the solid line portion and the blank portion. Indicates a flag for identifying (when j is 1 indicates drawing of a solid line portion and when j is 0 indicates drawing of a blank portion), n is the number of coordinate points to be processed (coordinates The number of elements is shown.
【0010】「i<n」であるか否かを判定する(ステ
ップ402)。この判定で「i<n」でない場合には、
処理を終了する。すなわち、終了条件「i<n」が満た
されなくなるまで、以下の処理を繰り返す。It is determined whether or not "i <n" (step 402). If it is not "i <n" in this determination,
The process ends. That is, the following process is repeated until the end condition “i <n” is not satisfied.
【0011】ステップ402の判定で「i<n」である
場合には、座標点“i“と座標点“i+1”との間の距
離di.i+1 を求め(ステップ403)、「D+di.i+1
>Lj 」であるか否かを判定する(ステップ404)。If "i <n" is determined in step 402, the distance d i.i + 1 between the coordinate point "i" and the coordinate point "i + 1" is calculated (step 403), and "D + d" i.i + 1
> L j "is determined (step 404).
【0012】この判定で「D+di.i+1 >Lj 」でない
場合には、現時点で処理対象(連結の対象)としている
座標点“i”および座標点“i+1”に関して描画処理
draw(xi ,yi ,xi+1 ,yi+1 ,j)を行う
(ステップ405)。ここで、描画処理draw
(xa ,ya ,xb ,yb ,f)とは、座標点(xa ,
ya )と座標点(xb ,yb )との間に、5番目の引数
fの値が1である場合には実線を描画し、5番目の引数
fの値が0である場合には空白を描画する(描画処理を
行わない)処理をいう。If "D + d i.i + 1 > L j " is not found in this determination, the drawing process draw (x) is executed for the coordinate point "i" and the coordinate point "i + 1" which are the current process targets (concatenation targets). i , y i , x i + 1 , y i + 1 , j) are performed (step 405). Here, the drawing process draw
(X a, y a, x b, y b, f) and the coordinate point (x a,
If the value of the fifth argument f is 1, a solid line is drawn between ya ) and the coordinate point (x b , y b ), and if the value of the fifth argument f is 0, Indicates a process of drawing a blank (not performing a drawing process).
【0013】ステップ405の描画処理を終えると、D
を「D+di.i+1 」に更新し(ステップ406)、iに
1を加算し(ステップ407)、ステップ402の判定
に制御を戻す。When the drawing process of step 405 is completed, D
Is updated to "D + d i.i + 1 " (step 406), 1 is added to i (step 407), and control is returned to the determination in step 402.
【0014】ステップ404の判定で「D+di.i+1 >
Lj」である場合には、座標点“i”(xi ,yi )と
座標点“i+1”(xi+1 ,yi+1 )とを結ぶ直線上で
座標点“i”からの距離が「Lj −D」の座標点
“i′”(xi′,yi ′)を求め(ステップ40
8)、描画処理draw(xi ,yi ,xi ′,
yi ′,j)を行う(ステップ409)。In step 404, "D + d i.i + 1 >"
L j ”, from the coordinate point“ i ”on the straight line connecting the coordinate point“ i ”(x i , y i ) and the coordinate point“ i + 1 ”(x i + 1 , y i + 1 ). The coordinate point “i ′” (x i ′, y i ′) whose distance is “L j −D” is obtained (step 40
8), drawing processing draw (x i , y i , x i ′,
y i ′, j) is performed (step 409).
【0015】ステップ409の描画処理が終了すると、
jの値の変換(0から1への変換または1から0への変
換)を行い(ステップ410)、変換後のjについて
「j≠0」であるか否かを判定する(ステップ41
1)。When the drawing process of step 409 is completed,
The value of j is converted (conversion from 0 to 1 or conversion from 1 to 0) (step 410), and it is determined whether or not “j ≠ 0” for j after conversion (step 41).
1).
【0016】この判定で「j≠0」でない場合には、座
標点“i”と座標点“i′”との間の距離di.t を求め
(ステップ412)、Dを「D+di.t 」に更新する
(ステップ413)。If "j ≠ 0" in this judgment, the distance d it between the coordinate point "i" and the coordinate point "i '" is obtained (step 412), and D is updated to "D + d it ". (Step 413).
【0017】ステップ411の判定で「j≠0」である
場合には、Dを0に更新する(初期化する)(ステップ
414)。If "j ≠ 0" in the determination of step 411, D is updated (initialized) to 0 (step 414).
【0018】ステップ413または414の処理が終了
すると、xi ′およびyi ′を新たなxi およびyi と
みなし(ステップ415)、ステップ402の判定に制
御を戻す。When the processing of step 413 or 414 is completed, x i ′ and y i ′ are regarded as new x i and y i (step 415), and the control is returned to the judgment of step 402.
【0019】このように、従来の破線の描画方式では、
実線部の長さおよび空白部の長さの算出は、破線データ
に基づいて行われていた。As described above, in the conventional broken line drawing method,
The calculation of the length of the solid line part and the length of the blank part was performed based on the broken line data.
【0020】[0020]
【発明が解決しようとする課題】上述した従来の破線の
描画方式では、実線部と空白部との区別が破線データの
みによって判断されているので、特異点が空白部に存在
する場合が生じ、座標点の集合が連結されて描画される
破線のY座標についての極値が適正に描画されないおそ
れがあるという欠点があった。In the above-described conventional method of drawing the broken line, the distinction between the solid line portion and the blank portion is determined only by the broken line data, so that a singular point may exist in the blank portion. There is a drawback that the extreme value about the Y coordinate of the broken line drawn by connecting the set of coordinate points may not be drawn properly.
【0021】本発明の目的は、上述の点に鑑み、特異点
が必ず実線部に存在するように座標点の集合を連結し、
座標点の集合が連結されて描画される破線のY座標につ
いての極値が適正に描画されるようにする破線の描画方
式を提供することにある。In view of the above points, an object of the present invention is to connect a set of coordinate points so that a singular point always exists in a solid line portion,
It is an object of the present invention to provide a drawing method of a broken line that allows an extreme value of the Y coordinate of a broken line drawn by connecting a set of coordinate points to be drawn properly.
【0022】[0022]
【課題を解決するための手段】本発明の破線の描画方式
は、X座標について昇順に並んだ座標点の集合により表
現された連続線分データを計算機によって処理し破線と
して出力装置に対して描画する破線の描画方式におい
て、連続線分データ,座標要素数およびY座標最小間隔
等の破線の描画に必要なデータを入力するデータ入力手
段と、このデータ入力手段により入力されたデータに基
づき処理対象の座標点が特異点であるか否かの判定を行
いその判定に基づいて特異点が実線部に描画されるよう
に実線部および空白部の長さを算出する破線描画距離算
出手段と、この破線描画距離算出手段による実線部およ
び空白部の長さの算出に基づいて出力装置に対して破線
の描画を行う破線描画手段とを有する。In the drawing method of the broken line of the present invention, continuous line segment data represented by a set of coordinate points arranged in ascending order with respect to the X coordinate is processed by a computer and drawn as a broken line to an output device. In the method of drawing a broken line, data input means for inputting data necessary for drawing a broken line such as continuous line segment data, the number of coordinate elements and the minimum Y coordinate interval, and a processing target based on the data input by this data input means And a broken line drawing distance calculation means for calculating the lengths of the solid line part and the blank part so that the singular point is drawn on the solid line part based on the judgment. And a broken line drawing unit for drawing a broken line to the output device based on the calculation of the lengths of the solid line portion and the blank portion by the broken line drawing distance calculation unit.
【0023】[0023]
【作用】本発明の破線の描画方式では、データ入力手段
が連続線分データ,座標要素数およびY座標最小間隔等
の破線の描画に必要なデータを入力し、破線描画距離算
出手段がデータ入力手段により入力されたデータに基づ
き処理対象の座標点が特異点であるか否かの判定を行い
その判定に基づいて特異点が実線部に描画されるように
実線部および空白部の長さを算出し、破線描画手段が破
線描画距離算出手段による実線部および空白部の長さの
算出に基づいて出力装置に対して破線の描画を行う。In the drawing method of the broken line of the present invention, the data input means inputs the data necessary for drawing the broken line such as the continuous line segment data, the number of coordinate elements and the minimum Y coordinate interval, and the broken line drawing distance calculating means inputs the data. Based on the data input by the means, it is determined whether or not the coordinate point to be processed is a singular point, and based on the determination, the lengths of the solid line part and the blank part are set so that the singular point is drawn in the solid line part. Then, the broken line drawing means draws a broken line on the output device based on the calculation of the lengths of the solid line portion and the blank portion by the broken line drawing distance calculation means.
【0024】[0024]
【実施例】次に、本発明について図面を参照して詳細に
説明する。DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the present invention will be described in detail with reference to the drawings.
【0025】図1は、本発明の破線の描画方式の一実施
例の構成を示すブロック図である。本実施例の破線の描
画方式は、データ入力手段1と、破線描画距離算出手段
2と、破線描画手段3と、出力装置4(ディスプレイ装
置やプリンタ等)とを含んで構成されている。FIG. 1 is a block diagram showing the configuration of an embodiment of a broken line drawing method of the present invention. The drawing method of the broken line of the present embodiment is configured to include a data input unit 1, a broken line drawing distance calculating unit 2, a broken line drawing unit 3, and an output device 4 (display device, printer, etc.).
【0026】図2は、本実施例の破線の描画方式の処理
を示す流れ図である。この処理は、初期値設定ステップ
201と、処理終了判定ステップ202と、距離算出ス
テップ203と、Y座標間隔判定ステップ204と、頂
点判定ステップ205と、特異点判定ステップ206
と、フラグおよび累積距離更新ステップ207と、Y座
標累積値初期化ステップ208と、破線データ距離判定
ステップ209と、描画処理ステップ210と、累積距
離更新ステップ211と、Y座標累積値更新ステップ2
12と、座標点番号更新ステップ213と、中間座標点
算出ステップ214と、描画処理ステップ215と、Y
座標累積値更新ステップ216と、フラグ変換ステップ
217と、フラグ判定ステップ218と、距離算出ステ
ップ219と、累積距離更新ステップ220と、累積距
離初期化ステップ221と、処理対象座標点変換ステッ
プ222とからなる。FIG. 2 is a flow chart showing the processing of the broken line drawing method of this embodiment. This process includes an initial value setting step 201, a process end determination step 202, a distance calculation step 203, a Y coordinate interval determination step 204, a vertex determination step 205, and a singular point determination step 206.
, Flag and cumulative distance update step 207, Y coordinate cumulative value initialization step 208, broken line data distance determination step 209, drawing processing step 210, cumulative distance update step 211, Y coordinate cumulative value update step 2
12, coordinate point number updating step 213, intermediate coordinate point calculating step 214, drawing processing step 215, Y
From the coordinate cumulative value update step 216, the flag conversion step 217, the flag determination step 218, the distance calculation step 219, the cumulative distance update step 220, the cumulative distance initialization step 221, and the processing target coordinate point conversion step 222. Become.
【0027】図3(d)は、本実施例の破線の描画方式
により図3(b)に示す座標点の集合が破線で連結され
た状態を示す図である。FIG. 3D is a diagram showing a state in which the set of coordinate points shown in FIG. 3B are connected by a broken line by the drawing method of the broken line of this embodiment.
【0028】図5は、本実施例の破線の描画方式による
描画処理の具体例を説明するための図である。FIG. 5 is a diagram for explaining a specific example of the drawing process by the broken line drawing method of this embodiment.
【0029】次に、このように構成された本実施例の破
線の描画方式の動作について説明する。Next, the operation of the drawing system of the broken line of the present embodiment thus constructed will be described.
【0030】データ入力手段1は、図3(a)に示すよ
うな破線データ,図3(b)に示すような座標点の集合
により表現された連続線分データおよび破線描画距離算
出手段2の処理で使用されるY座標最小間隔等のデータ
を入力する。なお、本実施例の破線の描画方式では、特
異点であるか否かを判定するための基準となる「Y座標
の値の差の一定値」が上述のY座標最小間隔に該当す
る。The data input means 1 includes a broken line data as shown in FIG. 3A, continuous line segment data represented by a set of coordinate points as shown in FIG. 3B, and a broken line drawing distance calculation means 2. Input data such as the minimum Y-coordinate interval used in processing. In the drawing method of the broken line of the present embodiment, the “constant value of the difference between the Y coordinate values”, which is a reference for determining whether or not it is a singular point, corresponds to the above-mentioned Y coordinate minimum interval.
【0031】破線描画距離算出手段2は、次のような手
順で処理を行う。The broken line drawing distance calculation means 2 performs processing in the following procedure.
【0032】データ入力手段1によるデータの入力等に
基づいて、初期値の設定を行う(ステップ201)。こ
こで、Dは破線の1周期の始点からの累積距離を示し、
iは処理対象の座標点の番号を示し、jは実線部と空白
部とを識別するためのフラグを示し(jが1の場合には
実線部の描画を示し、jが0の場合には空白部の描画を
示す)、nは処理対象の座標点の数(座標要素数)を示
し、SはY座標最小間隔を示し(本実施例では「S=1
0」とする)、Yd は頂点からのY座標の累積値を示し
ている。Initial values are set on the basis of data input by the data input means 1 (step 201). Here, D represents the cumulative distance from the start point of one cycle of the broken line,
i represents the number of the coordinate point to be processed, j represents a flag for distinguishing between the solid line part and the blank part (when j is 1, drawing of the solid line part is shown, and when j is 0, N represents the number of coordinate points to be processed (the number of coordinate elements), S represents the minimum Y coordinate interval (“S = 1” in this embodiment).
0 ”), and Y d represents the cumulative value of Y coordinates from the vertex.
【0033】「i<n」であるか否かを判定する(ステ
ップ202)。この判定で「i<n」でない場合には、
処理を終了する。すなわち、終了条件「i<n」が満た
されなくなるまで、以下の処理を繰り返す。It is determined whether or not "i <n" (step 202). If it is not "i <n" in this determination,
The process ends. That is, the following process is repeated until the end condition “i <n” is not satisfied.
【0034】ステップ202の判定で「i<n」である
場合には、座標点“i“と座標点“i+1”との間の距
離di.i+1 を求める(ステップ203)。If "i <n" in the judgment of step 202, the distance d i.i + 1 between the coordinate point "i" and the coordinate point "i + 1" is obtained (step 203).
【0035】座標点“i+1”と座標点“i”とのY座
標の差Yd ′を求め(「Yd ′=yi+1 −yi 」であ
る)(ステップ204)、「Yd ×Yd ′<0」である
か否かの判定により座標点“i”が頂点であるか否かを
判定する(ステップ205)。The difference Y d ′ between the Y coordinates of the coordinate point “i + 1” and the coordinate point “i” is obtained (“Y d ′ = y i + 1 −y i ”) (step 204) and “Y d It is determined whether or not the coordinate point "i" is a vertex by determining whether or not xYd '<0 "(step 205).
【0036】この判定で「Yd ×Yd ′<0」である
(座標点“i”が頂点である)場合には、「|Yd ′|
(Yd ′の絶対値)>S」であるか否かの判定により座
標点“i”が特異点であるか否かを判定する(ステップ
206)。If "Y d × Y d '<0" (coordinate point "i" is the apex) in this determination, "| Y d ' |
It is determined whether the coordinate point "i" is a singular point by determining whether (absolute value of Yd ')> S "(step 206).
【0037】この判定で「|Yd ′|>S」である(座
標点“i”が特異点である)場合には、jに1を設定し
てDに0を設定する(座標点“i”から実線部を描画す
るための準備を行う)(ステップ207)。If “| Y d ′ |> S” (coordinate point “i” is a singular point) in this determination, j is set to 1 and D is set to 0 (coordinate point “i”). Preparation is made to draw the solid line part from i ") (step 207).
【0038】このように、特異点からの実線部の描画を
保証するのは、Y座標についての極値を適正に描画する
ためである。ただし、全ての頂点からの実線部の描画を
行うと、座標点の集合の態様によっては、座標点を連結
する線が破線にならないおそれがあるので、ステップ2
06の判定に基づいて頂点の中の特異点のみについてス
テップ207の処理を適用する。Thus, the reason why the drawing of the solid line portion from the singular point is guaranteed is to properly draw the extreme value about the Y coordinate. However, if the solid line portion is drawn from all the vertices, the line connecting the coordinate points may not be a broken line depending on the mode of the set of coordinate points.
Based on the determination of 06, the processing of step 207 is applied only to the singular points in the vertices.
【0039】ステップ206の判定で「|Yd ′|>
S」でない場合またはステップ207の処理が終了した
場合には、Yd に0を設定する(頂点が出現する毎にそ
の頂点からのY座標の累積値をYd とし、ステップ20
5における頂点であるか否かの判定が適正に行われるよ
うにする)(ステップ208)。In the determination of step 206, "| Y d ′ |>
If it is not “S” or the process of step 207 is completed, Y d is set to 0 (every time a vertex appears, the cumulative value of the Y coordinate from the vertex is set to Y d, and step 20
The determination as to whether or not it is the apex in 5 is properly performed) (step 208).
【0040】ステップ205の判定で「Yd ×Yd ′<
0」でない場合またはステップ208の処理が終了した
場合には、「D+di.i+1 >Lj 」であるか否かを判定
する(ステップ209)。In the determination in step 205, "Y d × Y d ′ <
If it is not "0" or the process of step 208 is completed, it is determined whether "D + d i.i + 1 > L j " (step 209).
【0041】この判定で「D+di.i+1 >Lj 」でない
場合には、現時点で処理対象(連結の対象)としている
座標点“i”および座標点“i+1”に関しての描画処
理draw(xi ,yi ,xi+1 ,yi+1 ,j)を破線
描画手段3に対して指示する(ステップ210)。ここ
で、描画処理draw(xa ,ya ,xb ,yb ,f)
とは、従来の破線の描画方式と同様に、座標点(xa ,
ya )と座標点(xb,yb )との間に、5番目の引数
fの値が1である場合には実線を描画し、5番目の引数
fの値が0である場合には空白を描画する(描画処理を
行わない)処理をいう。If "D + d i.i + 1 > L j " is not found in this determination, the drawing process draw () for the coordinate point "i" and the coordinate point "i + 1" which is the process target (concatenation target) at this moment. x i , y i , x i + 1 , y i + 1 , j) is instructed to the broken line drawing means 3 (step 210). Here, the drawing processing draw (x a, y a, x b, y b, f)
Is the coordinate point (x a ,
If the value of the fifth argument f is 1, a solid line is drawn between ya ) and the coordinate point (x b , y b ), and if the value of the fifth argument f is 0, Indicates a process of drawing a blank (not performing a drawing process).
【0042】破線描画手段3は、上述の指示に基づい
て、出力装置4に対して描画処理draw(xi ,
yi ,xi+1 ,yi+1 ,j)を行う。The dashed line drawing means 3 draws the drawing process draw (x i ,
y i , x i + 1 , y i + 1 , j).
【0043】この描画処理が終了すると、破線描画距離
算出手段2は次のような手順で処理を続行する。When this drawing process is completed, the broken line drawing distance calculation means 2 continues the process in the following procedure.
【0044】Dを「D+di.i+1 」に更新し(ステップ
211)、Yd を「Yd +(yi+1−yi )」に更新し
(ステップ212)、iに1を加算し(ステップ21
3)、ステップ202の判定に制御を戻す。D is updated to "D + d i.i + 1 " (step 211), Y d is updated to "Y d + (y i + 1 -y i )" (step 212), and 1 is set to i. Add (Step 21
3) The control is returned to the judgment of step 202.
【0045】ステップ209の判定で「D+di.i+1 >
Lj」である場合には、座標点“i”(xi ,yi )と
座標点“i+1”(xi+1 ,yi+1 )とを結ぶ直線上で
座標点“i”からの距離が「Lj −D」の座標点
“i′”(xi′,yi ′)を求め(ステップ21
4)、描画処理draw(xi ,yi ,xi ′,
yi ′,j)を破線描画手段3に対して指示する(ステ
ップ215)。In step 209, "D + d i.i + 1 >>"
L j ”, from the coordinate point“ i ”on the straight line connecting the coordinate point“ i ”(x i , y i ) and the coordinate point“ i + 1 ”(x i + 1 , y i + 1 ). coordinate point distance is "L j -D""i'" (x i' , y i ') the calculated (step 21
4), drawing processing draw (x i , y i , x i ′,
y i ′, j) is instructed to the broken line drawing means 3 (step 215).
【0046】破線描画手段3は、この指示に基づいて、
出力装置4に対して描画処理draw(xi ,yi ,x
i ′,yi ′,j)を行う。Based on this instruction, the broken line drawing means 3
For the output device 4, the drawing process draw (x i , y i , x
i ′, y i ′, j).
【0047】この描画処理が終了すると、破線描画距離
算出手段2は次のような手順で処理を続行する。When this drawing processing is completed, the broken line drawing distance calculation means 2 continues the processing in the following procedure.
【0048】Yd を「Yd +(yi ′−yi )」に更新
し(ステップ216)、jの値を変換し(ステップ21
7)、変換後のjについて「j≠0」であるか否かを判
定する(ステップ218)。Y d is updated to “Y d + (y i ′ −y i )” (step 216) and the value of j is converted (step 21).
7) It is determined whether or not j after conversion is “j ≠ 0” (step 218).
【0049】この判定で「j≠0」でない場合には、座
標点“i”と座標点“i′”との間の距離di.t を求め
(ステップ219)、Dを「D+di.t 」に更新する
(ステップ220)。If it is not "j ≠ 0" in this judgment, the distance d it between the coordinate point "i" and the coordinate point "i '" is obtained (step 219), and D is updated to "D + d it ". (Step 220).
【0050】ステップ218の判定で「j≠0」である
場合には、Dを0に更新する(初期化する)(ステップ
221)。If "j ≠ 0" in the determination of step 218, D is updated (initialized) to 0 (step 221).
【0051】ステップ220または221の処理が終了
すると、xi ′およびyi ′を新たなxi およびyi と
みなし(ステップ222)、ステップ202の判定に制
御を戻す。When the processing of step 220 or 221 is completed, x i ′ and y i ′ are regarded as new x i and y i (step 222), and the control is returned to the judgment of step 202.
【0052】次に、図3(b)に示す座標点の集合を連
結して図3(d)に示すような破線を描画する際の上述
の処理の適用の内容について、代表的なものを以下に示
す。Next, typical contents of application of the above-mentioned processing when connecting the set of coordinate points shown in FIG. 3B to draw a broken line as shown in FIG. It is shown below.
【0053】 座標点“1”と座標点“2”との間の
処理の場合In the case of processing between coordinate point “1” and coordinate point “2”
【0054】a.ステップ203で「d1.2 ={(0−
10)2 +(0−0)2 }1/2 =10」が求められる。A. In step 203, "d 1.2 = {(0-
10) 2 + (0-0) 2 } 1/2 = 10 ".
【0055】b.ステップ205で座標点“1”が頂点
ではないと判定され、ステップ209で「D+d
1.2 (=0+10)>L1 (=10)」ではないと判定
されるので、ステップ210で座標点“1”と座標点
“2”との間に実線部の描画が行われる。B. In step 205, it is determined that the coordinate point “1” is not a vertex, and in step 209, “D + d
Since it is determined that 1.2 (= 0 + 10)> L 1 (= 10) ”is not satisfied, the solid line portion is drawn between the coordinate point“ 1 ”and the coordinate point“ 2 ”in step 210.
【0056】 座標点“2”と座標点“3”との間の
処理の場合In the case of processing between coordinate point “2” and coordinate point “3”
【0057】a.座標点“2”と座標点“3”との間で
ステップ202〜222が次のように適用される。A. Steps 202-222 are applied as follows between coordinate point "2" and coordinate point "3".
【0058】ステップ205で座標点“2”が頂点では
ないと判定され、ステップ209で「D+d2.3 >
L1 」であると判定されるので、ステップ214で中間
の座標点“2′”(x2 ′,y2 ′)が求められ、ステ
ップ215で座標点“2”と座標点“2′”との間に実
線部の描画が行われる(ただし、この座標点“2′”は
座標点“2”と同じ座標点であるので実際には描画は行
われない)。描画後の処理として、ステップ217で
「j=0」とされ、ステップ222で座標点“2′”の
(x2 ′,y2 ′)が(x2 ,y2 )とみなされる。In step 205, it is determined that the coordinate point "2" is not a vertex, and in step 209 "D + d 2.3 >
Since it is determined to be L 1 ”, the intermediate coordinate point“ 2 ′ ”(x 2 ′, y 2 ′) is obtained in step 214, and the coordinate point“ 2 ”and the coordinate point“ 2 ′ ”are determined in step 215. And the solid line portion is drawn (however, since this coordinate point "2 '" is the same coordinate point as the coordinate point "2", no actual drawing is performed). As processing after drawing, "j = 0" is set in step 217, and (x 2 ′, y 2 ′) of the coordinate point “2 ′” is regarded as (x 2 , y 2 ) in step 222.
【0059】b.座標点“2′”と座標点“3”との間
でステップ202〜222が次のように適用される(上
述のように、この場合には図2における(x2 ,y2 )
は座標点“2′”の座標(x2 ′,y2 ′)を示してい
る)。B. Step 202-222 between the coordinate point "2 '" and the coordinate point "3" is applied as follows (as described above in FIG. 2 in this case (x 2, y 2)
Indicates the coordinates (x 2 ′, y 2 ′) of the coordinate point “2 ′”).
【0060】ステップ205で座標点“2′”が頂点で
はないと判定され、ステップ209で「D+d2.3 >L
0 」であると判定されるので、ステップ214で中間の
座標点(x2 ′,y2 ′)(この(x2 ′,y2 ′)を
上述の座標点“2′”と区別するために座標点
“2′′”(x2 ′′,y2 ′′)として示す。
(x2 ′′′,y2 ′′′)等についても同様)が求め
られ、ステップ215で座標点“2′”と座標点
“2′′”との間に空白部の描画が行われる。描画後の
処理として、ステップ217で「j=1」とされ、ステ
ップ222で座標点“2′′”の(x2 ′′,
y2 ′′)が(x2 ,y2 )とみなされる。At step 205, it is determined that the coordinate point "2 '" is not a vertex, and at step 209 "D + d 2.3 >L".
In order to distinguish the intermediate coordinate point (x 2 ′, y 2 ′) (this (x 2 ′, y 2 ′) from the above-mentioned coordinate point “2 ′”, it is determined in step 214. Are shown as coordinate points “2 ″” (x 2 ″, y 2 ″).
(The same applies to x 2 ″ ″, y 2 ″ ″, etc.), and in step 215, a blank portion is drawn between the coordinate point “2 ′” and the coordinate point “2 ″”. .. As a process after drawing, “j = 1” is set in step 217, and (x 2 ″,
y 2 ″) is considered to be (x 2 , y 2 ).
【0061】c. 座標点“2′′”と座標点“3”との
間でステップ202〜222が次のように適用される。[0061] c. Step between the coordinate point "2 '''and the coordinate point" 3 "202-222 is applied as follows.
【0062】ステップ205で座標点“2′′”が頂点
ではないと判定され、ステップ209で「D+d2.3 >
L1 」であると判定されるので、ステップ214で中間
の座標点(x2 ′′′,y2′′′)が求められ、ステ
ップ215で座標点“2′′”と座標点“2′′′”と
の間に実線部の描画が行われる。描画後の処理として、
ステップ217で「j=0」とされ、ステップ222で
座標点“2′′′”の(x2 ′′′,y2 ′′′)が
(x2 ,y2 )とみなされる。At step 205, it is determined that the coordinate point "2""is not a vertex, and at step 209" D + d 2.3 >
Since it is determined to be L 1 ”, the intermediate coordinate point (x 2 ″ ″, y 2 ″ ″) is obtained in step 214, and the coordinate point“ 2 ″ ”and the coordinate point“ 2 ”are obtained in step 215. A solid line portion is drawn between "" and "". As the processing after drawing,
In step 217, “j = 0” is set, and in step 222, (x 2 ″ ″, y 2 ″ ″ ”of the coordinate point“ 2 ″ ″ ”is regarded as (x 2 , y 2 ).
【0063】d.座標点“2′′′”と座標点“3”と
の間の処理でステップ202〜222が次のように適用
される。D. In the processing between the coordinate point "2""and the coordinate point" 3 ", steps 202 to 222 are applied as follows.
【0064】ステップ205で座標点“2′′′”が頂
点ではないと判定され、ステップ209で「D+d2.3
>L0 」でないと判定されるので、ステップ210で座
標点“2′′′”と座標点“3”との間に空白部の描画
が行われる。At step 205, it is determined that the coordinate point "2""is not a vertex, and at step 209" D + d 2.3
Since it is determined that it is not> L 0 ”, in step 210, a blank part is drawn between the coordinate point“ 2 ″ ″ ”and the coordinate point“ 3 ”.
【0065】 座標点“3”と座標点“4”との間の
処理の場合In the case of processing between coordinate point “3” and coordinate point “4”
【0066】a.ステップ205で座標点“3”が頂点
であると判定され、ステップ206で座標点“3”が特
異点であると判定されるので、ステップ207で破線デ
ータにより示される破線の1単位の最初からの座標点
“3”を始点とする描画が行われるように設定される。
ステップ209で「D+d3.4 >L1 」であると判定さ
れるので、ステップ214で中間の座標点“3′”(x
3 ′,y3 ′)が求められ、ステップ215で座標点
“3”と座標点“3′”との間に実線部の描画が行われ
る。描画後の処理として、ステップ217で「j=0」
とされ、ステップ222で座標点“3′”の(x3 ′,
y3 ′)が(x3 ,y3 )とみなされる。A. Since it is determined in step 205 that the coordinate point “3” is a vertex and in step 206 that the coordinate point “3” is a singular point, in step 207 from the beginning of one unit of the broken line indicated by the broken line data. It is set so that drawing is started from the coordinate point “3” of.
Since it is determined in step 209 that “D + d 3.4 > L 1 ”, the intermediate coordinate point “3 ′” (x
3 ′, y 3 ′) is obtained, and in step 215, the solid line portion is drawn between the coordinate point “3” and the coordinate point “3 ′”. As processing after drawing, “j = 0” in step 217.
Then, in step 222, the coordinate point “3 ′” (x 3 ′,
y 3 ′) is regarded as (x 3 , y 3 ).
【0067】b.以下、順次、座標点“3′”と座標点
“3′′”との間に空白部の描画が行われ(ステップ2
15)、座標点“3′′”と座標点“3′′′”との間
に実線部の描画が行われ(ステップ215)、座標点
“3′′′”と座標点“4”との間に空白部の描画が行
われる(ステップ210)。B. Thereafter, a blank portion is sequentially drawn between the coordinate point “3 ′” and the coordinate point “3 ″” (step 2
15) Then, a solid line portion is drawn between the coordinate point "3""and the coordinate point" 3 "" (step 215), and the coordinate point "3""and the coordinate point" 4 "are drawn. A blank portion is drawn during the period (step 210).
【0068】 座標点“7”と座標点“8”との間の
処理の場合In the case of processing between the coordinate point “7” and the coordinate point “8”
【0069】a.ステップ205で座標点“7”が頂点
であると判定されるが、ステップ206で座標点“7”
が特異点ではないと判定されるので、座標点“7”(x
7 ,y7 )からの実線部の描画は行われない(ステップ
207の設定が行われない)。ステップ209で「D+
d7.8 >L0 」であると判定されるので、ステップ21
4で中間の座標点“7′”(x7 ′,y7 ′)が求めら
れ、ステップ215で座標点“7”と座標点“7′”と
の間に空白部の描画が行われる。A. Although it is determined in step 205 that the coordinate point “7” is the vertex, the coordinate point “7” is determined in step 206.
Is determined not to be a singular point, the coordinate point “7” (x
7 , 7 ) is not drawn (the setting in step 207 is not made). In step 209, "D +
Since d 7.8 > L 0 ”, step 21
Intermediate coordinate point 4 '7''(x7', y 7 ') is determined, the coordinate point "7" and the coordinate point "7 at step 215' draw the blank portion is carried out between the".
【0070】b.最後に、座標点“7′”と座標点
“8”との間に実線部の描画が行われる(ステップ21
0)。B. Finally, the solid line portion is drawn between the coordinate point "7 '" and the coordinate point "8" (step 21).
0).
【0071】図5は、図3(d)に示す破線を描画する
ために、以上のようにして順次行われる描画処理dra
w(xi ,yi ,xi′,yi ′,j)またはdraw
(xi ,yi ,xi+1 ,yi+1 ,j)の各引数の値を示
す図である。ただし、整数による近似値で各引数を示し
ているので、図3(d)上の値と若干の差異が存在して
いる。FIG. 5 is a drawing process dr which is sequentially performed as described above in order to draw the broken line shown in FIG. 3D.
w (x i , y i , x i ′, y i ′, j) or draw
It is a figure which shows the value of each argument of (x i , y i , x i + 1 , y i + 1 , j). However, since each argument is represented by an approximate value by an integer, there is a slight difference from the value shown in FIG.
【0072】[0072]
【発明の効果】以上説明したように本発明は、データ入
力手段,破線描画距離算出手段および破線描画手段を設
けることにより、破線で座標点の集合を連結する場合
に、特異点が必ず実線部に存在するように描画すること
ができ、座標点の集合が連結されて描画される破線のY
座標についての極値を適正に描画することができるとい
う効果がある。なお、上記効果を保証した上で、座標点
のY座標の変化が少ない場合には破線の空白部を等間隔
に設定することにより、破線としての描画を確保するこ
とができる。As described above, according to the present invention, by providing the data inputting means, the broken line drawing distance calculating means and the broken line drawing means, when the set of coordinate points is connected by the broken line, the singular point is always the solid line part. Can be drawn as if it exists in the
There is an effect that the extreme value of the coordinate can be drawn appropriately. In addition, after guaranteeing the above-mentioned effect, when the Y coordinate of the coordinate point changes little, it is possible to secure the drawing as a broken line by setting the blank portions of the broken line at equal intervals.
【図1】本発明の一実施例の構成を示すブロック図であ
る。FIG. 1 is a block diagram showing a configuration of an exemplary embodiment of the present invention.
【図2】図1に示す破線の描画方式の処理を示す流れ図
である。FIG. 2 is a flowchart showing a process of a drawing method of a broken line shown in FIG.
【図3】(a)は破線データを説明するための図であ
り、(b)は破線の描画方式における連結対象の座標点
の集合の一例を示す図であり、(c)は従来の破線の描
画方式による破線の描画の一例を示す図であり、(d)
は図1に示す破線の描画方式による破線の描画の一例を
示す図である。3A is a diagram for explaining broken line data, FIG. 3B is a diagram showing an example of a set of coordinate points to be connected in a broken line drawing method, and FIG. 3C is a conventional broken line. FIG. 7D is a diagram showing an example of drawing a broken line by the drawing method of FIG.
FIG. 2 is a diagram showing an example of drawing a broken line by the drawing method of the broken line shown in FIG. 1.
【図4】従来の破線の描画方式の処理を示す流れ図であ
る。FIG. 4 is a flow chart showing processing of a conventional broken line drawing method.
【図5】図1に示す破線の描画方式の描画処理の具体例
を説明するための図である。FIG. 5 is a diagram for explaining a specific example of the drawing process of the drawing method of the broken line shown in FIG.
1 データ入力手段 2 破線描画距離算出手段 3 破線描画手段 4 出力装置 1 data input means 2 broken line drawing distance calculation means 3 broken line drawing means 4 output device
───────────────────────────────────────────────────── フロントページの続き (72)発明者 登山 伸人 東京都港区西新橋三丁目20番4号 日本電 気エンジニアリング株式会社内 (72)発明者 山田 英史 宮城県黒川郡大和町吉岡字雷神2番地 宮 城日本電気株式会社内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Innovator Nobuhito Toyama 3-20-4 Nishishimbashi, Minato-ku, Tokyo Inside NEC Engineering Co., Ltd. No. 2 Miyagi NEC Corporation
Claims (1)
合により表現された連続線分データを計算機によって処
理し破線として出力装置に対して描画する破線の描画方
式において、 連続線分データ,座標要素数およびY座標最小間隔等の
破線の描画に必要なデータを入力するデータ入力手段
と、 このデータ入力手段により入力されたデータに基づき処
理対象の座標点が特異点であるか否かの判定を行いその
判定に基づいて特異点が実線部に描画されるように実線
部および空白部の長さを算出する破線描画距離算出手段
と、 この破線描画距離算出手段による実線部および空白部の
長さの算出に基づいて出力装置に対して破線の描画を行
う破線描画手段とを有することを特徴とする破線の描画
方式。1. A broken line drawing method in which a continuous line segment data represented by a set of coordinate points arranged in ascending order with respect to the X coordinate is processed by a computer and drawn as a broken line on an output device. Data input means for inputting data necessary for drawing a broken line, such as the number of elements and the minimum Y-coordinate interval, and determination of whether or not the coordinate point to be processed is a singular point based on the data input by this data input means. And the broken line drawing distance calculating means for calculating the lengths of the solid line part and the blank part so that the singular points are drawn on the solid line part based on the judgment, and the lengths of the solid line part and the blank part by the broken line drawing distance calculating means. And a broken line drawing means for drawing a broken line to the output device based on the calculation of the height.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25704091A JPH0566914A (en) | 1991-09-09 | 1991-09-09 | Drawing system for broken line |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25704091A JPH0566914A (en) | 1991-09-09 | 1991-09-09 | Drawing system for broken line |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0566914A true JPH0566914A (en) | 1993-03-19 |
Family
ID=17300910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25704091A Pending JPH0566914A (en) | 1991-09-09 | 1991-09-09 | Drawing system for broken line |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0566914A (en) |
-
1991
- 1991-09-09 JP JP25704091A patent/JPH0566914A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH06110992A (en) | Shape deformation input operation method in cad system | |
JPH0566914A (en) | Drawing system for broken line | |
JP2940865B2 (en) | A method to extract both ends of a road by propagation of active contour | |
JP5946398B2 (en) | Arrangement correction processing device in 3D reinforcement simulation system | |
JPH0769968B2 (en) | Straight line drawing method in the clip area | |
JPH05174153A (en) | Drawing data processor | |
JP2684609B2 (en) | Graphic display method in graphic data processing device | |
JP3451292B2 (en) | Figure transformation device | |
JP3139008B2 (en) | Line segment pixel generator | |
JPH07121723A (en) | Method for correcting direction data of stripe patterns, information processor for executing the same, method for correcting pitch data of stripe patterns and information processor for executing the same | |
JPH02201584A (en) | Interpolation section deciding device | |
JPH1049652A (en) | Method for calculating intersection of b-spline curve and straight line in three-dimensional cad | |
JP2746008B2 (en) | Paint color figure drawing apparatus and paint color data determination method | |
JPH07220098A (en) | Plotting data generator for circular arc by polygonal approximation | |
JPH0261779A (en) | Coordinate data processing unit | |
JPH11203489A (en) | Method and device for plotting bezier curve and recording medium storing bezier curve plotting program | |
JPH10143676A (en) | Picture processor and method for processing the same and recording medium | |
JPH0785289A (en) | Method for detecting end point of drawing input device | |
JPH0341568A (en) | Grid correcting system | |
JPH05249946A (en) | Stroke character generator | |
JPH01166179A (en) | Method for drawing clipped straight line | |
JPH11144066A (en) | Graphic processor | |
JPS61168013A (en) | Tablet input system of graphic information | |
JPH0275077A (en) | Pattern processing method | |
JPS63118890A (en) | System for processing polygonal image with painting surface |