JP2538645B2 - Curved line approximation device - Google Patents

Curved line approximation device

Info

Publication number
JP2538645B2
JP2538645B2 JP63159208A JP15920888A JP2538645B2 JP 2538645 B2 JP2538645 B2 JP 2538645B2 JP 63159208 A JP63159208 A JP 63159208A JP 15920888 A JP15920888 A JP 15920888A JP 2538645 B2 JP2538645 B2 JP 2538645B2
Authority
JP
Japan
Prior art keywords
curve
error
circuit
point
coordinate
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.)
Expired - Fee Related
Application number
JP63159208A
Other languages
Japanese (ja)
Other versions
JPH0210476A (en
Inventor
雅之 岡本
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 JP63159208A priority Critical patent/JP2538645B2/en
Priority to DE68927786T priority patent/DE68927786D1/en
Priority to EP89306213A priority patent/EP0349182B1/en
Priority to KR1019890009097A priority patent/KR920003479B1/en
Publication of JPH0210476A publication Critical patent/JPH0210476A/en
Priority to US07/795,253 priority patent/US5214754A/en
Application granted granted Critical
Publication of JP2538645B2 publication Critical patent/JP2538645B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔概 要〕 たとえばコンピュータグラフィック表示装置に用いら
れる曲線の折線近似装置に関し、 処理時間およびデータ量を増大させることなく曲線を
折線で近似させることを目的とし、 変曲点が一つの範囲における曲線を2つの曲線区間に
分割する曲線分割手段と、該曲線の始点および終点を結
ぶ線分の中点と該曲線の分割点との距離を誤差として演
算する誤差演算手段と、該誤差が所定値未満の場合には
当該曲線区間の始点および終点を結ぶ線分を前記曲線の
折線データとして発生する折線データ発生手段と、前記
誤差が所定値以上の場合には当該曲線区間をさらに2つ
の曲線区間に分割し前記曲線分割手段の動作を繰返させ
る繰返手段とを具備するように構成する。
DETAILED DESCRIPTION OF THE INVENTION [Outline] A curved line approximation device for use in, for example, a computer graphic display device, for the purpose of approximating a curved line with a polygonal line without increasing the processing time and the amount of data. A curve dividing means for dividing a curve in one range into two curve sections, and an error calculating means for calculating a distance between a midpoint of a line segment connecting a start point and an end point of the curve and a dividing point of the curve as an error. If the error is less than a predetermined value, a polygonal line data generating means for generating a line segment connecting the start point and the end point of the curve section as polygonal line data of the curve, and if the error is a predetermined value or more, the curve section Is further divided into two curve sections, and a repeating means for repeating the operation of the curve dividing means is provided.

〔産業上の利用分野〕[Industrial applications]

本発明はたとえばコンピュータグラフィック表示装置
に用いられる曲線の折線近似装置に関する。
The present invention relates to a curved line approximation apparatus used in, for example, a computer graphic display device.

〔従来の技術および発明が解決しようとする課題〕[Problems to be Solved by Conventional Techniques and Inventions]

一般的に、グラフィック装置では、曲線を直接発生さ
せて表示を行うとすると、複雑な処理を必要とするため
に、折線で近似して複数の線分を発生させて表示する。
Generally, in a graphic device, if a curve is directly generated and displayed, a complicated process is required. Therefore, a plurality of line segments are generated by approximation with polygonal lines and displayed.

従来は、曲線の折線近似の方法として、たとえば、曲
線を予め定められた分割数に分割し、分割点における曲
線上の点の座標のみを計算し、求められた曲線上の点の
座標を線分で結んだ折線で近似を行っていた。
Conventionally, as a method for approximating a curved line of a curve, for example, the curve is divided into a predetermined number of divisions, only the coordinates of the points on the curve at the division points are calculated, and the obtained coordinates of the points on the curve are drawn. It was approximated by the broken line connecting the minutes.

しかしながら、曲率が大きい曲線を折線で高精度で表
わすためには、上記分割数を増加させる必要があり、こ
の結果、処理時間およびデータ量が増大する一方、曲率
が小さい曲線に対して過剰の精度となるという課題があ
る。
However, in order to represent a curve having a large curvature with a polygonal line with high accuracy, it is necessary to increase the number of divisions. As a result, the processing time and the amount of data are increased, while an excessive accuracy is required for a curve having a small curvature. There is a problem that becomes.

従って、本発明の目的は、処理時間およびデータ量を
増大させることなく曲線を折線で近似させることにあ
る。
Therefore, an object of the present invention is to approximate a curve with a broken line without increasing processing time and data amount.

〔課題を解決するための手段〕[Means for solving the problem]

上述の課題を解決するため、本発明によれば、第1図
および第2図に示されるように、変曲点が一つの範囲に
おける曲線P01〜P02を2つの曲線区間P01〜P11,P11〜P
02に分割する曲線分割手段と、該曲線の始点P01および
終点P02を結ぶ線分の中点と該曲線の分割点P11との距離
を誤差eとして演算する誤差演算手段と、該誤差が所定
値未満の場合には当該曲線の始点および終点を結ぶ線分
を前記曲線の折線データとして発生する折線データ発生
手段と、前記誤差が所定値以上の場合には前記各曲線区
間をさらに2つの曲線区間に分割し前記曲線分割手段の
動作を繰返させる繰返手段とを具備することを特徴とす
る曲線の折線近似装置が提供される。
In order to solve the above-mentioned problems, according to the present invention, as shown in FIGS. 1 and 2, the curves P 01 to P 02 in one range of inflection points are divided into two curve sections P 01 to P 01. 11, P 11 ~P
A curve dividing means for dividing into 02 , an error calculating means for calculating a distance between a midpoint of a line segment connecting a start point P 01 and an end point P 02 of the curve and a dividing point P 11 of the curve as an error e, and the error Is less than a predetermined value, a polygonal line data generating means for generating a line segment connecting the starting point and the end point of the curve as polygonal line data of the curve; and if the error is a predetermined value or more, further dividing each curve section by 2 There is provided a polygonal line approximation device for a curve, comprising: a repeating unit that divides into one curve section and repeats the operation of the curve dividing unit.

〔作 用〕[Work]

上述の手段によれば、第2図に示すように、変曲点が
一つの範囲における曲線P01〜P02を2つの曲線区間P01
〜P11,P11〜P02に分割し、当該曲線の始点P01および終
点P02を結ぶ線分の中点と該曲線の分割点P11との距離が
誤差eとて演算される。この結果、誤差eが小さい場合
には、上記線分を折線データとし、大きい場合には、上
述の分割処理が繰返されて曲線の折線近似を行う。この
結果、曲率が大きい曲線に対しては分割数が増加する
が、曲率が小さい曲線に対しては分割数は減少する。
According to the above means, as shown in FIG. 2, the curves P 01 to P 02 in the range of one inflection point are divided into two curve sections P 01.
Divided into ~P 11, P 11 ~P 02, the distance between the dividing point P 11 of the line segment at the midpoint and the curve connecting the start point P 01 and the end point P 02 of the curve is calculated and the error e. As a result, when the error e is small, the above line segment is used as polygonal line data, and when it is large, the above-described division processing is repeated to approximate the curved line. As a result, the number of divisions increases for a curve having a large curvature, but the number of divisions decreases for a curve having a small curvature.

〔実施例〕〔Example〕

第3図は本発明に係る曲線の折線近似装置が適用され
る図形表示装置である。第3図において、1は図形デー
タ入力装置、2は座標変換装置、3は曲線発生装置、4
は描画処理装置、5はCRT6を制御する表示制御装置であ
る。本発明に係る曲線の折線近似装置は曲線発生装置3
として用いられる。
FIG. 3 shows a graphic display device to which the curved line approximation device according to the present invention is applied. In FIG. 3, 1 is a graphic data input device, 2 is a coordinate conversion device, 3 is a curve generation device, 4
Is a drawing processing device, and 5 is a display control device for controlling the CRT 6. The curved line approximation apparatus according to the present invention is a curve generation apparatus 3
Used as.

第4図は本発明に係る曲線の折線近似装置の一実施例
を示すブロック回路図である。第4図において、データ
入力回路401は3次ベジュ曲線を表わす4つの座標Q11
Q14を入力処理して曲線分割回路402に送出する。曲線分
割回路402はデータ入力回路401からの入力座標の曲線も
しくは誤差判定回路404から戻された曲線データの曲線
をts:1−tsで分割処理をする。誤差演算回路403は分割
された曲線とそれを近似する線分との誤差を演算する。
誤差判別回路404は誤差演算回路403により計算された誤
差と、予め設定された誤差の閾値との比較を行い、誤差
が閾値以内である場合には、データをデータ出力回路40
5に渡し、閾値以内でない場合には、データを再び曲線
分割回路402に戻す。データ出力回路405は、折線近似さ
れた曲線のデータを出力する処理を行う。
FIG. 4 is a block circuit diagram showing an embodiment of a curved line approximation apparatus according to the present invention. In FIG. 4, the data input circuit 401 has four coordinates Q 11 ~ representing a cubic Bezier curve.
Q 14 is input and sent to the curve dividing circuit 402. The curve division circuit 402 divides the curve of the input coordinates from the data input circuit 401 or the curve of the curve data returned from the error determination circuit 404 by ts: 1-ts. The error calculation circuit 403 calculates the error between the divided curve and the line segment that approximates it.
The error determination circuit 404 compares the error calculated by the error calculation circuit 403 with a preset error threshold value. If the error is within the threshold value, the data is output to the data output circuit 40.
When it is not within the threshold value, the data is returned to the curve dividing circuit 402 again. The data output circuit 405 performs a process of outputting curved line-approximated curve data.

以下、各回路402,403について詳述する。 Hereinafter, each of the circuits 402 and 403 will be described in detail.

曲線分割回路402は、たとえば、3次のベジュ曲線の
性質から曲線を比率ts:1−tsで分割する曲線上の点を求
める方法(参考文献:山口富士夫著“コンピュータディ
スプレイによる形状処理工学(2)”日刊工業p10〜1
5、昭和57)を用いて、曲線を分割するものである。第
5図に示すように、曲線分割回路402は、レジスタ501〜
504、座標分割回路505〜510、レジスタ511〜518により
構成されている。すなわち、第6図に示すように、曲線
を表わす座標としてQ11〜Q14が与えられたとすると、こ
れらの座標はレジスタ501〜504に格納される。座標Q11,
Q14はそのままレジスタ511,518に格納される。座標分割
回路505は座標Q11,Q12間を比率ts:1−tsで分割した座標
Q21を発生してレジスタ512に格納し、座標分割回路506
は座標Q12,Q13間を比率ts:1−tsで分割した座標Q22を発
生し、座標分割回路507は座標Q13,Q14間を比率ts:1−ts
で分割した座標Q23を発生してレジスタ517に格納する。
また、座標分割回路508は座標Q21,Q22間を比率ts:1−ts
で分割した座標Q31を発生してレジスタ513に格納し、座
標分割回路509は座標Q22,Q23間を比率ts:1−tsで分割し
た座標Q32を発生してレジスタ516に格納する。さらに、
座標分割回路510は座標Q31,Q32を比率ts:1−tsで分割し
た座標Q41を発生してレジスタ514,515に格納する。この
とき、第6図に示すように座標Q41は、Q11,Q12,Q13,Q14
により与えられた曲線を比率ts:1−tsで分割する曲線上
の座標となり、また同時に、この座標において曲線は2
つの曲線(Q11,Q21,Q31,Q41とQ41,Q32,Q23,Q14)に分割
される。
The curve division circuit 402 obtains a point on the curve that divides the curve at a ratio ts: 1-ts from the property of a cubic Bezier curve (reference: Fujio Yamaguchi, “Shape processing engineering by computer display (2 ) ”Nikkan Kogyo p10〜1
(5, Showa 57) is used to divide the curve. As shown in FIG. 5, the curve division circuit 402 includes registers 501 to
504, coordinate division circuits 505 to 510, and registers 511 to 518. That is, as shown in FIG. 6, if Q 11 to Q 14 are given as coordinates representing a curve, these coordinates are stored in the registers 501 to 504. Coordinate Q 11 ,
Q 14 is stored in registers 511 and 518 as it is. The coordinate division circuit 505 divides the coordinates Q 11 and Q 12 with the ratio ts: 1-ts.
Generates Q 21 and stores it in register 512, then the coordinate division circuit 506
Generates a coordinate Q 22 which is obtained by dividing the coordinates Q 12 and Q 13 by the ratio ts: 1-ts, and the coordinate dividing circuit 507 calculates the ratio ts: 1-ts between the coordinates Q 13 and Q 14.
The coordinate Q 23 divided by is generated and stored in the register 517.
Further, the coordinate division circuit 508 calculates the ratio ts: 1−ts between the coordinates Q 21 and Q 22.
The coordinate Q 31 divided by is generated and stored in the register 513, and the coordinate division circuit 509 generates the coordinate Q 32 obtained by dividing the coordinate Q 22 and Q 23 by the ratio ts: 1−ts and stored in the register 516. . further,
The coordinate dividing circuit 510 generates the coordinate Q 41 by dividing the coordinates Q 31 and Q 32 by the ratio ts: 1−ts and stores them in the registers 514 and 515. At this time, as shown in FIG. 6, the coordinate Q 41 is Q 11 , Q 12 , Q 13 , Q 14
Is the coordinate on the curve that divides the curve given by the ratio ts: 1-ts, and at the same time the curve is
It is divided into two curves (Q 11 , Q 21 , Q 31 , Q 41 and Q 41 , Q 32 , Q 23 , Q 14 ).

なお、第5図におけるレジスタ501〜504の入力座標Q
11〜Q14のデータ入力回路401もしくは誤差判別回路404
への切替は図示しないスイッチによって行われる。
The input coordinates Q of the registers 501 to 504 in FIG.
11 to Q 14 data input circuit 401 or error determination circuit 404
The switch to is performed by a switch (not shown).

第5図の各座標分割回路505〜510は、たとえば、第7
図に示すように、乗算器701,702、および加算器703によ
り構成される。
The coordinate division circuits 505 to 510 shown in FIG.
As shown in the figure, it is composed of multipliers 701 and 702 and an adder 703.

曲線たとえばQ11,Q14と線分▲▼との誤
差(距離)を演算する場合、第8図に示すように、座標
Q11、座標Q14は曲線区間の始点と終点、座標Q41は曲線
区間Q11,Q14をさらに分割する曲線上の座標、座標Mは
線分▲▼の中点、点Dは座標Q41より直線Q
11Q14に下ろした垂線の交点を現している。曲線区間の
始点と終点とを結んで得られる線分と、曲線区間をさら
にもう1度分割する曲線上の座標との距離は、座標Q41
と座標Dとの距離d2である。しかし、座標Q41より線分
▲▼に下ろした垂線の交点Dを求めること
は困難であるため、実用的ではない。そこで、線分▲
▼の中点Mと座標Q41との距離d1を誤差とし
て用いる。このようすることで、線分▲▼
の中点Mは簡単に求められ、なおかつ、この計算により
求められた距離d1は実際の距離d2より必ず長くなる。こ
のため、求められた距離d1を誤差と比較し判断する場合
に、近似された曲線の精度が低下することがないため、
近似された曲線がなめらかである。
When calculating the error (distance) between a curve such as Q 11 and Q 14 and a line segment ▲ ▼, as shown in FIG.
Q 11 and coordinates Q 14 are the start and end points of the curve section, coordinates Q 41 are the coordinates on the curve that further divides the curve sections Q 11 and Q 14 , coordinate M is the midpoint of line segment ▲ ▼, and point D is the coordinate Q. Straight line from 41
It shows the intersection of the perpendiculars drawn on 11 Q 14 . The distance between the line segment obtained by connecting the start point and the end point of the curved section and the coordinate on the curve that divides the curved section one more time is the coordinate Q 41.
Is the distance d 2 from the coordinate D. However, it is not practical to find the intersection D of the perpendicular line drawn from the coordinate Q 41 to the line segment ▼. Therefore, the line segment ▲
The distance d 1 between the midpoint M and the coordinate Q 41 is used as an error. By doing this, the line segment ▲ ▼
The middle point M is easily obtained, and the distance d 1 obtained by this calculation is always longer than the actual distance d 2 . Therefore, when the obtained distance d 1 is compared with the error for judgment, the accuracy of the approximated curve does not decrease,
The approximated curve is smooth.

この場合には、2点間の距離を求めることになる。2
点の座標を(X1,Y1),(X2,Y2)とすると、2点間の距
離の計算は、式(1)に示すように表される。
In this case, the distance between the two points will be obtained. Two
Assuming that the coordinates of the points are (X 1 , Y 1 ), (X 2 , Y 2 ), the calculation of the distance between the two points is expressed as shown in equation (1).

距離={(X1−X2+(Y1−Y21/2 …(1) 式(1)では、乗除算を必要とするため、高速な処理
を要求される場合には、不利である。これを加減算のみ
で処理を行うために、式(2)に示すよに、2点間の座
標差を用いる。
Distance = In {(X 1 -X 2) 2 + (Y 1 -Y 2) 2} 1/2 ... (1) Equation (1), since it requires multiplication and division, if required high-speed processing Is at a disadvantage. In order to perform this processing only by addition and subtraction, the coordinate difference between two points is used as shown in equation (2).

距離=|X1−X2|+|Y1−Y2| …(2) このようにすることで、演算を単純にかつ高速に実行
することができ、また、式(2)により求められた距離
は、式(1)により求められた距離より必ず長くなる。
このため、求められた距離を誤差と比較し判断する場合
に、近似された曲線の精度が低下することがないため、
近似された曲線がなめらかである。
Distance = | X 1 −X 2 | + | Y 1 −Y 2 |… (2) By doing this, the operation can be executed simply and at high speed. The distance is always longer than the distance calculated by the equation (1).
Therefore, when the obtained distance is compared with the error for judgment, the accuracy of the approximated curve does not decrease,
The approximated curve is smooth.

第8図に示す誤差を演算するための第4図の誤差演算
回路403の詳細は第9図に示される。第9図において、9
01,902,903,906はレジスタ、904は入力された2つの座
標の中点を求める中点演算回路、905は、入力された2
つの座標から式(2)に示した計算式により求められる
座標誤差を演算する座標差分演算回路である。
Details of the error calculation circuit 403 of FIG. 4 for calculating the error shown in FIG. 8 are shown in FIG. In FIG. 9, 9
01, 902, 903, and 906 are registers, 904 is a midpoint arithmetic circuit for finding the midpoint of the two input coordinates, and 905 is the input 2
It is a coordinate difference calculation circuit that calculates a coordinate error obtained from the two coordinates by the calculation formula shown in Formula (2).

最初に、曲線分割回路402より出力された、2つの曲
線に分割された曲線のうち、誤差演算に必要なQ11,Q14,
Q41が、それぞれレジスタ901から903に格納される。こ
こで、Q11は曲線の始点、Q14は曲線の終点、Q41は、Q11
を曲線の始点Q14を曲線の終点とする曲線を比率ts:1−t
sに分割する曲線上の点である。この結果、中点演算回
路904には、Q11とQ14が入力され、中点演算回路904の出
力として、曲線の始点Q11と曲線の終点Q14を結ぶ線分の
中点Mが求められる。また、座標差分演算回路905に
は、中点演算回路904により求められた曲線の始点Q11
の曲線の終点Q14を結ぶ線分の中点Mと、Q11を曲線の始
点Q14を曲線の終点とする曲線を比率ts:1−tsに分割す
る曲線上の点Q41とが入力され、座標差分演算回路905の
出力として、この2つの座標の差分が求められる。この
演算結果が誤差eとして、レジスタ906に格納される。
First, of the curves divided into two curves output from the curve dividing circuit 402, Q 11 , Q 14 , and
Q 41 is stored in the registers 901 to 903, respectively. Where Q 11 is the beginning of the curve, Q 14 is the end of the curve, and Q 41 is Q 11
Ratios curves for the starting point Q 14 of the curve and the end point of the curve ts: 1-t
A point on the curve that divides into s. As a result, Q 11 and Q 14 are input to the midpoint arithmetic circuit 904, and the midpoint M of the line segment connecting the curve start point Q 11 and the curve end point Q 14 is obtained as the output of the midpoint arithmetic circuit 904. To be In addition, the coordinate difference calculation circuit 905 includes the midpoint M of the line segment connecting the curve start point Q 11 and the curve end point Q 14 obtained by the midpoint calculation circuit 904, and Q 11 as the curve start point Q 14 . The point Q 41 on the curve that divides the curve that is the end point of the curve into the ratio ts: 1-ts is input, and the difference between these two coordinates is obtained as the output of the coordinate difference calculation circuit 905. The calculation result is stored in the register 906 as the error e.

なお、第9図の中点演算回路904は、たとえば、第10
図に示すように、加算器1001および除算器1002により構
成される。
The midpoint arithmetic circuit 904 of FIG.
As shown in the figure, it is composed of an adder 1001 and a divider 1002.

上述の誤差eを、第4図の誤差判定回路404が閾値と
比較して、誤差が閾値より小さい場合には、線分▲
▼がデータ出力回路905より出力される。ま
た、誤差が閾値より大きい場合には、曲線Q11,Q21,Q31,
Q41が再び曲線分割回路402に入力され、分割される。こ
のとき、もう1つの曲線であるQ41,Q32,Q23,Q14は、誤
差判定回路404内部に一時的に保持しておき、曲線Q11,Q
21,Q31,Q41の分割が終了した時点で、曲線分割回路402
に入力され、処理が行われる。
The above error e is compared with the threshold value by the error determination circuit 404 in FIG. 4, and if the error is smaller than the threshold value, the line segment ▲
▼ is output from the data output circuit 905. If the error is larger than the threshold value, the curves Q 11 , Q 21 , Q 31 ,
Q 41 is again input to the curve division circuit 402 and divided. At this time, the other curves Q 41 , Q 32 , Q 23 , and Q 14 are temporarily stored in the error determination circuit 404, and the curves Q 11 and Q
When the division of 21 , Q 31 and Q 41 is completed, the curve division circuit 402
Is input to and processing is performed.

この一連の処理により、3次のベジュ曲線は折線近似
され出力される。
Through this series of processing, the cubic Bezier curve is approximated to a broken line and output.

上述の実施例は汎用のマイクロコンピュータを用いて
そのプログラムとして実現することも可能である。たと
えば、第11図に示すように、ステップ1101にて3次ベジ
ュ曲線用データQ11〜Q14を入力し、ステップ1102にて3
次ベジュ曲線データを生成することにより曲線の分割を
行い、ステップ1103にて8個のQ11,Q21,…,Q14をメモリ
に格納する。ステップ1105では、曲線Q11,Q21,…,Q14
中点と線分▲▼との距離eを演算し、ステ
ップ1105にて距離eが閾値以下か否かを判別する。この
結果、距離e≦閾値であればステップ1106にて折線デー
タとして線分▲▼を出力し、その他であれ
ば上述のステップ1102〜1104を繰返す。すなわち、曲線
をさらに分割する。また、ステップ1107,1008にて曲線
のすべて折線近似が終了するまでステップ1102〜1106が
繰返される。
The above-described embodiment can be realized as a program using a general-purpose microcomputer. For example, as shown in FIG. 11, at step 1101, cubic Bezier curve data Q 11 to Q 14 are input, and at step 1102, 3
The curve is divided by generating the next Bezier curve data, and in step 1103, eight Q 11 , Q 21 , ..., Q 14 are stored in the memory. In step 1105, the distance e between the midpoint of the curves Q 11 , Q 21 , ..., Q 14 and the line segment ▼ is calculated, and in step 1105 it is determined whether or not the distance e is less than or equal to a threshold value. As a result, if the distance e ≦ threshold value, the line segment ▲ ▼ is output as broken line data in step 1106, and otherwise, steps 1102 to 1104 are repeated. That is, the curve is further divided. Further, steps 1102 to 1106 are repeated until all the broken line approximations of the curves are completed in steps 1107 and 1008.

〔発明の効果〕〔The invention's effect〕

以上説明したように本発明によれば、曲線の曲率に応
じて分割数すなわち近似折線の数が変化するので、処理
時間およびデータ量を増大させることなく、曲線を効率
よく、なめらかに折線近似することができる。
As described above, according to the present invention, since the number of divisions, that is, the number of approximate polygonal lines, changes according to the curvature of the curve, the curve is efficiently and smoothly approximated to the polygonal line without increasing the processing time and the data amount. be able to.

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

第1図は本発明の基本構成を示す図、 第2図は本発明の作用を説明する図、 第3図は本発明に係る曲線の折線近似装置が適用される
図形表示装置を示すブロック回路図、 第4図は本発明に係る曲線の折線近似装置の一実施例を
示すブロック回路図、 第5図は第4図の曲線分割回路を示すブロック図、 第6図は3次ベジュ曲線の分割を説明する図、 第7図は第5図の座標分割回路の一例を示す回路図、 第8図は誤差演算を示すグラフ、 第9図は第4図の誤差演算回路を示す回路図、 第10図は第9図の中心演算回路を示す回路図、 第11図は他の実施例を示すフローチャートである。 401……データ入力回路、402……曲線分割回路、 403……誤差演算回路、404……誤差判別回路、 405……データ出力回路。
FIG. 1 is a diagram showing a basic configuration of the present invention, FIG. 2 is a diagram for explaining the operation of the present invention, and FIG. 3 is a block circuit showing a graphic display device to which a curved line approximation device according to the present invention is applied. FIG. 4, FIG. 4 is a block circuit diagram showing an embodiment of a curved line approximation apparatus according to the present invention, FIG. 5 is a block diagram showing the curve dividing circuit of FIG. 4, and FIG. 6 is a cubic Bezier curve. FIG. 7 is a circuit diagram showing an example of the coordinate division circuit shown in FIG. 5, FIG. 8 is a graph showing error calculation, and FIG. 9 is a circuit diagram showing the error calculation circuit shown in FIG. FIG. 10 is a circuit diagram showing the central arithmetic circuit of FIG. 9, and FIG. 11 is a flow chart showing another embodiment. 401 ... Data input circuit, 402 ... Curve division circuit, 403 ... Error calculation circuit, 404 ... Error determination circuit, 405 ... Data output circuit.

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】変曲点が一つの範囲における曲線(P01〜P
02)を2つの曲線区間(P01〜P11,P11〜P02)に分割す
る曲線分割手段と、 該曲線の始点(P01)および終点(P02)を結ぶ線分(▲
▼)の中点と該曲線の分割点(P11)との
距離を誤差として演算する誤差演算手段と、 該誤差が所定値未満の場合には当該曲線の始点および終
点を結ぶ線分を前記曲線の折線データとして発生する折
線データ発生手段と、 前記誤差が所定値以上の場合には前記各曲線区間をさら
に2つの曲線区間に分割し前記曲線分割手段の動作を繰
返させる繰返手段とを具備することを特徴とする曲線の
折線近似装置。
1. A curve (P 01 to P) in which the inflection point is within one range.
02 ) is divided into two curved sections (P 01 to P 11 , P 11 to P 02 ) and a line segment (▲) connecting the starting point (P 01 ) and the ending point (P 02 ) of the curve.
▼) error calculating means for calculating the distance between the midpoint of the curve and the dividing point (P 11 ) of the curve as an error, and if the error is less than a predetermined value, the line segment connecting the start point and end point of the curve A polygonal line data generation unit that generates curved line data, and a repeating unit that divides each curve segment into two curve segments and repeats the operation of the curve segmentation unit when the error is a predetermined value or more. An apparatus for approximating a curved line, comprising:
【請求項2】前記誤差演算手段は、前記線分の中点と前
記曲線の分割点との距離として座標差を演算することを
特徴とする請求項1に記載の曲線の折線近似装置。
2. The curved line approximation apparatus according to claim 1, wherein the error calculating means calculates a coordinate difference as a distance between a midpoint of the line segment and a dividing point of the curve.
JP63159208A 1988-06-29 1988-06-29 Curved line approximation device Expired - Fee Related JP2538645B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP63159208A JP2538645B2 (en) 1988-06-29 1988-06-29 Curved line approximation device
DE68927786T DE68927786D1 (en) 1988-06-29 1989-06-20 Method and device for approximating a curve with a polygonal line
EP89306213A EP0349182B1 (en) 1988-06-29 1989-06-20 Method and apparatus for approximating polygonal line to curve
KR1019890009097A KR920003479B1 (en) 1988-06-29 1989-06-29 Method and apparatus for piecewise curve approximation
US07/795,253 US5214754A (en) 1988-06-29 1991-11-19 Method and apparatus for approximating polygonal line to curve

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63159208A JP2538645B2 (en) 1988-06-29 1988-06-29 Curved line approximation device

Publications (2)

Publication Number Publication Date
JPH0210476A JPH0210476A (en) 1990-01-16
JP2538645B2 true JP2538645B2 (en) 1996-09-25

Family

ID=15688684

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63159208A Expired - Fee Related JP2538645B2 (en) 1988-06-29 1988-06-29 Curved line approximation device

Country Status (1)

Country Link
JP (1) JP2538645B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2842561B2 (en) * 1993-02-19 1999-01-06 株式会社 エイ・ティ・アール人間情報通信研究所 Feature point extraction method
JP2016081187A (en) 2014-10-14 2016-05-16 キヤノン株式会社 Information processing device, information processing system, method for controlling information processing device, and computer program
KR102547711B1 (en) * 2022-08-01 2023-06-27 주식회사 하늘숲엔지니어링 Method and system for generating realtime chain corresponding to object including arc or circle included in cad data

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6286468A (en) * 1985-10-12 1987-04-20 Sumitomo Electric Ind Ltd Polygonal line approximation circuit for line picture

Also Published As

Publication number Publication date
JPH0210476A (en) 1990-01-16

Similar Documents

Publication Publication Date Title
EP0249705B1 (en) Method and apparatus for producing a curved image on a graphics display device
US5363479A (en) System and method for rendering bezier splines
US5367617A (en) System and method of hybrid forward differencing to render Bezier splines
US5214754A (en) Method and apparatus for approximating polygonal line to curve
US5303321A (en) Integrated hardware generator for area fill, conics and vectors in a graphics rendering processor
JPH01124077A (en) Pixel generation method and system
EP0349182B1 (en) Method and apparatus for approximating polygonal line to curve
JPH0776987B2 (en) Graphic conversion method in graphic display system
JP2538645B2 (en) Curved line approximation device
JP2677273B2 (en) A polygonal line approximation device for cubic Bezier curves
JP2961121B2 (en) Curve approximation device
JP3059739B2 (en) Information processing apparatus with curve drawing function and processing method
JP2684609B2 (en) Graphic display method in graphic data processing device
EP0389890A2 (en) Method and apparatus for generating figures with three degrees of freedom
US5167018A (en) Polygon-filling apparatus
JP2522107B2 (en) Curve fitting method
JP2768331B2 (en) Curve linear approximation device
JP3039387B2 (en) Apparatus for calculating intersection of B-spline curve and straight line in three-dimensional CAD
JPH1049691A (en) Method and device for tracing dot sequence with bezier curve
JPH0991447A (en) Device for approximating bezier curve
JPS6114514B2 (en)
JPH07181944A (en) Outline font drawing device
JPH0145105B2 (en)
EP0631253A2 (en) A device for use in the digital processing of a graphic image containing a straight line
JPS62205482A (en) Segment generating circuit of crt display device

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees