JP3118064B2 - Curve drawing device - Google Patents
Curve drawing deviceInfo
- Publication number
- JP3118064B2 JP3118064B2 JP04066863A JP6686392A JP3118064B2 JP 3118064 B2 JP3118064 B2 JP 3118064B2 JP 04066863 A JP04066863 A JP 04066863A JP 6686392 A JP6686392 A JP 6686392A JP 3118064 B2 JP3118064 B2 JP 3118064B2
- Authority
- JP
- Japan
- Prior art keywords
- section
- value
- division
- curve
- division value
- 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
Links
Landscapes
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は始点,終点および始終点
間を結ぶ近似式情報に基づいて始点および終点間を結ぶ
曲線を描画させる曲線描画装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a curve drawing apparatus for drawing a curve connecting a start point and an end point based on approximate expression information connecting the start point, the end point, and the start end point.
【0002】[0002]
【従来の技術】文字や図形などを表示する文書作成処理
システムにおいては、文字や図形の輪郭線の特徴点列の
集合を記憶させておき、表示に際しては、特徴点間を例
えばベジエ曲線で近似させて輪郭線をビットマップメモ
リに展開し、その後、必要に応じて輪郭線内を塗りつぶ
して文字を表示させる方法が用いられている。2. Description of the Related Art In a document creation processing system for displaying characters and figures, a set of characteristic points of outlines of characters and figures is stored, and at the time of display, the characteristic points are approximated by, for example, a Bezier curve. Then, the outline is developed in a bitmap memory, and thereafter, the inside of the outline is painted as necessary to display characters.
【0003】すなわち、2次元に対応させたビットマッ
プメモリに対して、近似関数y=f(x)と始点A
[a,f(a)]および終点B[b,f(b)]とが与
えられたとき、AB間を例えばx方向にn個に分割し、
各分割点に対するf(x)の値を順次求めてメモリ上に
展開し、隣接する2点間を直線で接続してAB間の曲線
を描画させるようにしていた。That is, for a bit map memory corresponding to two dimensions, an approximate function y = f (x) and a starting point A
Given [a, f (a)] and the end point B [b, f (b)], divide the space between AB into n in the x direction, for example,
The value of f (x) for each division point is sequentially obtained and developed on a memory, and a curve between AB is drawn by connecting two adjacent points with a straight line.
【0004】[0004]
【発明が解決しようとする課題】前述したようなビット
マップメモリ上にAB間の曲線を展開する場合、分割数
nを多くとると重なる点が多くなって無駄を生ずるとと
もに処理時間が多く必要とする。また、逆に分割数を少
なくして重なる度合を小さくすると、曲線によっては不
連続な連となることがある。When a curve between A and B is developed on a bit map memory as described above, if the number of divisions n is increased, the number of overlapping points increases, causing waste and a long processing time. I do. Conversely, if the degree of overlap is reduced by reducing the number of divisions, a discontinuous run may occur depending on the curve.
【0005】しかし、描画においては不連続な連となる
場合は不自然な文字や図形が表示されるため、従来は処
理時間が多くなっても不連続な連とならないよう分割数
nを予め或る程度多くとっていた。本発明は、重なる無
駄な点が少なく、かつ不連続な連とならないように分割
して処理時間を短縮するよう改良した曲線描画装置を提
供することを目的とする。However, when drawing a discontinuous run, an unnatural character or figure is displayed. Therefore, conventionally, even if the processing time is long, the number of divisions n is set in advance so as not to form a discontinuous run. I took a lot. SUMMARY OF THE INVENTION It is an object of the present invention to provide an improved curve drawing apparatus in which the number of unnecessary waste points is small and the processing time is reduced by dividing the processing so as not to form a discontinuous run.
【0006】[0006]
【課題を解決するための手段】前述の課題を解決する手
段を説明する前に、まず本発明の原理を説明する。ビッ
トマップメモリの各ビットは2次元アドレス値(整数)
で指示されるため、ビットマップメモリ上では重なると
は、図3において、整数[x]と整数[x+△x](△
xは分割値)、或いは整数[f(x)]と整数[f(x
+△x)]が同一であることを意味する。すなわち、 [x+△x]−[x]=0 …(1.1) |[f(x+△x)]−[f(x)]|=0 …(1.2) のいずれかが成立するときである。Before describing the means for solving the above-mentioned problems, the principle of the present invention will be described first. Each bit of the bitmap memory is a two-dimensional address value (integer)
Therefore, the overlap on the bitmap memory means that the integer [x] and the integer [x + {x] ({
x is a division value), or an integer [f (x)] and an integer [f (x
+ △ x)] are the same. That is, any of [x + △ x] − [x] = 0 (1.1) | [f (x + △ x)] − [f (x)] | = 0 (1.2) It is time.
【0007】また、不連続になるときは、 [x+△x]−[x]>1 …(2.1) |[f(x+△x)]−[f(x)]|>1 …(2.2) のいずれかが成立するときである。[0007] When discontinuity occurs, [x + △ x]-[x]> 1 (2.1) | [f (x + △ x)]-[f (x)] |> 1 ( 2.2) when any of
【0008】したがって、xに関しては△xは1にすれ
ば重なりも不連続も生じない。yに関しては、変化量△
yは △y=f(x+△x)−f(x) …(3) であり、f(x)の導関数でf′(x)とすると、 △y=f′(x)・△x …(4) で表わされ、不連続にならないためには |f′(x)・△x|≦1 …(5) が区間[a,b]で常に成立するように分割値を選定す
ればよい。Therefore, if x is set to 1, no overlap or discontinuity occurs with respect to x. As for y, the amount of change △
y is Δy = f (x + Δx) −f (x) (3), and when f ′ (x) is a derivative of f (x), Δy = f ′ (x) · △ x .. (4), and in order to avoid discontinuity, the division value should be selected such that | f ′ (x) · △ x | ≦ 1 (5) always holds in the section [a, b]. I just need.
【0009】近似式f(x)は与えられ、その微分値は
容易に得られるため、区間[a,b]で式(5)が成立
する分割値を得ることは容易である。つぎに課題を解決
するための手段を説明する。始点,終点および始終点間
を結ぶ近似式情報に基づいて始点および終点間を結ぶ曲
線を描画させる曲線描画装置において、 (a)前記始点,終点および近似式情報を格納する曲線
描画情報メモリと、 (b)前記曲線描画情報メモリに格納されている近似式
情報より近似式の微分値を求めてこの微分値をもとに分
割値を算出する分割値算出部と、 (c)前記始点および終点区間および前記始点および終
点区間を分割した区間に対する前記分割値算出部で算出
された分割値に基づいて描画区間を分割するか否かを判
定する区間分割判定部と、 (d)前記区間分割判定部で判定された描画区間に対し
て 前記分割値算出部で算出された分割値に基づいて描画
区間の座標値を分割して曲線描画値を算出する曲線描画
値算出部と、また始点,終点および始終点間を結ぶ近似
式情報に基づいて始点および終点間を結ぶ曲線を描画さ
せる曲線描画方法において、 (a)前記始点,終点および近似式情報を格納し、 (b)格納されている近似式情報より近似式の微分値を
求めてこの微分値をもとに分割値を算出し、 (c)前記始点および終点区間および前記始点および終
点区間を分割した区間に対する算出された分割値に基づ
いて描画区間を分割するか否かを判定し、 (d)判定された描画区間に対して算出された分割値に
基づいて描画区間の座標値を分割して曲線描画値を算出
する。を備える。 Since an approximate expression f (x) is given and its differential value can be easily obtained, it is easy to obtain a divided value satisfying the expression (5) in the section [a, b]. Next, means for solving the problem will be described. A curve drawing device for drawing a curve connecting a start point and an end point based on approximate expression information connecting a start point, an end point, and a start end point, (a) a curve drawing information memory for storing the start point, the end point, and the approximate expression information; (B) a division value calculation unit for obtaining a differential value of the approximate expression from the approximate expression information stored in the curve drawing information memory and calculating a division value based on the differential value; and (c) the start point and the end point. Sections and start and end points
Calculated by the division value calculation unit for the section obtained by dividing the point section
Whether to divide the drawing section based on the
A section division determination unit to a constant with respect to the drawing section is determined by; (d) interval division determination unit
Rendered based on division value calculated by the division value calculator Te
A curve drawing value calculation unit that calculates the curve drawing value by dividing the coordinate value of the section, and an approximation connecting the start point, end point, and start and end points
Draws a curve connecting the start and end points based on the formula information.
In curve drawing method of, (a) the start point, and stores the end point and the approximate expression information, a differential value of the approximate expression from the approximate expression information stored (b)
And calculating a division value based on the differential value, and (c) the start point and end point section and the start point and end point.
Based on the calculated division value for the section obtained by dividing the point section,
To determine whether to divide the drawing section, and (d) calculate the division value calculated for the determined drawing section.
Calculate curve drawing value by dividing the coordinate value of drawing section based on
I do. Is provided.
【0010】[0010]
【作用】曲線描画情報メモリには描画させようとする曲
線の始点,終点および始終点間の近似式情報が格納され
る。分割値算出部では、前記曲線描画情報メモリより近
似式情報を読出して微分値を求めて、始点および終点間
で前記式(5)を満足する分割値を算出する。The curve drawing information memory stores the start point, end point and approximate expression information between the start and end points of the curve to be drawn. The division value calculation unit reads the approximate expression information from the curve drawing information memory to calculate a differential value, and calculates a division value satisfying the expression (5) between the start point and the end point.
【0011】区間分割判定部は前記始点および終点区間
および前記始点および終点区間を分割した区間に対する
前記分割値算出部で算出された分割値に基づいて描画区
間を分割するか否かを判定する。曲線描画値算出部では
前記区間分割判定部で判定された描画区間に対して前記
分割値算出部で算出された分割値に基づいて描画区間の
座標値を分割して曲線描画値を算出する。以上のよう
に、始点および終点間を、始点終点間の曲線近似式の微
分値に基づいて分割値を求めて分割し、分割された各点
に対応する曲線描画値を算出するようにしたので、重な
りが少なく、かつ不連続な連を発生することなく、曲線
描画処理時間を短縮させることができる。[0011] The section division judging section is configured to determine the start point and end point sections.
And the section obtained by dividing the start point and end point sections
The drawing area is calculated based on the division value calculated by the division value calculation unit.
It is determined whether to divide the interval. In the curve drawing value calculator,
Drawing section based on division value calculated by the division value calculating section against the determined drawn sections in the section division determination unit
The coordinate values are divided to calculate a curve drawing value. As described above, between the start point and the end point, the division value is obtained based on the differential value of the curve approximation equation between the start point and the end point, and the division is performed, and the curve drawing value corresponding to each divided point is calculated. In addition, it is possible to reduce the time required for the curve drawing process without causing overlapping and generating discontinuous runs.
【0012】[0012]
【実施例】本発明の一実施例を図1および2を参照して
説明する。図1は本発明の実施例の構成図、図2は同実
施例の動作フローチャートである。図1において、1は
曲線描画情報メモリであり、描画させようとする曲線の
始点,終点および近似式情報を格納するメモリである。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described with reference to FIGS. FIG. 1 is a block diagram of an embodiment of the present invention, and FIG. 2 is an operation flowchart of the embodiment. In FIG. 1, reference numeral 1 denotes a curve drawing information memory, which stores start and end points of a curve to be drawn and approximate expression information.
【0013】2は分割値算出部であり、与えられた区間
で式(5)を満足する分割値の算出を行なう。3は区間
分割判定部であり、後で説明する。4は曲線描画値算出
部であり、分割値算出部で算出された分割値に基づいて
分割し、曲線描画値を算出する。Reference numeral 2 denotes a division value calculation unit that calculates a division value that satisfies Expression (5) in a given section. Reference numeral 3 denotes a section division determination unit, which will be described later. Reference numeral 4 denotes a curve drawing value calculation unit that divides the curve based on the division value calculated by the division value calculation unit and calculates a curve drawing value.
【0014】5はビットマップメモリ、6は表示部、7
はデータの入出力インタフェース(I/O)、8は処理
を行なうプロセッサ(CPU)である。実施例の動作を
説明するまえに、実施例の分割値算出部2における区間
[a,b]で式(5)を満足する分割値の算出方法およ
び区間分割判定部3での区間分割判定方法の原理を説明
する。5 is a bit map memory, 6 is a display unit, 7
Is a data input / output interface (I / O), and 8 is a processor (CPU) for performing processing. Before describing the operation of the embodiment, a method of calculating a division value that satisfies Expression (5) in section [a, b] in division value calculation section 2 and a section division determination method in section division determination section 3 in the embodiment. The principle of will be described.
【0015】分割値は式(5)を満足する必要がある。
したがって、y方向に対して、重なりが少なく、かつ不
連続が生じない条件は、 |f′(x)・△x|=1 …(6) となる。The division value needs to satisfy the equation (5).
Therefore, the condition that the overlap is small and the discontinuity does not occur in the y direction is | f ′ (x) · △ x | = 1 (6).
【0016】また、区間[a,b]で式(6)を満足
し、△xを最小(分割数を最大)にするf′(x)は f′(x)=f′(x)max a,b …(7) ただし、f′(x)max a,b は区間[a,b]内の
f′(x)の最大値で与えられる。Further, f ′ (x) that satisfies Expression (6) in the section [a, b] and minimizes △ x (maximizes the number of divisions) is f ′ (x) = f ′ (x) max a, b (7) where f '(x) max a, b is given by the maximum value of f' (x) in the section [a, b].
【0017】したがって、分割値△xは式(7)を式
(6)に代入して △x=1/f′(x)max a,b …(8) で求めることができる。そこで、区間[a,b]でf′
(x)が最大となるf′(x)max a,b の求め方を以
下に説明する。Therefore, the division value Δx can be obtained by substituting the equation (7) into the equation (6), Δx = 1 / f ′ (x) max a, b (8) Therefore, in the section [a, b], f ′
A method for obtaining f ′ (x) max a, b that maximizes (x) will be described below.
【0018】曲線の近似式f(x)が f(x)=Ax3 +Bx2 +Cx+D …(9) で与えられたとすれば、式(9)の微分をとって、f′
(x)は f′(x)=3Ax2 +2Bx+C ≡A0 x2 +B0 x+C0 …(10) で表わされる。Assuming that the approximate expression f (x) of the curve is given by f (x) = Ax 3 + Bx 2 + Cx + D (9), the derivative of the expression (9) is obtained to obtain f ′
(X) is expressed by f '(x) = 3Ax 2 + 2Bx + C ≡A 0 x 2 + B 0 x + C 0 ... (10).
【0019】式(10)は2次式であり、根の判別式D
が D=B0 2 −4A0 C0 ≧0 …(11) ならば実根を有し、式(10)の弯曲点のxの値xm は xm =−B0 /2A0 …(12) であり、x=xm におけるf′(x)の値f′(m)は f′(m)=(−B0 2 +4A0 C0 )/4A0 …(13) で与えられる。Equation (10) is a quadratic equation, and the root discriminant D
If D = B 0 2 -4 A 0 C 0 ≧ 0 (11), there is a real root, and the value x m of the curve point in equation (10) is x m = −B 0 / 2A 0 (12) ), and, x = f in x m 'value f of (x)' (m) is f '(m) = (- given by B 0 2 + 4A 0 C 0 ) / 4A 0 ... (13).
【0020】したがって、 D≧0の場合 (a)xm が区間[a,b]内ならば f′(x) max a,b =max {|f′(a) |,|f′(m) |,|f′(b) |} …(14) (b)xm が区間[a,b]外ならば f′(x) max a,b =max {|f′(a) |,|f′(b) |} …(15) D<0の場合 (c)この場合は実根を持たず、したがって f′(x) max a,b =max {|f′(a) |,|f′(b) |} …(16) で与えられ、式(14),(15)または(16)を式
(8)に代入して分割値△xを求めることができる。Therefore, if D ≧ 0: (a) If x m is in the section [a, b], f ′ (x) max a, b = max {| f ′ (a) |, | f ′ (m ) |, | f '(b ) |} ... (14) (b) x m is the interval [a, b]. if the outer f' (x) max a, b = max {| f '(a) |, | F ′ (b) |} (15) In the case of D <0 (c) In this case, there is no real root, and therefore f ′ (x) max a, b = max {| f ′ (a) |, | f ′ (b) |} (16), and the equation (14), (15) or (16) is substituted into the equation (8) to obtain the division value △ x.
【0021】式(14),(15)または(16)を式
(8)に代入して求めた分割値△xで区間[a,b]を
分割した場合はf(x)方向に対しては不連続な連は発
生しないが、もし、△x>1の場合はx方向に対して不
連続な連が発生する。したがって、この場合の分割値△
xは△x=1とする。このようにして分割値△xを求め
た場合、f(x)方向には多くの重なりが生ずる。すな
わち、式(8)で示した分割値△xは、f′(x)
max a,b を示す地点で不連続な連が発生しないように
した分割値であり、この地点以外では重なりが発生して
無駄な処理を行っていることになる。When the section [a, b] is divided by the divided value △ x obtained by substituting the equations (14), (15) or (16) into the equation (8), the f (x) direction Does not generate a discontinuous run, but if △ x> 1, a discontinuous run occurs in the x direction. Therefore, the divided value in this case △
x is △ x = 1. When the division value △ x is obtained in this manner, many overlaps occur in the f (x) direction. That is, the division value △ x shown in Expression (8) is f ′ (x)
This is a division value in which discontinuous runs are not generated at a point indicating max a, b . At other points, overlapping occurs and wasteful processing is performed.
【0022】そこで、区間[a,b]を分割して、分割
された区間に対応して新たに分割値を求めるようにすれ
ば重なりを少なくさせることができる。この区間を分割
するか否かの判定を区間分割判定部3が行っている。式
(8)で与えられる分割値△xで区間[a,b]を分割
すると、分割数N0は N0 =|(b−a)|/△x …(17) となる。Therefore, if the section [a, b] is divided and a new division value is obtained corresponding to the divided section, the overlap can be reduced. The section division determination unit 3 determines whether to divide this section. When the section [a, b] is divided by the division value △ x given by the equation (8), the division number N 0 becomes N 0 = | (ba) | / △ x (17).
【0023】そこで、区間[a,b]を区間[a,(a
+b)/2]と区間[(a+b)/2,b]に分割し、
区間[a,(a+b)/2]に対して、式(7)〜式
(17)により分割数N11を算出する。区間分割判定部
3は区間[a,b]より算出した分割数N0 と区間
[a,(a+b)/2]より算出した分割数N11より、 2N11/N0 <α …(18) ただし、α<1.0 の場合は再分割を中止させ、区間[a,(a+b)/
2]をN11個に分割して描画値の算出を行なう。Therefore, the section [a, b] is changed to the section [a, (a
+ B) / 2] and the section [(a + b) / 2, b],
Interval [a, (a + b) / 2] with respect to calculate the division number N 11 by equation (7) to (17). Based on the number of divisions N 0 calculated from the section [a, b] and the number of divisions N 11 calculated from the section [a, (a + b) / 2], the section division determination unit 3 calculates 2N 11 / N 0 <α (18) However, if α <1.0, the subdivision is stopped, and the interval [a, (a + b) /
2] is divided into N 11 pieces to calculate a drawing value.
【0024】区間分割判定部3で分割要と判定された場
合は、区間[a,(a+b)/2]を区間[a,(a+
b)/4]と区間[(a+b)/4,(a+b)/2]
に分割し、区間[a,(a+b)/4]に対する分割値
N21を算出し、 4N21/N0 <α …(19) の条件より再判定を行なわす。If the section division judging section 3 judges that the section needs to be divided, the section [a, (a + b) / 2] is added to the section [a, (a +
b) / 4] and the section [(a + b) / 4, (a + b) / 2]
Then, a division value N 21 for the section [a, (a + b) / 4] is calculated, and re-determination is performed based on the condition of 4N 21 / N 0 <α (19).
【0025】したがって、区間分割判定部3の判定条件
の一般式は 2m Nmn/N0 <α …(20) で与えられる。つぎに図2を参照して動作を説明する。Therefore, the general expression of the judgment condition of the section division judgment unit 3 is given by 2 m N mn / N 0 <α (20). Next, the operation will be described with reference to FIG.
【0026】処理S1 処理S1では、CPU8はI/O7を介して曲線描画情
報メモリ1に、始点,終点および近似式情報を格納す
る。 処理S2 処理S2では、分割値算出部2は曲線描画情報メモリ1
に格納されたデータを読出し、式(12)で示す変曲点
値xm を算出し、xm が区間[r,s]に示されるか否
かの判定を行なう。最初の判定では区間[r,s]のr
およびsは曲線描画情報メモリ1に入力されたaおよび
bである。Process S1 In process S1, the CPU 8 stores the start point, the end point, and the approximate expression information in the curve drawing information memory 1 via the I / O 7. Process S2 In process S2, the division value calculation unit 2 stores the curve drawing information memory 1
Is read, an inflection point value x m shown in Expression (12) is calculated, and it is determined whether or not x m is shown in the section [r, s]. In the first judgment, r of section [r, s]
And s are a and b input to the curve drawing information memory 1.
【0027】処理S3およびS4 処理S2でYESの場合は処理S3で式(14)で示す
処理が行なわれ、NOの場合は処理S4で式(15)ま
たは(16)で示す処理が行なわれ、得られた結果を式
(8)に代入して分割値△xを算出し処理S5に移る。Processing S3 and S4 If YES in processing S2, the processing shown in equation (14) is performed in processing S3, and if NO, processing shown in equation (15) or (16) is performed in processing S4. The obtained result is substituted into equation (8) to calculate a division value △ x, and the process proceeds to step S5.
【0028】処理S5 処理S5では、入力された区間[a,b]に対する分割
数N0 の算出処理が終了しているか否かの判定を行い、
NOの場合は処理S7に、またYESの場合は処理S6
に移る。Process S5 In process S5, it is determined whether or not the process of calculating the division number N 0 for the input section [a, b] has been completed.
If NO, the process proceeds to step S7, and if YES, the process S6.
Move on to
【0029】処理S6 処理S5の判定結果がYESの場合、処理S6では、区
間分割判定部3は式(20)で示した2m Nmn/N0 が
αより小さいか否かの判定を行ない、YESの場合は処
理S8に、またNOの場合は処理S7に移る。Step S6 If the decision result in the step S5 is YES, in the step S6, the section division judging section 3 judges whether or not 2 m N mn / N 0 shown in the equation (20) is smaller than α. If YES, the process proceeds to step S8, and if NO, the process proceeds to step S7.
【0030】処理S7 処理S5での判定結果がNOの場合、処理S7では、処
理S2で使用した区間を2分割して曲線描画情報メモリ
1に格納し、分割された区間に対して再度処理S2〜S
5を実行する。Step S7 If the decision result in the step S5 is NO, in a step S7 the section used in the step S2 is divided into two and stored in the curve drawing information memory 1, and the divided section is processed again in the step S2. ~ S
Step 5 is executed.
【0031】処理S8 処理S8では、曲線描画値算出部4は、処理S3または
処理S4で算出された分割値△xに基づいて区間[r,
s]を分割し、各分割値に対応する曲線描画値を式
(9)より算出してビットマップメモリ5に記録する。
ビットマップメモリ5に記録されたデータは表示部6で
表示される。Step S8 In step S8, the curve drawing value calculation unit 4 determines the interval [r, r] based on the division value △ x calculated in step S3 or step S4.
s] is calculated, and a curve drawing value corresponding to each of the divided values is calculated from Expression (9) and recorded in the bitmap memory 5.
The data recorded in the bitmap memory 5 is displayed on the display unit 6.
【0032】処理S9 処理S9では、処理S6での判定結果がYESとなり、
処理S7で区間が分割され、この分割された区間で未だ
上記処理S8での曲線描画値が算出されていない区間が
有るか否かの判定が行なわれ、未処理の区間が有る場合
は処理S2にもどって処理を行ない、NOの場合は処理
を終了する。Process S9 In the process S9, the determination result in the process S6 becomes YES,
In step S7, the section is divided, and it is determined whether or not there is a section in which the curve drawing value has not been calculated in step S8 in the divided section. If there is an unprocessed section, step S2 is performed. The process is performed again, and in the case of NO, the process ends.
【0033】なお実施例では近似式がy=f(x)なる
関数の場合について説明したが、近似式がx=f
(t),y=g(t)の媒介変数で与えられる場合にお
いても、xおよびyの双方に対して分割値を算出し、算
出された分割値の小さい方の値を分割値とすることによ
って同様の効果が得られる。In the embodiment, the case where the approximate expression is a function of y = f (x) has been described.
Even when given by the parameters of (t) and y = g (t), a division value is calculated for both x and y, and the smaller value of the calculated division values is used as the division value. Has the same effect.
【0034】以上、本発明の一実施例について説明した
が、本発明はこの実施例に限定されるものではなく各種
変形が可能である。Although one embodiment of the present invention has been described above, the present invention is not limited to this embodiment, and various modifications can be made.
【0035】[0035]
【発明の効果】以上説明したように、本発明によれば次
の諸効果が得られる。 (a)始点および終点間を、始点終点間の曲線近似式の
微分値に基いて分割値を求めて分割し、分割された各点
に対応する曲線描画値を算出するようにしたので、重な
りが少なく、かつ不連続な連を発生することなく、曲線
描画処理時間を短縮させることができる。 (b)分割値が小さい場合は、指示された区間を分割
し、再度分割値を算出して曲線描画値を算出するように
したので、重なりが減少し、処理時間を短縮させること
ができる。As described above, according to the present invention, the following effects can be obtained. (A) Since the division between the start point and the end point is determined based on the differential value of the curve approximation equation between the start point and the end point, the curve drawing value corresponding to each of the divided points is calculated. Curve generation processing time can be reduced without generating discontinuous runs. (B) When the division value is small, the designated section is divided and the division value is calculated again to calculate the curve drawing value, so that the overlap is reduced and the processing time can be shortened.
【図1】本発明の実施例の構成図である。FIG. 1 is a configuration diagram of an embodiment of the present invention.
【図2】同実施例の動作フローチャートである。FIG. 2 is an operation flowchart of the embodiment.
【図3】分割値算出の説明図である。FIG. 3 is an explanatory diagram of calculation of a division value.
1 曲線描画情報メモリ 2 分割値算出部 3 区間分割判定部 4 曲線描画値算出部 5 ビットマップメモリ 6 表示部 7 インタフェース(I/O) 8 プロセッサ(CPU) DESCRIPTION OF SYMBOLS 1 Curve drawing information memory 2 Division value calculation part 3 Section division determination part 4 Curve drawing value calculation part 5 Bitmap memory 6 Display part 7 Interface (I / O) 8 Processor (CPU)
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平2−81281(JP,A) 特開 平3−269686(JP,A) 特開 平3−78888(JP,A) 特開 平2−170287(JP,A) 特開 昭64−55678(JP,A) 特開 昭64−82282(JP,A) 特開 平3−176783(JP,A) 特開 平3−105579(JP,A) 特開 平3−105578(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06T 11/20 110 G09G 5/20 ──────────────────────────────────────────────────続 き Continuation of the front page (56) References JP-A-2-81281 (JP, A) JP-A-3-269686 (JP, A) JP-A-3-78888 (JP, A) JP-A-2-78 170287 (JP, A) JP-A-64-55678 (JP, A) JP-A-64-82282 (JP, A) JP-A-3-176783 (JP, A) JP-A-3-105579 (JP, A) JP-A-3-105578 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G06T 11/20 110 G09G 5/20
Claims (2)
情報に基づいて始点および終点間を結ぶ曲線を描画させ
る曲線描画装置において、 (a)前記始点,終点および近似式情報を格納する曲線
描画情報メモリと、 (b)前記曲線描画情報メモリに格納されている近似式
情報より近似式の微分値を求めてこの微分値をもとに分
割値を算出する分割値算出部と、 (c)前記始点および終点区間および前記始点および終
点区間を分割した区間に対する前記分割値算出部で算出
された分割値に基づいて描画区間を分割するか否かを判
定する区間分割判定部と、 (d)前記区間分割判定部で判定された描画区間に対し
て前記分割値算出部で算出された分割値に基づいて描画
区間の座標値を分割して曲線描画値を算出する曲線描画
値算出部と、 を備えたことを特徴とする曲線描画装置。1. A curve drawing apparatus for drawing a curve connecting a start point and an end point based on approximate expression information connecting a start point, an end point, and a start end point, (a) a curve storing the start point, the end point, and the approximate expression information A drawing information memory; (b) a division value calculation unit that obtains a differential value of the approximate expression from the approximate expression information stored in the curve drawing information memory and calculates a division value based on the differential value; An interval division determining unit that determines whether to divide a drawing interval based on the division value calculated by the division value calculation unit with respect to the start point and the end point section and the section obtained by dividing the start point and the end point section; A) a curve drawing value calculation unit that divides a coordinate value of the drawing section based on the division value calculated by the division value calculation unit with respect to the drawing section determined by the section division determination unit to calculate a curve drawing value; With, Curve drawing apparatus, characterized in that.
介変数で与えられる近似式の場合、前記分割値算出部
が、xおよびyの双方に対する分割値を算出し、算出さ
れた分割値の小さな値を分割値とすることを特徴とする
請求項1記載の曲線描画装置。2. When the approximate expression information is an approximate expression given as a parameter for x and y, the division value calculation unit calculates a division value for both x and y, and calculates a smaller division value for the calculated division value. 2. The curve drawing device according to claim 1, wherein the value is a division value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04066863A JP3118064B2 (en) | 1992-03-25 | 1992-03-25 | Curve drawing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04066863A JP3118064B2 (en) | 1992-03-25 | 1992-03-25 | Curve drawing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05274444A JPH05274444A (en) | 1993-10-22 |
JP3118064B2 true JP3118064B2 (en) | 2000-12-18 |
Family
ID=13328125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04066863A Expired - Fee Related JP3118064B2 (en) | 1992-03-25 | 1992-03-25 | Curve drawing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3118064B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102191811B1 (en) * | 2018-10-12 | 2020-12-16 | 박지현 | Scrubber for Container |
-
1992
- 1992-03-25 JP JP04066863A patent/JP3118064B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102191811B1 (en) * | 2018-10-12 | 2020-12-16 | 박지현 | Scrubber for Container |
Also Published As
Publication number | Publication date |
---|---|
JPH05274444A (en) | 1993-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6295072B1 (en) | Method and apparatus for rendering cubic curves | |
JPH076232A (en) | System and method for execution of hybrid forward diffrence process so as to describe bezier spline | |
JP3118064B2 (en) | Curve drawing device | |
US7015930B2 (en) | Method and apparatus for interpolating pixel parameters based on a plurality of vertex values | |
EP0349182B1 (en) | Method and apparatus for approximating polygonal line to curve | |
US7280108B2 (en) | Bicubic surface rendering | |
JP3059739B2 (en) | Information processing apparatus with curve drawing function and processing method | |
JPH04335432A (en) | Method and device for generating membership function data and method and device calculating adaptation | |
JP2588257B2 (en) | Contour approximation method | |
US20030117399A1 (en) | Image processing apparatus and method, storage medium, and program | |
JP2878614B2 (en) | Image synthesis method and apparatus | |
JP3071387B2 (en) | Interpolation device, interpolation method, and image generation device | |
US5430834A (en) | Method and apparatus for storing and reproducing a curve | |
JP2768331B2 (en) | Curve linear approximation device | |
JP3039387B2 (en) | Apparatus for calculating intersection of B-spline curve and straight line in three-dimensional CAD | |
JP2734643B2 (en) | Intersection calculation method between free curves | |
JP2768370B2 (en) | Drawing method | |
JP3381326B2 (en) | Outline font data coordinate normalization method and outline font data generation device | |
JP2002117411A (en) | Curve drawing method, curve drawing device, and storage medium with curve drawing program stored therein | |
JP2900986B2 (en) | B-spline curve layering device | |
JPH0757105A (en) | Curve data processor | |
JP3057768B2 (en) | Drawing equipment | |
JP3035141B2 (en) | Character creation device and character creation method | |
JPH10143676A (en) | Picture processor and method for processing the same and recording medium | |
JP2776347B2 (en) | Drawing device for printer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20000912 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071006 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081006 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |