JP3224852B2 - Curve drawing value calculation device - Google Patents
Curve drawing value calculation deviceInfo
- Publication number
- JP3224852B2 JP3224852B2 JP11728392A JP11728392A JP3224852B2 JP 3224852 B2 JP3224852 B2 JP 3224852B2 JP 11728392 A JP11728392 A JP 11728392A JP 11728392 A JP11728392 A JP 11728392A JP 3224852 B2 JP3224852 B2 JP 3224852B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- increase
- coefficient
- increment
- remainder
- 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 Processing (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は始点,終点および始終点
間を結ぶn次の近似式情報に基いて始終点間を結ぶ曲線
の描画値を算出する描画値算出装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a drawing value calculating apparatus for calculating a drawing value of a curve connecting start and end points based on n-th approximate expression information connecting the start and end points and the start and end points.
【0002】[0002]
【従来の技術】文字や図形などを表示する文書作成処理
システムにおいては、文字や図形の輪郭線の特徴点列の
集合を記憶させておき、表示に際しては、特徴点間を例
えばベジエ曲線などのn次の近似式で近似させて輪郭線
をビットマップメモリに展開し、その後、必要に応じて
輪郭線内を塗りつぶして文字を表示させる方法が用いら
れている。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. A method has been used in which a contour is developed in a bitmap memory by approximating it with an nth-order approximation formula, and thereafter, characters are displayed by filling the contour as necessary.
【0003】このn次の近似式で近似させて輪郭線をビ
ットマッブメモリに展開する際には従来は以下の方法が
用いられていた。始点[a,f(a)],終点[b,f
(b)]および近似式f(x)が f(x)=A′x3 +B′x2 +C′x+D′ …(1) で与えられた場合、区間[a,b]に対してXを変化さ
せて、そのつど式(1)よりf(x)を算出すると、非
常に多くの演算処理を必要とすることから、現在値に増
分値を加算して次の値とする方法が使用されている。The following method has conventionally been used to develop a contour line into a bit map memory by approximating it with the n-th order approximation formula. Start point [a, f (a)], end point [b, f
(B)] and the approximate expression f (x) is given by f (x) = A′x 3 + B′x 2 + C′x + D ′ (1), X is applied to the interval [a, b]. When f (x) is calculated from equation (1) each time, it requires a great deal of arithmetic processing. Therefore, a method of adding the increment value to the current value to obtain the next value is used. ing.
【0004】すなわち、演算処理を簡易化するために式
(1)のx軸をaだけ平行移動させて g(x)=Ax3 +Bx2 +Cx+D …(2) とし、区間[a,b]を区間[0,b−a]に変更す
る。That is, in order to simplify the arithmetic processing, the x-axis of equation (1) is translated in parallel by a to obtain g (x) = Ax 3 + Bx 2 + Cx + D (2), and the section [a, b] is defined as Change to the section [0, ba].
【0005】区間[0,b−a]を等分にM分割する
と、x方向の分割値Δxは Δx=(b−a)/M …(3) となり、第m番目の分割点の値xm は xm =(Δx)m …(4) で表わされ、第m+1番目の分割点の値xm+1 は xm+1 =xm +Δx …(5) となり単にΔxを加算するのみで次のx値が求められ
る。When the section [0, ba] is equally divided into M, the division value Δx in the x direction becomes Δx = (ba) / M (3), and the value x of the m-th division point m is represented by x m = (Δx) m (4), and the value x m + 1 of the ( m + 1 ) -th division point becomes x m + 1 = x m + Δx (5), and Δx is simply added. Gives the next x value.
【0006】また、y方向に対しても、xm に対応する
y方向の値をym ,xm+1 に対応するy方向の値をy
m+1 とすれば ym+1 =ym +{g(xm+1 )−g(xm )} …(6) となる。In the y direction, a value in the y direction corresponding to x m is represented by y m , and a value in the y direction corresponding to x m + 1 is represented by y
If m + 1 , then y m + 1 = y m + {g (x m + 1 ) -g (x m )} (6)
【0007】そこで、{ ・ }で示される増分値をΔ
ym で表わし、式(2)にxm+1 およびxm を代入して
Δym を求めると、 Δym =g(xm+1 )−g(xm ) =〔3A(b−a)3 /M3 〕m2 +〔{3A(b−a)+2BM}(b−a)2 /M3 〕m +〔{A(b−a)2+BM(b−a)+CM2 }(b−a) /M3 〕 …(7) で表わされる。Therefore, the increment value represented by {·} is represented by Δ
expressed as y m, when determining the [Delta] y m by substituting x m + 1 and x m in equation (2), Δy m = g (x m + 1) -g (x m) = [3A (b-a ) 3 / M 3 ] m 2 + [{3A (ba) + 2BM} (ba) 2 / M 3 ] m + [{A (ba) 2 + BM (ba) + CM 2 } ( b−a) / M 3 ] (7)
【0008】式(7)の第3項はmには関係ない項であ
り、第2項はmの1次項であるため、mが増加する毎に
{3A(b−a)+2BM}(b−a)2 /M3 を加算
するのみで得られる。また第1項はmの2次項であるた
め、m2 はm2 =Σ2m−mであるから、第1項の2倍
の係数値を加算し、加算結果より第1項の係数の加算値
を減算することによって容易に得られる。The third term in equation (7) is not related to m, and the second term is a first-order term of m. Therefore, every time m increases, {3A (ba) + 2BM} (b -a) obtained merely by adding a 2 / M 3. Since the first term is a quadratic term of m, m 2 is m 2 = Σ2m−m. Therefore, the coefficient value twice the first term is added, and the sum of the coefficients of the first term is obtained from the addition result. Is easily obtained by subtracting
【0009】[0009]
【発明が解決しようとする課題】前述したように、従来
の曲線を描画させる描画値算出装置は、y軸方向の描画
値算出における増分値の算出を、式(7)で算出したΔ
ym を増分値とし、前回の描画値に加算した結果を描画
値として出力するようにしていた。As described above, the conventional drawing value calculation apparatus for drawing a curve calculates the increment value in the calculation of the drawing value in the y-axis direction by using the Δ calculated by the equation (7).
y m is set as an increment value, and the result of adding to the previous drawing value is output as a drawing value.
【0010】これらの演算処理はプロセッサを使用して
行なわれるが、プロセッサの処理においては、式(7)
で示される第1項乃至第3項の係数は、M3 で除算され
て実数となるため、浮動小数点方式で処理が行なわれて
いる。このため、式(7)の第1項乃至第3項よりΔy
m を算出しては浮動少数点方式で表わされた実数の加算
処理となり、整数間の加算処理に比べて、処理時間が大
となり、曲線描画の描画値算出に長時間を要していた。These arithmetic processings are performed using a processor. In the processing of the processor, the equation (7) is used.
Since the coefficients of the first to third terms represented by are divided by M 3 to become real numbers, the processing is performed by the floating-point method. For this reason, Δy is obtained from the first to third terms of equation (7).
Calculating m results in the addition of a real number expressed in the floating-point system, which requires a longer processing time than the addition between integers, and it takes a long time to calculate the drawing value of the curve drawing. .
【0011】本発明は、描画値算出処理時間を短縮する
ように改良した曲線描画値算出装置を提供することを目
的とする。An object of the present invention is to provide a curve drawing value calculation device improved so as to shorten the drawing value calculation processing time.
【0012】[0012]
【課題を解決するための手段】本発明の課題を解決する
ための手段を説明する前に、まず、原理を説明する。式
(7)を次式のように変形すると、 Δym =〔A1 m2 +A2 m+A3 〕/M3 …(8) ただしA1 =3A(b−a)3 A2 ={3A(b−a)+2BM}(b−a)2 A3 ={A(b−a)2+BM(b−a)+CM2 }(b−a) …(9) で表わされ、増加値の係数A1 ,A2 およびA3 は全て
整数値である。すなわち、A,BおよびCは近似式の係
数であり、全て整数値で与えられ、aおよびbはビット
アップメモリの始点および終点に対応するアドレスであ
り、整数値である。また、Mは分割数であり、整数値で
ある。Before describing the means for solving the problems of the present invention, the principle will be described first. When the equation (7) is transformed into the following equation, Δy m = [A 1 m 2 + A 2 m + A 3 ] / M 3 (8) where A 1 = 3 A (ba) 3 A 2 = {3A (Ba) + 2BM} (ba) 2 A 3 = { A (ba) 2 + BM (ba) + CM 2 } (ba) (9) The coefficients A 1 , A 2 and A 3 are all integer values. That is, A, B, and C are coefficients of the approximate expression, all given as integer values, and a and b are addresses corresponding to the start point and the end point of the bit-up memory, and are integer values. M is the number of divisions and is an integer value.
【0013】式(8)の第1項のA1 m2 の算出は、A
1 m2 は A1 m2 =A1 Σ(2m−1) =Σ(Σ2A1 )−ΣA1 …(10) で表わされるため、式(10)の第1項はmが増加する
ごとに2A1 を加算した加算値を加算することによって
得られ、第2項はmの増加するごとにA1 を加算した加
算値として得られる。The calculation of A 1 m 2 in the first term of equation (8)
Since 1 m 2 is represented by A 1 m 2 = A 1 Σ (2m−1) = Σ (Σ2A 1 ) −ΣA 1 (10), the first term of equation (10) is calculated as m increases. obtained by adding the addition value obtained by adding 2A 1, the second term is obtained as an addition value obtained by adding the a 1 to every increase of m.
【0014】また、式(8)の第2項のA2 mはmが増
加するごとにA2 を加算した加算値として得られる。ま
た、式(8)の第3項のA3 はmには関係しない項であ
る。以上のようにして算出したA1 m2 ,A2 mおよび
A3 はレジスタAAに格納されているデータ値に加算し
て増加値を算出する。すなわち、 AA=AA+A1 m2 +A2 m+A3 …(11) なる演算を行なう。A 2 m in the second term of the equation (8) is obtained as an added value obtained by adding A 2 every time m increases. Further, A 3 in the third term of the equation (8) is a term not related to m. A 1 m 2 , A 2 m and A 3 calculated as described above are added to the data value stored in the register AA to calculate an increase value. That, AA = AA + A 1 m 2 + A 2 m + A 3 ... (11) comprising performing a calculation.
【0015】式(11)の左辺をM3 で除算した整数部
をΔY,剰余をΔRとすると、 AA/M3 =ΔY+ΔR …(12) で表わされ、整数部のΔYを第m+1番目のy軸方向の
増分値として出力し、剰余のΔRはもとのレジスタAに
格納する。すなわち、 AA=ΔR …(13) なる処理を行なう。Assuming that the integer part obtained by dividing the left side of the equation (11) by M 3 is ΔY and the remainder is ΔR, AA / M 3 = ΔY + ΔR (12) It is output as an increment value in the y-axis direction, and the remainder ΔR is stored in the original register A. That is, AA = ΔR (13) is performed.
【0016】なお、式(12)右辺のΔYの算出は、式
(11)のAAをM3 で除算して求めるとしたが、AA
がM3 より大なる場合はAAよりM3 を減算させ、その
減算回数をΔYとして、全ての処理を整数の加減算処理
のみにて行なわすことができる。The calculation of ΔY on the right side of equation (12) is obtained by dividing AA of equation (11) by M 3.
If is made larger than M 3 is subtracted M 3 from AA, the subtraction number as [Delta] Y, can be carried out all processing integer addition and subtraction processing only by.
【0017】本発明はこの原理に基くものであり、始
点,終点および始終点間を結ぶn次の近似式情報に基い
て始終点を結ぶ曲線の描画値を算出させる曲線描画値算
出装置であって、前記始点,終点および近似式情報と前
記始点終点間の分割数Mより増加値係数を算出する増加
値係数算出部と、前記増加値係数算出部で算出された増
加値係数および分割点mの値より分割点mの増加値を算
出する増加値算出部と、前記増加値算出部で算出された
増加値をレジスタに格納されている分割点m−1に対す
る剰余値に加算してMn で除算し、除算結果の整数部を
増分値として出力し、剰余値を前記レジスタに格納する
増分値算出部と、分割点m−1の描画値に前記増分値算
出部で算出された前記増分値を加算して分割点mに対す
る描画値として出力する出力部と、を備える。The present invention is based on this principle, and is a curve drawing value calculation device for calculating a drawing value of a curve connecting start and end points based on n-th approximate expression information connecting the start point, end point and start and end points. An increase coefficient calculating section for calculating an increase coefficient from the start point, the end point and the approximate expression information and the number of divisions M between the start point and the end point; and an increase coefficient and a dividing point m calculated by the increase coefficient calculating section. And an increase value calculation unit for calculating an increase value of the division point m from the value of the division point m, and the increase value calculated by the increase value calculation unit for the division point m-1 stored in the register.
Divided by M n is added to that remainder value, and outputs the integer part of the division result as the increment value, and increment calculation unit that stores a remainder value in the register, the increment in the drawing values of the division points m-1 Arithmetic
Add the increment value calculated by the output section to the division point m.
And an output unit for outputting as a drawing value .
【0018】[0018]
【作用】分割数算出部では始点,終点および近似式情報
より始終点間を分割して曲線の描画値を算出させるため
の分割数Mを算出する。増加値係数算出部では始点,終
点およびn次の近似式情報に基づいて増加値の係数を算
出する。すなわち、式(9)で示される増加値の係数A
1 ,A2 およびA3 を算出する。The division number calculation section calculates the division number M for dividing the start and end points and calculating the drawing value of the curve from the start point, end point and approximate expression information. The increase value coefficient calculation unit calculates a coefficient of the increase value based on the start point, the end point, and the nth-order approximate expression information. That is, the coefficient A of the increase value represented by the equation (9)
Calculating the 1, A 2 and A 3.
【0019】増加値算出部では増加値係数算出部で算出
された係数より増加値を算出する。すなわち、式(1
1)で示される増加値を算出する。増分値算出部では増
加値算出部で算出された増加値をMn で除算して整数部
と剰余に分割し、整数部を増分値として出力し、剰余を
加算レジスタに格納する。すなわち、式(12)および
(13)の演算処理を行なう。The increase value calculation section calculates the increase value from the coefficient calculated by the increase value coefficient calculation section. That is, equation (1)
The increase value shown in 1) is calculated. The increment value calculating unit divides the increment value calculated by the increment value calculating unit by M n to divide it into an integer part and a remainder, outputs the integer part as an increment value, and stores the remainder in an addition register. That is, the arithmetic processing of equations (12) and (13) is performed.
【0020】以上のように、増加値係数を始点,終点お
よびn次の近似式情報と分割数Mにもとずいて算出し、
この増加値係数より増加値および増分値を算出させるよ
うにしたため、全ての演算処理は整数の演算処理によっ
て行なうことができ、演算処理時間を短縮させることが
できる。As described above, the increase value coefficient is calculated based on the start point, end point and n-th approximate expression information and the number of divisions M,
Since the increase value and the increase value are calculated from the increase value coefficient, all the arithmetic processing can be performed by integer arithmetic processing, and the arithmetic processing time can be reduced.
【0021】[0021]
【実施例】本発明の第1の実施例を図1および2を参照
して説明する。図1は本発明の実施例の構成図、図2は
第1の実施例の動作フローチャートである。図1におい
て、1は曲線描画情報メモリであり、描画させようとす
る曲線の始点,終点および近似式情報を格納するメモリ
である。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A first 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 first 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.
【0022】2は分割数算出部であり、例えば特願平4
−66863号「曲線描画装置」に記載されている方法
などによって、与えられた区間の分割数を算出する。3
は増加値係数算出部であり、始点,終点およびn次の近
似式と分割数より増加値の係数を算出する。Reference numeral 2 denotes a division number calculation unit.
The number of divisions of a given section is calculated by a method described in -66863 "Curve Drawing Apparatus" or the like. 3
Is an increase value coefficient calculation unit, which calculates a coefficient of the increase value from the start point, the end point, the n-th order approximate expression and the number of divisions.
【0023】4は増加値算出部であり、増加値係数算出
部3より算出された増加値係数より増加値を算出する。
5は増分値算出部であり、増加値算出部4より算出され
た増加値より曲線描画の増分値を算出する6はビットマ
ップメモリ、7は表示部、8はデータの入出力インタフ
ェース(I/O)、9は処理を行なうプロセッサ(CP
U)である。Reference numeral 4 denotes an increase value calculation unit, which calculates an increase value from the increase value coefficient calculated by the increase value coefficient calculation unit 3.
Reference numeral 5 denotes an increment value calculation unit, which calculates an increment value for curve drawing from the increment value calculated by the increment value calculation unit 6, 6 denotes a bitmap memory, 7 denotes a display unit, and 8 denotes a data input / output interface (I / O) and 9 are processors (CP
U).
【0024】つぎに図2を参照して第1の実施例の動作
を説明する。 処理S1 処理S1では、曲線描画情報メモリ1に格納されてい
る、始点,終点および近似式情報を読出す。Next, the operation of the first embodiment will be described with reference to FIG. Process S1 In process S1, the start point, the end point, and the approximate expression information stored in the curve drawing information memory 1 are read.
【0025】処理S2 処理S2では、分割数算出部2は始点および終点間の分
割数Mを算出する。 処理S3 処理S3では、図示しないレジスタXにa,Yにg
(o),mに1,AAに0をセットする。Processing S2 In processing S2, the division number calculation unit 2 calculates the division number M between the start point and the end point. Processing S3 In processing S3, a register X (not shown) and a
(O), 1 is set to m, and 0 is set to AA.
【0026】処理S4 処理S4では、増加値係数算出部3は曲線描画情報メモ
リ1より読出した始点,終点および近似式情報と分割数
算出部2で算出した分割数Mより増加値係数を算出す
る。すなわち、式(9)で示される増加値係数A1 ,A
2 およびA3 を算出する。Process S4 In process S4, the increase value coefficient calculation unit 3 calculates the increase value coefficient from the start point, end point and approximate expression information read from the curve drawing information memory 1 and the division number M calculated by the division number calculation unit 2. . That is, the increase value coefficients A 1 , A
Calculating the 2 and A 3.
【0027】処理S5 処理S5では、増加値算出部4は、前記処理S4で算出
された増加値係数より、第m+1番目の曲線描画値に対
する増加値を算出する。すなわち、A1 m2 ,A2 mを
算出し、加算レジスタAAに加算する式(11)で示す
演算処理を行って増加値を算出する。Process S5 In process S5, the increase value calculation unit 4 calculates an increase value for the (m + 1) th curve drawing value from the increase value coefficient calculated in the process S4. That is, A 1 m 2 and A 2 m are calculated, and an arithmetic process represented by the equation (11) for adding to the addition register AA is performed to calculate an increase value.
【0028】処理S6 処理S6では、増分値算出部5は前記処理S5で算出さ
れた増加値より増分値を算出する。すなわち、式(1
2)で示されるように、増加値AAをM3 を商とした整
数部ΔYと剰余ΔRに分割し、整数部のΔYを増分値と
して出力し、剰余を加算レジスタAAに格納する。Process S6 In the process S6, the increment value calculating section 5 calculates the increment value from the increase value calculated in the process S5. That is, equation (1)
As shown in 2), the increment value AA is divided into an integer part ΔY and a remainder ΔR using M 3 as a quotient, and the integer part ΔY is output as an increment value, and the remainder is stored in the addition register AA.
【0029】処理S7 Xレジスタにx軸方向の分割値Δxを加算し、Yレジス
タにy軸方向の増分値、すなわち、処理S6で算出した
増分値ΔYを加算してビットマップメモリ6に送出す
る。Process S7: The divided value Δx in the x-axis direction is added to the X register, and the increment value in the y-axis direction, that is, the increment value ΔY calculated in the process S6, is added to the Y register and sent to the bit map memory 6. .
【0030】処理S8およびS9 mレジスタの数値mが分割数Mに等しいか否かの判定を
行い、NOの場合は処理S9でmレジスタの値を+1し
て処理S5に移り、処理S5〜S7が繰返えされる。ま
たYESの場合は処理を終了する。Processing S8 and S9 It is determined whether or not the numerical value m of the m register is equal to the number of divisions M. If NO, the value of the m register is incremented by 1 in processing S9, and the processing shifts to processing S5. Is repeated. If YES, the process ends.
【0031】つぎに第2の実施例について説明する。前
述した第1の実施例では増加値の係数A1 ,A2 および
A3 を式(9)で示す演算処理で算出し、増加値および
増分値を算出するようにしていた。一方、これらの演算
処理を行なうプロセッサは、例えば、8ビットとか16
ビットといったデータ単位で処理が行なわれる。したが
って、区間の分割数Mが大になるとM 3 は2進数の8ビ
ットとか16ビットでは表わされなくなり、倍精度また
は4倍精度で処理を行なわす必要があり、演算処理に長
時間を要していた。第2の実施例はこの欠点を解決する
ためのものである。Next, a second embodiment will be described. Previous
In the first embodiment described above, the coefficient A of the increase value1, ATwoand
AThreeIs calculated by the arithmetic processing shown in Expression (9), and the increase value and
The increment value was calculated. On the other hand, these operations
The processor that performs processing is, for example, 8 bits or 16
Processing is performed in data units such as bits. But
Therefore, when the division number M of the section becomes large, M ThreeIs the binary number 8
Bit or 16 bits,
Is required to perform processing with quadruple precision, which is
It took time. The second embodiment solves this drawback.
It is for.
【0032】第2の実施例では式(8)を変形すると、 Δym =〔A1 /M2 m2 +A2 /M2 m+A3 /M2 〕/M …(14) で表わされる。In the second embodiment, when equation (8) is modified, Δy m = [A 1 / M 2 m 2 + A 2 / M 2 m + A 3 / M 2 ] / M (14)
【0033】そこで、A1 ,A2 およびA3 をM3 で除
算し得られる整数部をそれぞれI1,I2 およびI3 を
増加値係数の整数部、剰余R1 ,R2 およびR3 を増加
値係数の剰余部で表わすと、増加値係数A1 /M3 ,A
2 /M3 およびA3 /M3 は A1 /M2 =I1 +R1 A2 /M2 =I2 +R2 A3 /M2 =I3 +R3 …(15) で表わされ、式(14)は Δym =〔(I1 +R1 /M2 )m2 +(I2 +R2 /M2 )m +(I3 +R3 /M2 )〕/M =〔(I1 m2 +I2 m+I3 ) +(R1 m2 +R2 m+R3 )/M2 〕/M …(16) で表わされる。Therefore, the integer parts obtained by dividing A 1 , A 2 and A 3 by M 3 are I 1 , I 2 and I 3 respectively, the integer part of the increase coefficient, and the remainders R 1 , R 2 and R 3. Is represented by the remainder of the increase coefficient, the increase coefficient A 1 / M 3 , A
2 / M 3 and A 3 / M 3 is expressed by A 1 / M 2 = I 1 + R 1 A 2 / M 2 = I 2 + R 2 A 3 / M 2 = I 3 + R 3 ... (15), Equation (14) is given by Δy m = [(I 1 + R 1 / M 2 ) m 2 + (I 2 + R 2 / M 2 ) m + (I 3 + R 3 / M 2 )] / M = [(I 1 m 2 + I 2 m + I 3 ) + (R 1 m 2 + R 2 m + R 3 ) / M 2 ] / M (16)
【0034】そこで、第1の実施例において説明したと
同様にしてI1 m2 ,I2 m,R1m2 およびR2 mを
算出し、まず、レジスタRRに格納されているデータ値
に算出されたR1 m2 ,R2 mおよびR3 を加算して剰
余部の増加値を算出する。すなわち、 RR=RR+R1 m2 +R2 m+R3 …(17) なる演算を行なう。Therefore, I 1 m 2 , I 2 m, R 1 m 2 and R 2 m are calculated in the same manner as described in the first embodiment, and first, the data values stored in the register RR are calculated. The calculated R 1 m 2 , R 2 m and R 3 are added to calculate the increase value of the remainder. That, RR = RR + R 1 m 2 + R 2 m + R 3 ... (17) comprising performing a calculation.
【0035】式(17)の右辺をM2 で除算した整数部
をΔI,剰余をΔRRとすると、 RR/M2 =ΔI+ΔRR …(18) で表わされ、剰余ΔRをもとのレジスタRRに格納す
る。すなわち、 RR=ΔRR …(19) なる処理を行なう。Assuming that an integer part obtained by dividing the right side of equation (17) by M 2 is ΔI and a remainder is ΔRR, RR / M 2 = ΔI + ΔRR (18) Store. That is, the following process is performed: RR = ΔRR (19)
【0036】また、算出されたI1 m2 ,I2 mおよび
I3 と式(18)で算出されたΔIはレジスタAAに格
納されているデータ値に加算して増加値を算出する。す
なわち、 AA=AA+I1 m2 +I2 m+I3 +ΔI …(20) なる演算を行なう。Further, the calculated I 1 m 2 , I 2 m and I 3 and ΔI calculated by the equation (18) are added to the data value stored in the register AA to calculate an increase value. That is, AA = AA + I 1 m 2 + I 2 m + I 3 + ΔI (20)
【0037】そこで、式(20)で算出された増加値A
AをMで除算した整数部をΔY,剰余をΔRとすると、 AA/M=ΔY+ΔR …(21) で表わされ、整数部ΔYを第m+1番目のy軸方向の増
分値として出力し、剰余ΔRはもとのレジスタAAに格
納する。すなわち、 AA=ΔR …(22) なる処理を行なう。Then, the increase value A calculated by the equation (20)
Assuming that an integer part obtained by dividing A by M is ΔY and a remainder is ΔR, the following equation is obtained: AA / M = ΔY + ΔR (21) ΔR is stored in the original register AA. That is, AA = ΔR (22) is performed.
【0038】つぎに、図3を参照して第2の実施例の動
作を説明する。図3において処理S1〜S9については
図2で説明したとおりであり、第1の実施例による処理
が行なわれる。 処理S11 処理S11では、処理S2で算出された分割数Mが或る
一定値M0 より大か否かの判定が行なわれ、一定値M0
より小さい場合は処理S3に移って第1の実施例による
処理が実行され、YESの場合は処理S12に移って第
2の実施例の処理が行なわれる。Next, the operation of the second embodiment will be described with reference to FIG. In FIG. 3, processes S1 to S9 are as described in FIG. 2, and the process according to the first embodiment is performed. Process S11 In process S11, it is determined whether or not the number of divisions M calculated in process S2 is larger than a certain fixed value M 0 , and a fixed value M 0 is determined.
If it is smaller, the process proceeds to step S3 to execute the process according to the first embodiment. If YES, the process proceeds to step S12 to execute the process of the second embodiment.
【0039】処理S12 処理S12では、図示しないレジスタXにa,Yにg
(o),mに1,AAおよびRRに0がセットされる。 処理S13 処理S13では、増加値係数算出部3は曲線描画情報メ
モリ1より読出した始点,終点の近似式情報と分割数算
出部2で算出された分割数より増加値係数を算出する。
すなわち、式(15)で示されるI1 〜I3 およびR1
〜R3 を算出する。Process S12 In process S12, a register X (not shown) and a
(O), m is set to 1, AA and RR are set to 0. Process S13 In process S13, the increase value coefficient calculator 3 calculates the increase value coefficient from the approximate expression information of the start point and the end point read from the curve drawing information memory 1 and the number of divisions calculated by the number of divisions calculator 2.
That is, I 1 to I 3 and R 1 represented by the formula (15)
~R 3 is calculated.
【0040】処理S14 処理S14では、増加値算出部4は、前記処理S4で算
出された増加値係数より、第m+1番目の曲線描画値に
対する増加値を算出する。すなわち、R1 m2およびR
2 mを算出し、R3 とともに剰余部加算レジスタRRに
加算して式(17)で示す演算処理を行って剰余部増加
値を最ず算出する。Process S14 In the process S14, the increase value calculating section 4 calculates the increase value for the (m + 1) th curve drawing value from the increase value coefficient calculated in the process S4. That is, R 1 m 2 and R
Calculating a 2 m, it is added to the remainder portion summing register RR by performing arithmetic processing represented by the formula (17) to the outermost not a calculated remainder portion increment with R 3.
【0041】次に剰余部増加値を、式(18)で示され
るように、M2 で除算して整数部ΔIと剰余ΔRRに分
割する。分割された剰余ΔRRは、式(19)で示され
るように、レジスタRRに格納する。次にI1 m2 およ
びI2 mを算出し、前記ΔIおよびI3 とともに加算レ
ジスタAAに加算して式(20)に示す演算処理を行な
って増加値を算出する。Next, the remainder increase value is divided by M 2 to divide it into an integer part ΔI and a remainder ΔRR as shown in equation (18). The divided remainder ΔRR is stored in the register RR as shown in Expression (19). Next, I 1 m 2 and I 2 m are calculated and added to the addition register AA together with ΔI and I 3 to perform an arithmetic processing shown in Expression (20) to calculate an increase value.
【0042】処理S15 処理S15では、増分値算出部5は前記処理S14で算
出された増加値より増分値を算出する。すなわち、式
(21)で示されるように、増加値AAをMで除算し、
整数部ΔYと剰余ΔRに分割し、整数部ΔYを増分値と
して出力し、剰余を加算レジスタAAに格納する。Process S15 In the process S15, the increment value calculator 5 calculates the increment value from the increase value calculated in the process S14. That is, as shown in Expression (21), the increase value AA is divided by M,
It divides into an integer part ΔY and a remainder ΔR, outputs the integer part ΔY as an increment value, and stores the remainder in an addition register AA.
【0043】処理S16 Xレジスタにx軸方向の分割値Δxを加算し、Yレジス
タにy軸方向の増分値ΔYを加算してビットマップメモ
リ6に送出する。 処理S17およびS18 mレジスタの数値mが分割数Mに等しいか否かの判定を
行ない、NOの場合は処理S18でmレジスタの値を+
1して処理S14に移り、処理S14〜S16が繰返え
される。またYESの場合は処理を終了する。Processing S16 The division value Δx in the x-axis direction is added to the X register, and the increment value ΔY in the y-axis direction is added to the Y register and sent to the bit map memory 6. Processing S17 and S18 It is determined whether or not the value m of the m register is equal to the number of divisions M. If NO, the value of the m register is incremented by + in processing S18.
Then, the process proceeds to step S14, and steps S14 to S16 are repeated. If YES, the process ends.
【0044】以上、本発明の一実施例について説明した
が、本発明はこの実施例に限定されるものではなく、そ
の発明の主旨に従った各種変形が可能である。While the embodiment of the present invention has been described above, the present invention is not limited to this embodiment, and various modifications in accordance with the gist of the invention are possible.
【0045】[0045]
【発明の効果】以上説明したように、本発明によれば次
の諸効果が得られる。 増加値係数を始点,終点およびn次の近似式情報と
分割数Mにもとずいて算出し、この増加値係数より増加
値および増分値を算出させるようにしたため、全ての演
算処理は整数により繰返し算出する増加値および増分値
は加算処理によって行なうことができ、演算処理時間を
短縮させることができる。 増加値係数を分割数MのMq で除算し、整数部と剰
余部に分割して増加値および増分値を算出させるように
したため、少ないケタ数で演算処理を行なわせることが
できる。As described above, according to the present invention, the following effects can be obtained. The increase value coefficient is calculated based on the start point, end point, n-th approximate expression information and the number of divisions M, and the increase value and the increase value are calculated from the increase value coefficient. The repeatedly calculated increment value and increment value can be performed by addition processing, and the calculation processing time can be shortened. The increment value coefficient divided by M q of the division number M, due to so as to calculate the increment value and increment is divided into an integer part and a remainder portion, it is possible to perform processing with less digits.
【図1】本発明の一実施例の構成図である。FIG. 1 is a configuration diagram of an embodiment of the present invention.
【図2】第1の実施例の動作フローチャートである。FIG. 2 is an operation flowchart of the first embodiment.
【図3】第2の実施例の動作フローチャートである。FIG. 3 is an operation flowchart of the second embodiment.
1 曲線描画情報メモリ 2 分割数算出部 3 増加値係数算出部 4 増加値算出部 5 増分値算出部 6 ビットマップメモリ 7 表示部 8 インタフェース(I/O) 9 プロセッサ(CPU) DESCRIPTION OF SYMBOLS 1 Curve drawing information memory 2 Division number calculation part 3 Increase value coefficient calculation part 4 Increase value calculation part 5 Increment value calculation part 6 Bitmap memory 7 Display part 8 Interface (I / O) 9 Processor (CPU)
Claims (3)
近似式情報に基いて始終点を結ぶ曲線の描画値を算出さ
せる曲線描画値算出装置であって、 前記始点,終点および近似式情報と前記始点終点間の分
割数Mより増加値係数を算出する増加値係数算出部と、 前記増加値係数算出部で算出された増加値係数および分
割点mの値より分割点mの増加値を算出する増加値算出
部と、 前記増加値算出部で算出された増加値をレジスタに格納
されている分割点m−1に対する剰余値に加算してMn
で除算し、除算結果の整数部を増分値として出力し、剰
余値を前記レジスタに格納する増分値算出部と、分割点m−1の描画値に前記増分値算出部で算出された
前記増分値を加算して分割点mに対する描画値として出
力する出力部と、 を備えたことを特徴とする曲線描画値算出装置。1. A curve drawing value calculation device for calculating a drawing value of a curve connecting start and end points based on n-th approximate expression information connecting a start point, an end point, and a start and end point, wherein the start point, the end point, and the approximate expression An increase coefficient calculating section for calculating an increase coefficient from the information and the number of divisions M between the start point and the end point; and dividing the increase coefficient according to the increase coefficient calculated by the increase coefficient calculating section and the value of the dividing point m. An increase value calculation unit for calculating an increase value of the point m; and adding the increase value calculated by the increase value calculation unit to a remainder value for the division point m-1 stored in the register to obtain M n
, And outputs the integer part of the division result as an increment value , and stores the remainder value in the register. The increment value calculation section calculates the drawing value of the division point m-1 by the increment value calculation section.
The increment value is added to output as a drawing value for the division point m.
A drawing output value calculation device, comprising:
係数を分割数Mのn−q(1≦q<nなる整数)乗で除
して増加値係数整数部と増加値係数剰余部に分割し、前
記増加値算出部で前記増加値係数剰余部および分割点m
の値より剰余部増加値を算出し、算出された剰除部増加
値を剰除レジスタに格納されている加納値に加算してM
n-q で除算し、除算結果の剰余を前記剰除レジスタに格
納し、除算結果の整数部を前記増加値係数整数部および
分割点mの値より算出された増加値に加算し、前記増分
値算出部で前記増加値係数整数部より算出された増加値
を前記レジスタに格納されている格納値に加算してMq
で除算し、除算結果の整数部を増分値として出力し、剰
余を前記レジスタに格納するようにしたことを特徴とす
る請求項1記載の曲線描画値算出装置。2. An increment coefficient integer part and an increment coefficient remainder part by dividing the increment coefficient calculated by the increment coefficient calculation unit by the number of divisions M raised to the power of n−q (1 ≦ q <n). And the increase value calculation unit calculates the increase value coefficient remainder part and the division point m.
, And calculates the remainder increase value by adding the calculated remainder increase value to the addition value stored in the remainder register.
nq , the remainder of the division result is stored in the remainder register, and the integer part of the division result is added to the increase value calculated from the increase coefficient integer part and the value of the division point m to calculate the increment value. the increased value calculated from the increased value coefficient integer part is added to the stored value stored in said register in parts M q
2. The curve drawing value calculation apparatus according to claim 1, wherein an integer part of the division result is output as an increment value, and a remainder is stored in the register.
合は請求項1記載による曲線描画値の算出より請求項2
記載による曲線描画値の算出に切換えるようにしたこと
を特徴とする曲線描画値算出装置。3. Before SL min when the value of the split number M is equal to or greater than a certain value claim 1 wherein from the calculation of the curve drawing values according to according to claim 2
Curve drawing value calculation device characterized in that the switched on calculation of curve drawing value by description.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11728392A JP3224852B2 (en) | 1992-05-11 | 1992-05-11 | Curve drawing value calculation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11728392A JP3224852B2 (en) | 1992-05-11 | 1992-05-11 | Curve drawing value calculation device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05314267A JPH05314267A (en) | 1993-11-26 |
JP3224852B2 true JP3224852B2 (en) | 2001-11-05 |
Family
ID=14707916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11728392A Expired - Fee Related JP3224852B2 (en) | 1992-05-11 | 1992-05-11 | Curve drawing value calculation device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3224852B2 (en) |
-
1992
- 1992-05-11 JP JP11728392A patent/JP3224852B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH05314267A (en) | 1993-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE39385E1 (en) | Method and apparatus for performing mathematical functions using polynomial approximation and a rectangular aspect ratio multiplier | |
EP0577131A2 (en) | System and method of hybrid forward differencing to render bézier splines | |
US5363479A (en) | System and method for rendering bezier splines | |
US20060250397A1 (en) | Graphics processing unit and graphics processing system | |
KR980010751A (en) | Method and apparatus for performing microprocessor integer division operations using floating point hardware | |
JPH0612229A (en) | Multiplication and accumulation circuit | |
EP0526747A2 (en) | Transcendental function approximation apparatus and method | |
JP2670875B2 (en) | Device for displaying parametric function using adaptive forward difference and integer arithmetic and method for realizing using integer arithmetic | |
JP3224852B2 (en) | Curve drawing value calculation device | |
JP3129392B2 (en) | Two-dimensional IDCT circuit | |
US6005988A (en) | Method and apparatus for rapid digital image resizing | |
KR940008611B1 (en) | Binary floating point arithmetic rounding in conformance with ieee 754-1985 standard | |
JP2737933B2 (en) | Division device | |
JP2953929B2 (en) | Modified Cholesky decomposition calculator | |
EP0738960A2 (en) | Method and apparatus for reducing rounding error when evaluating binary floating point polynomials | |
JP2972326B2 (en) | Square root calculator | |
JP2821406B2 (en) | Product-sum operation unit and digital filter circuit using the same | |
JP2000081968A (en) | Arithmetic unit for reciprocal | |
JP2508286B2 (en) | Square root calculator | |
JP2000183753A (en) | Signal converter and signal conversion method | |
JPH06105421B2 (en) | Inverse trigonometric function calculator | |
JP2753922B2 (en) | Fixed-point division method | |
SU754415A1 (en) | Binary number dividing device | |
JP3277497B2 (en) | Divider | |
JP3074910B2 (en) | Division device |
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: 20010807 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080824 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |