JPH05250479A - Curve interpolation device - Google Patents

Curve interpolation device

Info

Publication number
JPH05250479A
JPH05250479A JP4048726A JP4872692A JPH05250479A JP H05250479 A JPH05250479 A JP H05250479A JP 4048726 A JP4048726 A JP 4048726A JP 4872692 A JP4872692 A JP 4872692A JP H05250479 A JPH05250479 A JP H05250479A
Authority
JP
Japan
Prior art keywords
register
small
curve
auxiliary
midpoint
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
Application number
JP4048726A
Other languages
Japanese (ja)
Inventor
Makoto Tazumi
誠 田積
Yoshitaka Kuroda
剛毅 黒田
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP4048726A priority Critical patent/JPH05250479A/en
Publication of JPH05250479A publication Critical patent/JPH05250479A/en
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

PURPOSE:To prevent the increase of hardware and to reduce the calculation of mid point of less step and of one step in interpolating points on the curve while repeatedly obtaining the mid point based on four control points on the three-dimensional Bezier curve. CONSTITUTION:The mid points are calculated in small mid-point generators 31-33 based on the coordinate of the control point stored in small registers 11-14. The result is saved in the registers 11-14 or in small auxiliary registers 21-24. The processing is repeated three times to obtain the halved control points. The latter half of the control point is retrieved in a stack and the first half is divided into two again. When a discrimination section detects that the both ends of the control point are converged into two points, outputted as an interpolation point. Then, the latter half of the control point is restored from the stuck to the small registers 11-14 to repeat the same processing.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、複数の制御点から曲線
上の点を補間する装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a device for interpolating points on a curve from a plurality of control points.

【0002】[0002]

【従来の技術】高機能ワープロにおけるプリンターでの
印刷やディスプレイにおける文字文章の表示において
は、いわゆるアウトラインフォント(Out line Font)
の展開という技術が広く使用されている。これは、文字
の輪郭をそれに対応した複数の点(「制御点」と言われ
る。)で記憶しておき、印字等の要求に対してはこの記
憶している複数の点を基本にその間の線を補充して表示
する(通例「補間」といわれるため、本明細書でも「補
間」という。)ことにより要求された文字を表現し、し
かる後この表現に沿って印字やCRT上での光点の軌跡
の形成等をなすものである。
2. Description of the Related Art When printing with a printer in a high-performance word processor and displaying text on a display, a so-called outline font is used.
The technology of deployment is widely used. This is because the outline of a character is stored at a plurality of points (referred to as “control points”) corresponding to the contour of the character, and for a request such as printing, the stored plurality of points are basically used as a space between them. The requested character is expressed by supplementing and displaying a line (which is also called "interpolation" in this specification because it is usually called "interpolation"), and then the printing or light on a CRT is followed according to this expression. It forms the locus of points.

【0003】そして、この場合の線の補間には、通常3
次場合によっては2次若しくは4次まれには5次以上の
Bezier曲線が使用される。3次Bezier曲線はパラメータ
t(0≦t≦1)の3次関数で表わされる曲線であり、
4つの制御点、そしてこの場合には各文字に対応して記
憶している複数の点、A、B、C、Dの座標を用いて以
下の式で定義される。
In this case, the line interpolation is usually 3
Next, depending on the case, 2nd or 4th, and rarely 5th or higher
Bezier curves are used. The cubic Bezier curve is a curve represented by a cubic function of the parameter t (0 ≦ t ≦ 1),
It is defined by the following equation using four control points, and in this case, a plurality of points stored corresponding to each character, coordinates of A, B, C, and D.

【0004】 P=A(1-t)3+3Bt(1-t)2+3Ct2(1-t)+Dt3 …(数1) ここで、制御点Aは曲線の始点(t=0)、Dは曲線の
終点(t=1)となる。なお、2次Bezier曲線はP=A(1-
t)2+2Bt(1-t)+Ct2であり、4次以上の場合もこの形式に
準じて定義される。また、印字手段等への補間について
の情報を出力する関係上通例Aを始点、Dを終点とい
い、また曲線を2分割した場合には、始点Aに近い方が
前半分、終点Dに近い方が後半分といわれているため、
本明細書においてもこれに従う。また、曲線をt=0.5で
2つに分けたとき、前半分(0≦t≦0.5)の曲線の
新たに作られた制御点A1 、B1 、C1 、D1 と後半分
(0.5≦t≦1)の曲線の新たに作られた制御点
2 、B2 、C2 、D2 は、(数2)から(数8)に示
すように元の制御点より中点を繰り返し計算することに
より簡単に求めることができる。
P = A (1-t) 3 + 3Bt (1-t) 2 + 3Ct 2 (1-t) + Dt 3 (Equation 1) Here, the control point A is the starting point of the curve (t = 0. ) And D are the end points (t = 1) of the curve. The quadratic Bezier curve is P = A (1-
t) 2 + 2Bt (1-t) + Ct 2, which is defined according to this form even in the case of the fourth or higher order. In addition, because the information about the interpolation to the printing means is output, A is usually called the start point and D is the end point. When the curve is divided into two, the one closer to the start point A is closer to the front half and the end point D. It is said that the latter half is
This also applies to this specification. When the curve is divided into two at t = 0.5, the newly created control points A 1 , B 1 , C 1 , D 1 and the latter half of the curve of the first half (0 ≦ t ≦ 0.5) The newly created control points A 2 , B 2 , C 2 and D 2 of the curve of (0.5 ≦ t ≦ 1) are different from the original control points as shown in (Equation 2) to (Equation 8). It can be easily obtained by repeatedly calculating the midpoint.

【0005】 A1=A …(数2) B1=(A+B)/2 …(数3) C1=(A+2B+C)/4={(A+B)/2+(B+C)/2}/2={B1+(B+C)/2}/2 …(数4) D1=A2=(A+3B+3C+D)/8=(C1+B2)/2 … (数5) B2=(B+2C+D)/4={(B+C)/2+(C+D)/2}/2={(B+C)/2+C2}/2 …(数6) C2=(C+D)/2 …(数7) D2=D …(数8) 更に、この操作を繰り返すことより、Ai 、Bi
i 、Di は補間を目指す曲線に限りなく近づく。
A 1 = A (Equation 2) B 1 = (A + B) / 2 (Equation 3) C 1 = (A + 2B + C) / 4 = {(A + B) / 2 + ( B + C) / 2} / 2 = {B 1 + (B + C) / 2} / 2 (Equation 4) D 1 = A 2 = (A + 3B + 3C + D) / 8 = (C 1 + B 2 ) / 2 (Equation 5) B 2 = (B + 2C + D) / 4 = {(B + C) / 2 + (C + D) / 2} / 2 = {(B + C) / 2 + C 2 } / 2 (Equation 6) C 2 = (C + D) / 2 (Equation 7) D 2 = D (Equation 8) Further, by repeating this operation, A i , B i ,
C i and D i are as close as possible to a curve aiming at interpolation.

【0006】さて、従来の曲線補間装置はこの性質を利
用して、曲線を次々に2つに分解し、分解した曲線の始
点Ai と終点Di とが印字手段若しくは表示手段の最小
表示能力から定まる隣接した2点あるいは、所定の区間
内に収束した場合にその点を曲線上の補間点として出力
する方法を取っている。なお、ここに始点Ai と終点D
i とが隣接すれば、その中間点Bi 、Ci も隣接するこ
と、また印字等用途も限定されているため、これで実務
上何の不都合も生じないことのため、これらの中間点の
隣接の有無は通常は判断されない。また、そして、これ
らのことは後に説明する実施例でも同じである。
The conventional curve interpolating apparatus utilizes this property to decompose a curve into two parts one after another, and the starting point A i and the end point D i of the decomposed curve are the minimum display capability of the printing means or the display means. The method is to output two adjacent points defined by the above or when they converge within a predetermined section, as the interpolation points on the curve. Here, the starting point A i and the ending point D
When i and i are adjacent to each other, the intermediate points B i and C i are also adjacent to each other, and the application such as printing is limited. Therefore, inconvenience does not occur in practice. The presence or absence of adjacency is not normally judged. Moreover, these are the same in the embodiments described later.

【0007】従来のBezier曲線補間装置としては、例え
ば「A High Speed Outline Font Rasterizing LSI」(P
roceedings of the IEEE Custom Integrated Circuits
Conference 1989)に示されているものがある。図10
は従来技術に係るBezier曲線補間装置の一例としてその
構成を示すものである。本図において、1は4つの制御
点のX座標を記憶するXレジスタ、2は4つの制御点の
Y座標を記憶するYレジスタ、3はXレジスタ1とYレ
ジスタ2を選択するセレクタ、4はX座標またはY座標
の中点を計算して曲線の制御点を2分割する2分割回
路、5は2分割後の後半分の制御点の座標をFILO
(First In Last Out)方式で記憶するスタック、6は
セレクタ3の出力する座標のうち曲線の始点と終点の座
標を入力して隣接するか否かを判定する判定部である。
ここで、2分割回路4は図11に示すように6つの中点
発生器より構成されている。
As a conventional Bezier curve interpolator, for example, "A High Speed Outline Font Rasterizing LSI" (P
roceedings of the IEEE Custom Integrated Circuits
Conference 1989). Figure 10
Shows the configuration thereof as an example of the Bezier curve interpolation device according to the prior art. In the figure, 1 is an X register that stores the X coordinates of four control points, 2 is a Y register that stores the Y coordinates of four control points, 3 is a selector that selects X register 1 and Y register 2, and 4 is A two-division circuit that divides the control point of the curve into two by calculating the midpoint of the X coordinate or the Y coordinate.
A stack stored by the (First In Last Out) method, and 6 is a determination unit that inputs the coordinates of the start point and the end point of the curve among the coordinates output by the selector 3 and determines whether or not they are adjacent.
Here, the two-divided circuit 4 is composed of six midpoint generators as shown in FIG.

【0008】なお、本図においては、これらの機器を統
合して曲線補間計算及びこれに必要な途中の計算結果の
退避、転送、出力等を制御し、またクロック信号発生機
をも内蔵するマスターコンピュータ(ホストコンピュー
タ)や入出力装置等は煩雑となるため示していない。以
上のように構成された従来の曲線補間装置においては、
まずBezier曲線の4つの制御点(A、B、C、D)のX
座標、Y座標が、それぞれXレジスタ1とYレジスタ2
にセットされる。なお、この際、X座標及びY座標の基
本単位としては、印字手段若しくは表示手段の最小表示
間隔(写真における分解能に相応する)を1として採用
されるのが普通である。
In this figure, these devices are integrated to control the curve interpolation calculation and saving, transfer, output, etc. of the calculation results in the middle necessary for this, and a master which also has a clock signal generator built-in. A computer (host computer) and an input / output device are not shown because they are complicated. In the conventional curve interpolation device configured as described above,
First, X of four control points (A, B, C, D) of Bezier curve
Coordinates and Y coordinates are X register 1 and Y register 2, respectively.
Is set to. At this time, the minimum display interval (corresponding to the resolution in the photograph) of the printing means or the display means is usually adopted as 1 as the basic unit of the X coordinate and the Y coordinate.

【0009】また、このことは後に説明する実施例につ
いても同じである。セレクタ3は最初はXレジスタ1を
選択し、2分割回路4はXレジスタ1の内容を分割して
2組の制御点(A1 、B1 、C1 、D1 )と(A2 、B
2 、C2 、D2 )のX座標を求める。そのうちの前半分
の制御点(A1 、B1 、C1 、D1)の座標はXレジス
タ1に戻され、後半分の制御点(A2 、B2 、C2 、D
2 )の座標はスタック5に退避される。なお、以下では
本発明の実施例も含めて、上記A1 、B1 、A2
2 、Ai 、Bi 等補間計算の途中で算出される制御点
は原則として「補間のための制御点」と言うことにす
る。次にセレクタ3はYレジスタ2を選択し、Y座標に
ついても同様の処理を実行する。
This also applies to the embodiments described later. The selector 3 first selects the X register 1, and the 2-division circuit 4 divides the contents of the X register 1 into two sets of control points (A 1 , B 1 , C 1 , D 1 ) and (A 2 , B).
2 , X 2 coordinates of C 2 , D 2 ) are obtained. The coordinates of the control points (A 1 , B 1 , C 1 , D 1 ) of the first half of them are returned to the X register 1, and the control points of the latter half (A 2 , B 2 , C 2 , D 1 ) are returned.
The coordinates of 2 ) are saved in the stack 5. In the following, including the examples of the present invention, the above A 1 , B 1 , A 2 ,
The control points calculated during the interpolation calculation of B 2 , A i , B i, etc. will be called “control points for interpolation” in principle. Next, the selector 3 selects the Y register 2 and executes the same processing for the Y coordinate.

【0010】判定部6は2分割を続けるか否かの判定
と、曲線上の補間点の出力を行なう。判定は補間のため
の制御点(Ai 、Bi 、Ci 、Di )のうち曲線の始点
(Ai)と終点(Di )が隣接する2点に収束したか否
か、すなわち補間のための制御点Ai 、Di のX座標A
i 、Dxi の整数部分の差と、Y座標Ayi 、Dyi
の整数部分の差が両方とも1以下か否かを見る。もし2
点が隣接する場合には、これ以上2分割を行っても、印
字能力等の面から無意味であるため始点(Ai )から終
点(Di )へのX座標とY座標の変化量を曲線上の補間
点に関する最終の、すなわち正規の情報として出力す
る。なお、本明細書では、かかる始点と終点とが隣接し
た補間点を原則として「正規の補間点」と言うこととす
る。
The decision unit 6 decides whether or not to continue the division into two and outputs the interpolation points on the curve. The determination is whether or not the control points for interpolation (A i , B i , C i , D i ) have converged to two points where the curve start point (A i ) and end point (D i ) are adjacent to each other, that is, interpolation. X coordinate A of control points A i , D i for
The difference between the integer parts of x i and Dx i and the Y coordinates Ay i and Dy i
See if the difference between the integer parts of is less than or equal to 1. If 2
If the points are adjacent to each other, the amount of change in the X coordinate and the Y coordinate from the start point (A i ) to the end point (D i ) is not significant even if the division is further divided into two because it is meaningless in terms of printing ability. It is output as the final or regular information about the interpolation point on the curve. In the present specification, the interpolation point where the start point and the end point are adjacent to each other is, in principle, referred to as a “normal interpolation point”.

【0011】ここで、Bezier曲線の4つの制御点A、
B、C、Dの初期値がA0 、B0 、C 0 、D0 で、この
制御点を2分割した後の2組の補間のための制御点がA
1 、B 1 、C1 、D1 とA2 、B2 、C2 、D2 で、前
半分の補間のための制御点A1、B1 、C1 、D1 を2
分割した後の2組の補間のための制御点がA11、B11
11、D11とA12、B12、C12、D12で、後半分の補間
のための制御点A2 、B 2 、C2 、D2 を2分割した後
の2組の補間のための制御点がA21、B21、C21、D21
とA22、B22、C22、D22であり、A11とD11(=
12)とD12(=A21)とD21(=A22)とD22が隣接
する点に収束する場合を考える。これらの制御点の位置
関係を図12に例示する。
Here, four control points A of the Bezier curve,
The initial values of B, C and D are A0, B0, C 0, D0And this
After the control point is divided into two, the control points for the two sets of interpolation are A
1, B 1, C1, D1And A2, B2, C2, D2And before
Control point A for half interpolation1, B1, C1, D12
The control point for the two sets of interpolation after division is A11, B11,
C11, D11And A12, B12, C12, D12Then, interpolation for the second half
Control point A for2, B 2, C2, D2After splitting into two
The control points for the two sets oftwenty one, Btwenty one, Ctwenty one, Dtwenty one
And Atwenty two, Btwenty two, Ctwenty two, Dtwenty twoAnd A11And D11(=
A12) And D12(= Atwenty one) And Dtwenty one(= Atwenty two) And Dtwenty twoAdjacent to
Consider the case where it converges to the point. The position of these control points
The relationship is illustrated in FIG.

【0012】この場合に、Bezier曲線補間装置の各動作
ステップごとにXレジスタ1とYレジスタ2に記憶され
る点の座標、セレクタ3の選択するレジスタ、2分割回
路4が出力する分割後の制御点の座標、判定部6が出力
する曲線上の補間点(始点および終点)、スタック5の
内容を図13に示す。ただし、図13においてXiとは
補間のための制御点Ai 、Bi 、Ci 、Di のX座標、
i とは同じく補間のための制御点Ai 、Bi 、Ci
i のY座標の集合を表わし、X0 およびY0は制御点
の初期値A0 、B0 、C0 、D0 に相応する。
In this case, the coordinates of the points stored in the X register 1 and the Y register 2 for each operation step of the Bezier curve interpolating device, the register selected by the selector 3, and the control after the division output by the division circuit 4. FIG. 13 shows the coordinates of the points, the interpolation points (start point and end point) on the curve output by the determination unit 6, and the contents of the stack 5. However, in FIG. 13, Xi is the X coordinate of the control points A i , B i , C i , D i for interpolation,
Similarly to Y i , control points A i , B i , C i for interpolation,
It represents the set of Y coordinates of D i , where X 0 and Y 0 correspond to the initial values A 0 , B 0 , C 0 , D 0 of the control points.

【0013】ステップ1では、Xレジスタ1にX0 、Y
レジスタ2にY0 がセットされ、セレクタ3はXレジス
タ1を選択し、2分割回路4は前半分の補間のための制
御点の座標としてX1 、後半分の補間のための制御点の
座標としてX2 を出力する。ステップ2では、Xレジス
タ1にX1 がセットされ、スタック5へX2 が退避され
る。そして、セレクタ3はYレジスタ2を選択し、2分
割回路4は前半分の補間のための制御点の座標としてY
1 、後半分の補間のための制御点の座標としてY2 を出
力する。
In step 1, X 0 , Y is stored in the X register 1.
Y 0 is set in the register 2, the selector 3 selects the X register 1, and the two-division circuit 4 sets X 1 as the coordinate of the control point for the interpolation of the first half and the coordinate of the control point for the interpolation of the second half. To output X 2 . In step 2, X 1 is set in the X register 1 and X 2 is saved in the stack 5. Then, the selector 3 selects the Y register 2, and the two-division circuit 4 sets Y as the coordinate of the control point for the interpolation of the first half.
1 , Y 2 is output as the coordinate of the control point for interpolation of the second half.

【0014】同様にステップ3ではXレジスタ1内のX
1 の分割、ステップ4ではYレジスタ2内のY2 の分割
が実行される。ステップ5ではXレジスタ1内のX11
分割されるが、ステップ6で判定部6が制御点A11とD
11が隣接することを判定し補間点を出力するため、ステ
ップ5の分割結果はスタック5に退避されない。また、
ステップ6で2分割が終了するため、ステップ7ではス
タック5からY12がYレジスタ2に復帰され、ステップ
8ではスタック5からX12がXレジスタ1に復帰され、
新たな2分割および判定の対象となる。
Similarly, in step 3, X in the X register 1
1 division, in step 4, division of Y 2 in the Y register 2 is executed. In step 5, X 11 in the X register 1 is divided, but in step 6, the determination unit 6 determines the control points A 11 and D.
Since it is determined that 11 are adjacent and the interpolation point is output, the division result of step 5 is not saved in the stack 5. Also,
Since the division into two is completed in step 6, Y 12 is returned from stack 5 to Y register 2 in step 7, and X 12 is returned from stack 5 to X register 1 in step 8,
It is a new target of division and determination.

【0015】以下同様にして、ステップ17で判定部6
が2分割の終了を判定し正規の補間点を出力し、かつス
タック5に記憶されている補間のための制御点がなくな
るまで分割および判定が繰り返される。このようにし
て、従来のBezier曲線補間装置では17ステップで図1
2に例を示す補間処理を終了する。ただし、制御点の初
期値、要求される補間点の粗密度(精度)によっては、
更にこのステップ数は増加する。また、2次、4次等の
Bezier曲線の補間も、この補間点の算出手法の基本は同
じである。
In the same manner as described above, in step 17, the judgment unit 6
Determines the end of the two divisions, outputs a normal interpolation point, and the division and the determination are repeated until there are no control points for interpolation stored in the stack 5. In this way, the conventional Bezier curve interpolating device can perform 17 steps in FIG.
The interpolation process shown in 2 is ended. However, depending on the initial value of the control point and the required coarseness (accuracy) of the interpolation point,
Furthermore, the number of steps increases. In addition, second-order, fourth-order, etc.
The Bezier curve interpolation has the same basic calculation method for the interpolation points.

【0016】[0016]

【発明が解決しようとする課題】しかしながら上記のよ
うな構成では、図11に示すように2分割回路は3段の
中点発生器を直列に接続し、1ステップ内に3段の中点
計算を実行する必要がある。このため、Bezier曲線補間
装置に供給するクロックの周波数を上げることができな
い。
However, in the above-mentioned configuration, as shown in FIG. 11, the two-divided circuit connects three-stage midpoint generators in series, and the three-stage midpoint calculation is performed in one step. Need to run. Therefore, the frequency of the clock supplied to the Bezier curve interpolation device cannot be increased.

【0017】また、X座標とY座標を別のステップで交
互に処理するため、判定部においては1ステップ前に終
了したX座標の判定結果を保持しておいて、次のステッ
プにおけるY座標の判定結果とあわせて本当に所定の区
間内に収束したか否か、すなわち2分割の終了を判定す
る必要があり、判定の処理が複雑になる。本発明は上記
課題に鑑み、ハードウェア量を増加させることなく少な
いステップ数でBezier曲線を補間する装置を提供するこ
とを目的としてなされたものである。
Further, since the X-coordinate and the Y-coordinate are alternately processed in another step, the judgment unit holds the judgment result of the X-coordinate completed one step before, and stores the judgment result of the Y-coordinate in the next step. It is necessary to determine whether or not it has really converged within a predetermined section, that is, the end of the two divisions together with the determination result, and the determination process becomes complicated. In view of the above problems, the present invention has been made for the purpose of providing an apparatus for interpolating a Bezier curve with a small number of steps without increasing the amount of hardware.

【0018】[0018]

【課題を解決するための手段】上記目的を達成するた
め、請求項1の発明においては、前後に順を持って与え
られた複数のX座標を記憶するXレジスタと、前記Xレ
ジスタに記憶されている隣りあうX座標間の中点座標を
計算するX中点発生器と、前記Xレジスタに記憶されて
いるX座標または前記X中点発生器が出力する中点座標
を保持するX補助レジスタと、前記X補助レジスタにX
中点発生器により新たに出力された曲線の前半分の新し
い補間のための制御点のX座標が入力されたときにはこ
れまで保持されていた補間のための制御点若しくは新た
に出力された曲線の後半分の補間のための制御点のX座
標を退避させた上で記憶するXスタックと、前後に順を
持って与えられた複数のY座標を記憶するYレジスタ
と、前記Yレジスタに記憶されている隣りあうY座標間
の中点座標を計算するY中点発生器と、前記Yレジスタ
に記憶されているY座標または前記Y中点発生器が出力
する中点座標を保持するY補助レジスタと、前記Y補助
レジスタにY中点発生器により新たに出力された曲線の
後半分の新しい補間のための制御点のY座標が入力され
たときにはこれまで保持されていた点若しくは新たに出
力された曲線の後半分の補間のための制御点のY座標を
退避させた上で記憶するYスタックと、前記Xレジスタ
の記憶する2分割された曲線の始点と終点のX座標の差
と前記Yレジスタの記憶する2分割された曲線の始点と
終点のY座標の差とが所定値以内か否かにより始点と終
点とが隣接することを判定する判定部と、曲線を補間す
るための制御点の座標が前記Xレジスタおよび前記Yレ
ジスタに与えられた場合には、前記X中点発生器と前記
Y中点発生器とに中点を繰り返し計算させ、該計算結果
を前記Xレジスタと前記X補助レジスタおよび前記Yレ
ジスタと前記Y補助レジスタに保持させることによって
前半分の曲線を補間する制御点と後半分の曲線を補間す
る制御点を求める補間制御点算出手段と、前記補間制御
点算出手段により算出された補間のための制御点のうち
後半分の制御点は前記Xスタックおよび前記Yスタック
に退避させ、前半分の制御点は繰り返し分割するために
前記Xレジスタおよび前記Yレジスタに記憶させ、その
上で前記Xレジスタおよび前記Yレジスタに記憶された
前半分の制御点のうち曲線の始点と終点となる2点が隣
接することを前記判定部に判定させ、隣接する場合には
その2点を曲線上の正規の補間点として出力させるとと
もに前記Xスタックおよび前記Yスタックに退避された
後半分の補間のための制御点を前記Xレジスタおよび前
記Yレジスタに復帰させる退避復帰制御手段とを有して
いることを特徴とするBezier曲線補間装置としている。
In order to achieve the above object, in the invention of claim 1, an X register for storing a plurality of X coordinates given in order before and after, and stored in the X register. X midpoint generator for calculating midpoint coordinates between adjacent X coordinates, and an X auxiliary register for holding X coordinates stored in the X register or midpoint coordinates output by the X midpoint generator And X to the X auxiliary register
When the X coordinate of the control point for the new interpolation of the first half of the curve newly output by the midpoint generator is input, the control point for the interpolation held until now or the newly output curve The X stack for storing the X coordinates of the control points for the latter half of the interpolation is stored and stored, the Y register for storing a plurality of Y coordinates given in order before and after, and the Y register for storing the Y coordinates. Y midpoint generator for calculating midpoint coordinates between adjacent Y coordinates and a Y auxiliary register for holding the Y coordinate stored in the Y register or the midpoint coordinate output by the Y midpoint generator When the Y coordinate of the control point for the new interpolation of the second half of the curve newly output by the Y midpoint generator is input to the Y auxiliary register, the point previously held or the new output is output. The second half of the curve Of the Y coordinate of the control point for interpolating the Y coordinate stored therein, the difference between the X coordinate of the start point and the end point of the two-divided curve stored in the X register, and the 2 stored in the Y register. A determination unit that determines whether the start point and the end point are adjacent to each other depending on whether the difference between the Y coordinates of the start point and the end point of the divided curve is within a predetermined value, and the coordinate of the control point for interpolating the curve is the X-axis. When given to the register and the Y register, the X midpoint generator and the Y midpoint generator are made to repeatedly calculate the midpoint, and the calculation result is given to the X register, the X auxiliary register, and the Y register. An interpolation control point calculating means for obtaining a control point for interpolating the curve of the first half and a control point for interpolating the curve of the second half by holding the register and the Y auxiliary register, and the interpolation calculated by the interpolation control point calculating means. Nota Control points for the second half of the control points are saved in the X stack and the Y stack, and the control points in the first half are stored in the X register and the Y register for repeated division, and then the X register is stored. And the determination unit determines that the two points, which are the start point and the end point of the curve, of the first half control points stored in the Y register are adjacent to each other. Evacuation / recovery control means for outputting to the X register and the Y register the control points for the latter half of the interpolation, which are output as the interpolation points and saved in the X stack and the Y stack, are provided. And Bezier curve interpolator.

【0019】請求項2の発明においてはhを2以上の自
然数、jを1以上h以下の自然数としたとき、前記Xレ
ジスタが第1から第(h+1)までのX小レジスタで構
成され、前記中点発生器が第j番の小中点発生器は前記
第jX小レジスタと第(j+1)X小レジスタの中点を
計算する第1から第hまでの小中点発生器から構成さ
れ、前記X補助レジスタが第1から第hまでのX小補助
レジスタで構成され、前記Yレジスタが第1から第(h
+1)までのY小レジスタで構成され、前記中点発生器
が第j番の小中点発生器は前記第jY小レジスタと第
(j+1)Y小レジスタの中点を計算する第1から第h
までの小中点発生器から構成され、前記Y補助レジスタ
が第1から第hまでのY小補助レジスタで構成されてお
り、前記判定部は前記第1X小レジスタと前記第(h+
1)X小レジスタの記憶するX座標の値の差及び前記第
1Y小レジスタと前記第(h+1)Y小レジスタの記憶
するY座標の値の差が所定値以内か否かを判定するよう
構成されており、第h次Bezier曲線の補間計算を行うこ
とを特徴とする請求項1記載のBezier曲線補間装置とし
ている。
In a second aspect of the present invention, when h is a natural number of 2 or more and j is a natural number of 1 or more and h or less, the X register is composed of the first to (h + 1) th X small registers, and The j-th small-middle-point generator is the j-th small-middle-point generator, and is composed of first to h-th small-middle-point generators for calculating the middle point of the j-th small register and the (j + 1) X small register. The X auxiliary register includes first to hth X small auxiliary registers, and the Y register includes the first to (h) th auxiliary registers.
+1) Y small registers, the middle point generator is the j-th small middle point generator, and the first to the first to calculate the middle point of the jth Y small register and the (j + 1) Y small register. h
Up to Y-th small auxiliary point register, the Y auxiliary register is formed of first to h-th Y small auxiliary registers, and the determination unit is the first X small register and the (h +
1) It is configured to determine whether the difference between the X coordinate values stored in the X small register and the difference between the Y coordinate values stored in the first Y small register and the (h + 1) Y small register is within a predetermined value. The Bezier curve interpolating apparatus according to claim 1, wherein the Bethier curve interpolating apparatus calculates the h-th degree Bezier curve.

【0020】請求項3の発明においては前記第hXレジ
スタと前記第1X補助レジスタ若しくは前記第hYレジ
スタと前記第1Y補助レジスタの少なくも一方が同じ1
つの小レジスタで兼用されたことを特徴とする請求項2
記載のBezier曲線補間装置としている。請求項4の発明
においては前後に順を持って与えられた複数のX座標を
記憶するXレジスタと、複数のX座標を記憶するX補助
レジスタと、前記Xレジスタまたは前記X補助レジスタ
に記憶される隣りあうX座標間の中点座標を計算するX
中点発生器と、前記X補助レジスタにX中点発生器によ
り新たに出力された曲線の前半分の補間のための制御点
のX座標が入力されたときには、これまで保持されてい
た制御点若しくは新たに出力された曲線の後半分の補間
のための制御点の座標を記憶するXスタックと、前後に
順を持って与えられた複数のY座標を記憶するYレジス
タと、複数のY座標を記憶するY補助レジスタと、前記
Yレジスタまたは前記Y補助レジスタに記憶される隣り
あうY座標間の中点座標を計算するY中点発生器と、前
記Y補助レジスタにY中点発生器により新たに出力され
た曲線の前半分の補間のための制御点のY座標が入力さ
れたときには、これまで保持されていた制御点若しくは
新たに出力された曲線の後半分の補間のための制御点の
座標を記憶するYスタックと、前記Xレジスタの記憶す
る2分割された曲線の始点と終点のX座標の差と前記Y
レジスタの記憶する2分割された曲線の始点と終点のY
座標の差とが所定値以内か否かにより始点と終点とが隣
接することを判定する判定部と、曲線を補間するための
制御点の座標が前記Xレジスタおよび前記Yレジスタに
与えられた場合には、前記X中点発生器と前記Y中点発
生器とに中点を繰り返し計算させ、該計算結果を前記X
レジスタと前記X補助レジスタおよび前記Yレジスタと
前記Y補助レジスタに保持させることによって前半分の
曲線を補間する制御点と後半分の曲線を補間する制御点
を求める計算をなさせる補間制御点算出手段と、前記X
レジスタおよび前記Yレジスタに記憶された前半分の曲
線の補間のための制御点のうち始点と終点を示す2点が
隣接することを前記判定部が示す場合にはその2点を曲
線上の正規の補間点として出力するとともに前記X補助
レジスタおよび前記Y補助レジスタに記憶された後半分
の曲線の補間のための制御点を前記Xレジスタおよび前
記Yレジスタに転送させ、同じく前半分の曲線の始点と
終点を示す2点が隣接することを前記判定部が示さない
場合には前記X補助レジスタおよび前記Y補助レジスタ
に記憶する後半分の曲線の補間のための制御点を前記X
スタックおよび前記Yスタックに退避させるとともに前
半分の曲線の補間のための制御点は繰り返し2分割する
ために前記Xレジスタおよび前記Yレジスタに保持させ
る転送退避保持手段と、前記X補助レジスタまたは前記
Xスタックおよび前記Y補助レジスタまたは前記Yスタ
ックから前記Xレジスタおよび前記Yレジスタに転送さ
れた後半分の曲線の補間用の制御点のうち曲線の始点と
終点を示す2点が隣接することを前記判定部が示す場合
にはその2点を曲線上の正規の補間点として出力させる
とともに前記Xスタックおよび前記Yスタックに退避さ
れた更に後の順の曲線の補間用の制御点を前記Xレジス
タおよび前記Yレジスタに復帰させる退避復帰制御手段
とを有していることを特徴とするBezier曲線補間装置と
している。
In the invention of claim 3, at least one of the hX register and the first X auxiliary register or the hY register and the first Y auxiliary register is the same 1
3. The small register is also used as one small register.
The described Bezier curve interpolation device is used. In the invention of claim 4, the X register for storing a plurality of X coordinates given in order before and after, the X auxiliary register for storing a plurality of X coordinates, and the X register or the X auxiliary register are stored. X to calculate the midpoint coordinate between adjacent X coordinates
When the midpoint generator and the X coordinate of the control point for interpolation of the first half of the curve newly output by the X midpoint generator are input to the X auxiliary register, the control point that has been held so far Alternatively, an X stack that stores the coordinates of control points for interpolation of the second half of the newly output curve, a Y register that stores a plurality of Y coordinates given in order before and after, and a plurality of Y coordinates And a Y midpoint generator for calculating the midpoint coordinates between the Y registers stored in the Y register or the Y auxiliary register, and a Y midpoint generator for the Y auxiliary register. When the Y coordinate of the control point for interpolation of the first half of the newly output curve is input, the control point that has been held so far or the control point for interpolation of the second half of the newly output curve is input. Memorize the coordinates of Wherein a tack, the difference between the start and end points X coordinate of the two divided curves stored in the X register Y
Y of the start point and end point of the curve divided into two stored in the register
A determination unit that determines whether the start point and the end point are adjacent to each other depending on whether the difference between the coordinates is within a predetermined value, and the coordinates of the control point for interpolating the curve are given to the X register and the Y register. To cause the X midpoint generator and the Y midpoint generator to repeatedly calculate the midpoint, and to calculate the calculation result by the X midpoint generator.
Interpolation control point calculation means for holding a register and the X auxiliary register, and a Y register and the Y auxiliary register to obtain a control point for interpolating the first half curve and a control point for interpolating the second half curve And the above X
If the determination section indicates that the two points indicating the start point and the end point of the control points for interpolation of the first half curve stored in the register and the Y register are adjacent to each other, the two points on the curve are normalized. Control points for interpolation of the latter half curve stored in the X auxiliary register and the Y auxiliary register and transferred to the X register and the Y register, and the start point of the curve in the first half. When the determination unit does not indicate that two points indicating the end point and the end point are adjacent to each other, the control point for interpolating the second half curve stored in the X auxiliary register and the Y auxiliary register is set to the X point.
A transfer save / hold means for saving in the stack and the Y stack and holding in the X register and the Y register the control point for interpolating the first half curve repeatedly in two, and the X auxiliary register or the X register. Of the control points for interpolation of the second half curve transferred from the stack and the Y auxiliary register or the Y stack to the X register and the Y register, it is determined that two points indicating the start point and the end point of the curve are adjacent to each other. When the section indicates, the two points are output as the normal interpolation points on the curve, and the control points for interpolation of the subsequent curves saved in the X stack and the Y stack are set to the X register and the above. The Bezier curve interpolating device is characterized in that it has an evacuation return control means for returning to the Y register.

【0021】請求項5の発明においてはhを2以上の自
然数としたとき第1X小レジスタから第(h+2)X小
レジスタまでの(h+2)個のX小レジスタからなるX
レジスタと、第1X小補助レジスタから第(h+2)X
小補助レジスタまでの(h+2)個のX小補助レジスタ
とからなるX補助レジスタと、前記第1から第(h+
2)X小レジスタまたは前記第1から第(h+2)X小
補助レジスタのうち2つのレジスタが記憶するX座標の
中点座標を計算して前記第1から第(h+2)X小レジ
スタまたは前記第1から第(h+2)X小レジスタのい
ずれかのレジスタに出力する第1から第hまでのh個の
X小中点発生器とからなるX中点発生器と、第1Y小レ
ジスタから第(h+2)Y小レジスタまでの(h+2)
個のY小レジスタからなるYレジスタと、第1Y小補助
レジスタから第(h+2)Y小補助レジスタまでの(h
+2)個のY小補助レジスタからなるY補助レジスタ
と、前記第1から第(h+2)Y小レジスタまたは前記
第1から第(h+2)Y小補助レジスタのうち2つのレ
ジスタが記憶するY座標の中点座標を計算して前記第1
から第(h+2)Y小レジスタまたは前記第1から第
(h+2)Y小補助レジスタのいずれかのレジスタに出
力する第1から第hまでのh個のY小中点発生器からな
るY中点発生器と、前記第1Xレジスタと前記第(h+
2)X小レジスタの記憶するX座標の値の差と前記第1
Yレジスタと前記第(h+2)Y小レジスタの記憶する
Y座標の値の差が所定値以下であることにより相応する
2点の隣接判定をする判定器とを有しており、第i次Be
zier曲線の補間計算を行うことを特徴とする請求項4記
載のBezier曲線補間装置としている。
According to the fifth aspect of the invention, when h is a natural number of 2 or more, an X consisting of (h + 2) X small registers from the first X small register to the (h + 2) X small register.
Register and the 1st X small auxiliary register to (h + 2) X
X auxiliary registers consisting of (h + 2) X small auxiliary registers up to the small auxiliary registers, and the first to (h +)
2) The X-small register or the midpoint coordinate of the X-coordinate stored in two of the first to (h + 2) X small auxiliary registers is calculated to calculate the first to (h + 2) X small registers or the first to (h + 2) X small registers. An X midpoint generator consisting of h pieces of X small midpoint generators from 1 to h to be output to any one of the 1st to (h + 2) X small registers, and a first Y small register to h + 2) up to Y small register (h + 2)
Y register consisting of Y small registers and (h + 2) th Y small auxiliary register (h
+2) a Y auxiliary register consisting of Y small auxiliary registers, and a Y coordinate stored in two registers of the first to (h + 2) Y small registers or the first to (h + 2) Y small auxiliary registers. The midpoint coordinates are calculated to calculate the first
To (h + 2) Y small registers or any one of the first to (h + 2) Y small auxiliary registers to output the Y midpoint consisting of h first to hth Y small midpoint generators A generator, the first X register, and the (h +)
2) The difference between the X coordinate value stored in the X small register and the first
The i-th Be register has a Y-register and a determiner that determines whether two Y-coordinates stored in the (h + 2) th Y-small register are equal to or less than a predetermined value so as to determine the adjacency of two corresponding points.
The Bezier curve interpolating device according to claim 4, wherein interpolation calculation of a zier curve is performed.

【0022】請求項6の発明においては前記第(h+
2)X小レジスタと前記第1X小補助レジスタ若しくは
前記第(h+2)Y小レジスタと前記第1Y小補助レジ
スタの少なくも一方が同じ1つの小レジスタで兼用され
たことを特徴とする請求項5記載のBezier曲線補間装置
としている。
In the invention of claim 6, the (h +) th
2) At least one of the X small register and the first X small auxiliary register or the (h + 2) Y small register and the first Y small auxiliary register is shared by the same small register. The described Bezier curve interpolation device is used.

【0023】[0023]

【作用】上記構成により請求項1の発明においては、X
レジスタに順を持って入力された4つの制御点の隣りあ
う点のX座標の中点座標がX中点発生器で計算される。
しかる後、補間制御点算出手段の指示によりX中点発生
器で計算された中点座標およびXレジスタに記憶されて
いる座標のうち前半分の曲線の補間のための制御点に関
するものはXレジスタにセットされ、後半分の曲線の補
間のための制御点に関するものはX補助レジスタに転送
される。この処理を3ステップ繰り返すとXレジスタに
は分割された曲線の前半分の補間のための制御点がセッ
トされ、X補助レジスタには後半分の補間のための制御
点がセットされる。
With the above construction, in the invention of claim 1, X
The midpoint coordinates of the X coordinates of the points adjacent to the four control points input in order in the register are calculated by the X midpoint generator.
Thereafter, among the midpoint coordinates calculated by the X midpoint generator by the instruction of the interpolation control point calculation means and the coordinates stored in the X register, those relating to the control point for the interpolation of the curve of the first half are the X register. The control points for interpolation of the second half curve are transferred to the X auxiliary register. When this process is repeated for three steps, control points for interpolation of the first half of the divided curve are set in the X register, and control points for interpolation of the second half are set in the X auxiliary register.

【0024】制御点のY座標に関しても同様の処理を実
行することにより、X座標と同時に分割された2組の制
御点が求められる。その後、退避復帰制御手段の制御の
もとでX補助レジスタおよびY補助レジスタに記憶され
ている後半分の曲線の補間のための制御点の座標はXス
タックおよびYスタックに退避され、判定部でXレジス
タおよびYレジスタに記憶されている前半分の曲線の補
間のための制御点の座標のうち曲線の始点と終点のX座
標の差とY座標の差が所定値以内か否かで両点が隣接す
る2点に収束したか否かが判定される。
By performing the same processing for the Y coordinate of the control point, two sets of control points divided at the same time as the X coordinate can be obtained. Thereafter, under the control of the save / restore control means, the coordinates of the control points for the interpolation of the second half curve stored in the X auxiliary register and the Y auxiliary register are saved in the X stack and the Y stack, and the determination unit Of the coordinates of the control points for interpolation of the first half curve stored in the X register and the Y register, both points are determined by whether the difference between the X coordinate and the Y coordinate of the start point and the end point of the curve is within a predetermined value. Is converged to two adjacent points.

【0025】そして、もし隣接する2点に収束していな
ければXレジスタおよびYレジスタの内容が次の2分割
の対象となる。隣接する2点に収束している場合にはこ
の2点の情報を正規の補間点に関する情報として出力
し、XスタックおよびYスタックに退避された上で記憶
されている座標をXレジスタおよびYレジスタに復帰さ
せて次の2分割の対象とする。
If the two adjacent points are not converged, the contents of the X register and the Y register are subject to the next two divisions. When converged to two adjacent points, the information of these two points is output as information on the regular interpolation point, and the coordinates stored in the X stack and the Y stack and stored are stored in the X register and the Y register. Then, it becomes the target of the next two divisions.

【0026】以上の処理が繰り返され、判定部が制御点
の2分割の判定を終了して正規の補間点の情報を出力
し、かつXスタックおよびYスタックに復帰すべき座標
がなくなったときに、Bezier曲線補間の処理が終了す
る。請求項2の発明においては、X中点発生器内におい
て、前記第jX小レジスタと前記第(j+1)X小レジ
スタの記憶するX座標の中点を第jX小中点発生器が計
算し、またY中点発生器内において、前記第jY小レジ
スタと前記第(j+1)Y小レジスタの記憶するY座標
の中点を第jY小中点発生器が計算し、更に判定部が前
記第1X小レジスタと前記第(h+1)小レジスタの記
憶するX座標の差と前記第1Y小レジスタと前記第(h
+1)Y小レジスタの記憶するY座標の差が所定値以下
であることを判定する。
When the above-mentioned processing is repeated and the judging section finishes the judgment of the control point division into two and outputs the information of the regular interpolation points, and there are no coordinates to be restored in the X stack and the Y stack. , Bezier curve interpolation processing ends. In the invention of claim 2, in the X midpoint generator, the jX small midpoint generator calculates the midpoint of the X coordinate stored in the jth small register and the (j + 1) X small register. Further, in the Y midpoint generator, the jY small midpoint generator calculates the midpoint of the Y coordinate stored in the jY small register and the (j + 1) Y small register, and the judging section further determines the first X. The difference between the X-coordinates stored in the small register and the (h + 1) th small register and the first Y small register and the (h) th register.
+1) It is determined that the difference between the Y coordinates stored in the Y small register is less than or equal to a predetermined value.

【0027】請求項3の発明においては第hX小補助レ
ジスタと第1X小補助レジスタ若しくは第hY小補助レ
ジスタと第1Y小補助レジスタとの少なくも一方が兼用
される。請求項4の発明においては、Xレジスタに順を
持って入力された制御点の隣りあう点のX座標の中点座
標がX中点発生器で計算される。しかる後、補間制御点
算出手段によりX中点発生器で計算された中点座標およ
びXレジスタに記憶されている座標のうち前半分の曲線
の補間のための制御点に関するものはXレジスタにセッ
トされ、後半分の曲線の補間のための制御点に関するも
のはX補助レジスタに転送される。この処理を3ステッ
プ繰り返すとXレジスタには分割された曲線の前半分の
補間のための制御点がセットされ、X補助レジスタには
後半分の曲線の補間のための制御点がセットされる。
In the invention of claim 3, at least one of the hX small auxiliary register and the first X small auxiliary register or the hY small auxiliary register and the first Y small auxiliary register is used in common. In the invention of claim 4, the midpoint coordinates of the X coordinates of the points adjacent to the control points input in order to the X register are calculated by the X midpoint generator. After that, among the midpoint coordinates calculated by the X midpoint generator by the interpolation control point calculation means and the coordinates stored in the X register, those relating to the control point for the interpolation of the curve of the first half are set in the X register. The control points for interpolation of the second half curve are transferred to the X auxiliary register. When this process is repeated three steps, control points for interpolation of the first half of the divided curve are set in the X register, and control points for interpolation of the second half of the curve are set in the X auxiliary register.

【0028】制御点のY座標に関してもX座標と同時に
分割された2組に同様の処理を実行することにより、曲
線の補間のための制御点が求められる。その後、退避復
帰制御手段の制御のもとでX補助レジスタおよびY補助
レジスタに記憶されている後半分の曲線の補間のための
制御点の座標はXスタックおよびYスタックに退避さ
れ、XレジスタおよびYレジスタに記憶されている前半
分の曲線の補間のための制御点の座標のうち曲線の始点
と終点の座標が判定部で隣接する2点に収束したか否か
判定される。
With respect to the Y-coordinate of the control point, the same processing is executed on the two sets divided at the same time as the X-coordinate to obtain the control point for the curve interpolation. After that, under the control of the save / restore control means, the coordinates of the control points for the interpolation of the second half curve stored in the X auxiliary register and the Y auxiliary register are saved in the X stack and the Y stack. Of the coordinates of the control points for the interpolation of the first half curve stored in the Y register, the coordinates of the start point and the end point of the curve are determined by the determination unit whether or not they have converged to two adjacent points.

【0029】そして、もし隣接する2点に収束していな
ければXレジスタおよびYレジスタの内容が次の2分割
の対象となる。隣接する2点に収束している場合にはこ
の2点の情報を正規の補間点に関する情報として出力
し、XスタックおよびYスタックに退避された上で記憶
されている座標をXレジスタおよびYレジスタに復帰さ
せて次の2分割の対象とする。
If the two adjacent points are not converged, the contents of the X register and the Y register are subject to the next two divisions. When converged to two adjacent points, the information of these two points is output as information on the regular interpolation point, and the coordinates stored in the X stack and the Y stack and stored are stored in the X register and the Y register. Then, it becomes the target of the next two divisions.

【0030】また、転送退避保持手段が前記Xレジスタ
および前記Yレジスタに記憶された前半分の曲線の補間
のための制御点のうち始点と終点を示す2点が隣接する
ことを前記判定部が示す場合にはその2点を曲線上の正
規の補間点として出力させるとともに前記X補助レジス
タおよび前記Y補助レジスタに記憶された後半分の補間
のための制御点を前記Xレジスタおよび前記Yレジスタ
に転送させ、前半分の曲線の始点と終点を示す2点が隣
接することを前記判定部が示さない場合には前記X補助
レジスタおよび前記Y補助レジスタに記憶する後半分の
曲線の補間のための制御点を前記Xスタックおよび前記
Yスタックに退避させるとともに前半分の曲線の補間の
ための制御点は繰り返し2分割するために前記Xレジス
タおよび前記Yレジスタに保持させる。
In addition, the determination unit determines that the transfer saving and holding means has two control points for interpolation of the first half curve stored in the X register and the Y register, which are adjacent to each other, which indicate a start point and an end point. In the case shown, the two points are output as the normal interpolation points on the curve, and the control points for the latter half of the interpolation stored in the X auxiliary register and the Y auxiliary register are output to the X register and the Y register. If the determination unit does not indicate that the two points indicating the start point and the end point of the first half curve are adjacent to each other, the second half curve for interpolation is stored in the X auxiliary register and the Y auxiliary register. The control points are saved in the X stack and the Y stack, and the control points for interpolating the curve of the first half are repeatedly divided into two, so that the X register and the Y register are repeatedly divided. To be held in the register.

【0031】また、退避復帰制御手段は、前記X補助レ
ジスタまたは前記Xスタックおよび前記Y補助レジスタ
または前記Yスタックから前記Xレジスタおよび前記Y
レジスタに転送された制御点のうち曲線の始点と終点を
示す2点が隣接すること前記判定部が示す場合にはその
2点を曲線上の正規の補間点として出力させるとともに
前記Xスタックおよび前記Yスタックに退避された補間
のための制御点を前記Xレジスタおよび前記Yレジスタ
に復帰させる。
Further, the save / restore control means includes the X auxiliary register or the X stack and the Y auxiliary register or the Y stack to the X register and the Y stack.
Of the control points transferred to the register, if two points indicating the start point and the end point of the curve are adjacent to each other, the two points are output as regular interpolation points on the curve and the X stack and the above The control points for interpolation saved in the Y stack are returned to the X register and the Y register.

【0032】以上の処理を繰り返すことにより、判定部
が制御点の2分割の判定を終了して正規の補間点の情報
を出力し、かつXスタックおよびYスタックに復帰すべ
き座標がなくなったときに、Bezier曲線補間の処理が終
了する。請求項5の発明においては、jを1以上h以下
の自然数としたとき、第jX小中点発生器が前記第1か
ら第(h+2)X小レジスタまたは前記第1から第(h
+2)X小補助レジスタのうち2つのレジスタが記憶す
るX座標の中点座標を計算して前記第1から第(h+
2)X小レジスタまたは前記第1から第(h+2)X小
補助レジスタのいずれかのレジスタに出力する。
By repeating the above processing, when the determination unit finishes the determination of the control point division into two, outputs the information of the regular interpolation point, and there is no coordinate to be returned to the X stack and the Y stack. Then, the Bezier curve interpolation processing ends. In a fifth aspect of the present invention, when j is a natural number of 1 or more and h or less, the jth X small midpoint generator is the first to the (h + 2) X small register or the first to the (h).
+2) The midpoint coordinate of the X coordinate stored in two registers of the X small auxiliary registers is calculated, and the first to (h +) th coordinates are calculated.
2) Output to the X small register or any one of the first to (h + 2) X small auxiliary registers.

【0033】第jY小中点発生器が前記第1から第(h
+2)Y小レジスタまたは前記第1から第(h+2)Y
小補助レジスタのうち2つのレジスタが記憶するY座標
の中点座標を計算して前記第1から第(h+2)Y小レ
ジスタまたは前記第1から第(h+2)Y小補助レジス
タのいずれかのレジスタに出力する。更に判定部は前記
第1X小レジスタと前記第(h+2)X小レジスタの記
憶するX座標と前記第1Y小レジスタと前記第(h+
2)Y小レジスタの記憶するY座標の差が所定値以下か
否かを判定する。
The jYth small-midpoint generator is arranged from the first to the (h)
+2) Y small register or the first to (h + 2) Y
The midpoint coordinate of the Y coordinate stored in two of the small auxiliary registers is calculated to be one of the first to (h + 2) Y small registers or the first to (h + 2) Y small auxiliary registers. Output to. Further, the determination unit is configured such that the X coordinate stored in the first X small register and the (h + 2) X small register, the first Y small register, and the (h +) th register.
2) It is determined whether the difference between the Y coordinates stored in the Y small register is less than or equal to a predetermined value.

【0034】請求項6の発明においては前記第(h+
2)X小レジスタと前記第1X小補助レジスタ若しくは
前記第(h+2)Y小レジスタと前記第1Y小補助レジ
スタの少なくも一方が同じ1つの小レジスタで兼用され
る。
In the sixth aspect of the invention, the above-mentioned (h +
2) At least one of the X small register and the first X small auxiliary register or the (h + 2) Y small register and the first Y small auxiliary register is shared by the same small register.

【0035】[0035]

【実施例】【Example】

(第1実施例)図1は請求項1の発明に係る曲線補間装
置の一実施例の構成図を示すものである。
(First Embodiment) FIG. 1 is a block diagram of an embodiment of a curve interpolation device according to the invention of claim 1.

【0036】本図において、1はX座標を記憶するXレ
ジスタ、2はX座標を記憶するX補助レジスタ、3はX
レジスタ1に記憶されているX座標の中点を計算するX
中点発生器、4はX補助レジスタ2に記憶されているX
座標を退避するXスタック、5はY座標を記憶するYレ
ジスタ、6はY座標を記憶するY補助レジスタ、7はY
レジスタ5に記憶されているY座標の中点を計算するY
中点発生器、8はY補助レジスタ6に記憶されているY
座標を退避するYスタック、9は2分割処理の終了を判
定し正規の補間点の情報を出力する判定部である。
In the figure, 1 is an X register for storing X coordinates, 2 is an X auxiliary register for storing X coordinates, and 3 is an X register.
X for calculating the midpoint of the X coordinate stored in register 1
The midpoint generator, 4 is the X stored in the X auxiliary register 2.
X stack for saving coordinates, 5 Y register for storing Y coordinates, 6 Y auxiliary register for storing Y coordinates, 7 Y
Y for calculating the midpoint of the Y coordinate stored in register 5
Midpoint generator, 8 is Y stored in Y auxiliary register 6.
A Y stack that saves the coordinates, and 9 is a determination unit that determines the end of the two-division processing and outputs information on the regular interpolation point.

【0037】また、図2は本実施例が採用する請求項2
の発明に係る3次のBezier曲線計算専用のXレジスタ1
とX補助レジスタ2とX中点発生器3の内部構成を示
す。本図において、11〜14はX座標をそれぞれ1つ
ずつ記憶するX小レジスタ、15〜18はそれぞれX小
レジスタ11〜14への入力を選択するX小セレクタ、
21〜24はそれぞれX座標を1つずつ記憶するX小補
助レジスタ、25〜28はそれぞれX小補助レジスタ2
1〜24への入力を選択するX小セレクタ、31〜33
は2つのX座標を入力して中点を計算するX小中点発生
器である。
Further, FIG. 2 is a block diagram of the second embodiment.
X-register 1 dedicated to the cubic Bezier curve calculation according to the invention of
The internal configurations of the X auxiliary register 2 and the X midpoint generator 3 are shown. In the figure, 11 to 14 are X small registers for storing one X coordinate respectively, and 15 to 18 are X small selectors for selecting inputs to the X small registers 11 to 14, respectively.
21 to 24 are X small auxiliary registers for storing one X coordinate each, and 25 to 28 are X small auxiliary registers 2 respectively.
X small selectors 31 to 33 for selecting inputs to 1 to 24
Is an X small midpoint generator that inputs two X coordinates and calculates the midpoint.

【0038】ただし、図が煩雑となるため、「X小レジ
スタ」等の「小」の文字は省いて示してある。そして、
このことは後の図6でも同様である。また、Yレジスタ
5とY補助レジスタ6とY中点発生器7の内部構成も、
本図に示すXレジスタ1とX補助レジスタ2とX中点発
生器3の構成とまったく同じである。このため、以下で
は原則としてX座標についてのみ説明し、Y座標につい
ては必要に応じて( )内に記載する。なお、これらの
機器を統合してBezier曲線補間計算及びこれに必要な途
中の計算結果の退避、転送、出力等を制御する、ひいて
は特許請求の範囲に記載した補間制御点算出手段、退避
復帰制御手段の役を担う回路構成、必要なクロック信号
等をも発生させた上で全体の補間計算を制御するマスタ
ーコンピュータ(ホストコンピュータ)等は、「小」の
文字と同じく図が煩雑となるため従来技術に係るBezier
曲線補間装置の構成図と同様、示していない。また、こ
の作動原理、プログラミングの手法等についても、現状
のBezier曲線補間装置に限らず、計算機システムに広く
採用されているいわば周知の技術であり、また本願発明
の要部若しくは創作に直結する部分ではないため、その
説明は原則として省略する。
However, because the figure becomes complicated, the characters "small" such as "X small register" are omitted. And
This also applies to FIG. 6 described later. Also, the internal configuration of the Y register 5, the Y auxiliary register 6, and the Y midpoint generator 7 is
The configurations of the X register 1, the X auxiliary register 2, and the X midpoint generator 3 shown in this figure are exactly the same. Therefore, in principle, only the X coordinate will be described below, and the Y coordinate will be described in parentheses as necessary. It should be noted that these devices are integrated to control Bezier curve interpolation calculation and saving, transfer, output, etc. of intermediate calculation results necessary for this, and by extension, interpolation control point calculating means and save / restore control described in the claims. The circuit configuration that plays the role of the means, the master computer (host computer) that controls the entire interpolation calculation after generating the necessary clock signal, etc. are complicated because the figure is complicated as with the small letters. Bezier on technology
Like the block diagram of the curve interpolation device, it is not shown. Also, this operating principle, programming method, etc. are not limited to the current Bezier curve interpolating device, but are widely known techniques widely used in computer systems, and are also the main part of the present invention or the part directly connected to the creation. Therefore, the explanation is omitted in principle.

【0039】以上のように構成された本実施例のBezier
曲線補間装置は以下に説明する4つのモードS、T、
U、Vすなわち動作状態を持ち、モードSから処理を開
始してステップごとに4つの状態を遷移しながら補間処
理を行う。なお、各モードはそれぞれセレクタ等の動作
が異なり、モードSはXスタック4から新たな座標をX
レジスタ1に復帰するモードであり、モードT、U、V
は曲線を2分割し前半と後半の曲線の補間用の制御点を
求めるために必要な3ステップの動作を指示するモード
である。判定部9はモードSおよびモードTにおいて、
X小レジスタ11とレジスタX小14に記憶されている
X座標の整数部分の差が従来技術で説明したごとく1以
下、(かつY座標の整数部分の差が従来の技術で説明し
たごとく同様に1以下)であるか否かを判定し、X座標
(そして当然Y座標も)1以下である場合には小レジス
タ11(曲線の始点)から小レジスタ14(曲線の終
点)へのX座標そのもの若しくはその変化量(およびY
座標のそれも)を曲線上の正規の補間点に関する情報と
して出力する。
Bezier of the present embodiment configured as described above
The curve interpolator has four modes S, T, and
It has U, V, that is, an operating state, and the processing is started from the mode S, and the interpolation processing is performed while changing the four states at each step. It should be noted that the operation of the selector and the like is different in each mode, and in mode S, a new coordinate is added from the X stack 4 to the X coordinate.
It is the mode to return to the register 1, and the modes T, U, V
Is a mode for instructing the operation of three steps necessary for dividing the curve into two and obtaining control points for interpolating the first half and the second half of the curve. The determination unit 9 in mode S and mode T
The difference in the integer part of the X coordinate stored in the X small register 11 and the register X small 14 is 1 or less as described in the prior art (and the difference in the integer part of the Y coordinate is the same as described in the prior art. If the X coordinate (and naturally also the Y coordinate) is 1 or less, the X coordinate itself from the small register 11 (curve start point) to the small register 14 (curve end point) is determined. Or the amount of change (and Y
Output the information of the regular interpolation points on the curve.

【0040】以下に、各モードでの詳細な動作を、従来
技術に係る曲線補間装置と同じく図12に例を示す3次
のBezier曲線の補間用制御点の図を用いて説明する。こ
の場合、各動作ステップごとにXレジスタ1たる各X小
レジスタ11〜14およびX補助レジスタ2たる各X小
補助レジスタ21〜24に記憶されるX座標を図3に示
し、各X小中点発生器31〜33が出力する中点の座
標、判定部9が出力する曲線上の正規の補間点(始点お
よび終点)、Xスタック4の内容を図4に示す。ただ
し、図3および図4においてAxi 、Bxi 、Cxi
Dxi はそれぞれ制御点Ai 、Bi 、Ci 、Di のX座
標を表わし、Xi は制御点Ai 、B i 、Ci 、Di のX
座標の集合を表わす。また、Ax0 、Bx0 、Cx0
Dx 0 はそれぞれ制御点A、B、C、Dの初期値のX座
標を表わすものとする。
The detailed operation in each mode will be described below.
The third-order example shown in FIG.
The Bezier curve interpolation control point will be described with reference to FIG. This
In the case of, each X small which is the X register 1 at each operation step
Registers 11 to 14 and X auxiliary registers 2 each X small
The X coordinate stored in the auxiliary registers 21 to 24 is shown in FIG.
And the seat of the midpoint output by each X small midpoint generator 31-33.
The standard interpolation points (starting point and
And the end point), and the contents of the X stack 4 are shown in FIG. However
Then, in FIGS. 3 and 4, Axi, Bxi, Cxi,
DxiAre control points Ai, Bi, Ci, DiX seat
Represents the mark, XiIs control point Ai, B i, Ci, DiX
Represents a set of coordinates. Also, Ax0, Bx0, Cx0,
Dx 0Is the X value of the initial value of control points A, B, C, D respectively
It shall represent the mark.

【0041】なお、本実施例における曲線補間装置では
ホストコンピュータ(究極的にはオペレータの操作)に
よりあらかじめ、制御点A、B、C、Dの初期値のX座
標Ax0 、Bx0 、Cx0 、Dx0 はXスタック4に記
憶されており、しかる後モードSから曲線補間処理を開
始するものとする。(既述のごとく、Yレジスタ5、Y
補助レジスタ6、Y中点発生器7、Yスタック8の動作
及びA、B、C、Dの初期値のY座標の記憶は、基本的
にXレジスタ1、X補助レジスタ2、X中点発生器3、
Xスタック4の動作等と同じである。)ステップ1は最
初のステップであり、本曲線補間装置の状態はモードS
である。モードSではXスタック4からX座標Ax0
Bx0 、Cx0 、Dx0 が読みだされる。X小セレクタ
15〜18はXスタックを選択し、X小レジスタ11〜
14にはAx0 、Bx0 、Cx0 、Dx0 が記憶され
る。この段階ではX小セレクタ25〜28は何も選択せ
ず、X小補助レジスタ21〜24には値は記憶されな
い。X小中点発生器31はX小レジスタ11とX小レジ
スタ12の中点を、X小中点発生器32はX小レジスタ
12とX小レジスタ13の中点を、X小中点発生器33
はX小レジスタ13とX小レジスタ14の中点を計算す
る。判定部9はX小レジスタ11の記憶するX座標Ax
0 とX小レジスタ14の記憶するX座標Dx0 が隣接す
るか否かを判定するが、この段階ではAx0 とDx0
は隣接しないので何も出力しない。なお、モードSで判
定部9が何も出力しない場合、次のステップではモード
Uに遷移する。もし、判定部9が曲線上の正規の補間点
を出力した場合には、続けてモードSになる。
In the curve interpolating apparatus according to the present embodiment, the host computer (ultimately, operator's operation) preliminarily sets the X coordinates Ax 0 , Bx 0 , Cx 0 of the initial values of the control points A, B, C, D. , Dx 0 are stored in the X stack 4, and then the curve interpolation processing is started from the mode S. (As mentioned above, Y register 5, Y
The operation of the auxiliary register 6, the Y midpoint generator 7, and the Y stack 8 and the storage of the Y coordinates of the initial values of A, B, C, and D are basically X register 1, X auxiliary register 2, and X midpoint generation. Bowl 3,
The operation and the like of the X stack 4 are the same. ) Step 1 is the first step, and the state of this curve interpolator is mode S
Is. In mode S, X-coordinate Ax 0 from X-stack 4
Bx 0 , Cx 0 and Dx 0 are read out. The X small selectors 15 to 18 select the X stack, and the X small registers 11 to 11 are selected.
Ax 0 , Bx 0 , Cx 0 , Dx 0 are stored in 14. At this stage, the X small selectors 25 to 28 do not select anything, and no value is stored in the X small auxiliary registers 21 to 24. The X small and medium point generator 31 is the middle point of the X small register 11 and the X small register 12, and the X small and medium point generator 32 is the middle point of the X small register 12 and the X small register 13. 33
Calculates the midpoint of X small register 13 and X small register 14. The determination unit 9 determines the X coordinate Ax stored in the X small register 11.
It is determined whether 0 and the X coordinate Dx 0 stored in the X small register 14 are adjacent to each other. At this stage, since Ax 0 and Dx 0 are not adjacent to each other, nothing is output. If the determination unit 9 outputs nothing in the mode S, the mode transitions to the mode U in the next step. If the determination unit 9 outputs a regular interpolation point on the curve, the mode S is continuously set.

【0042】ステップ2はモードUになる。モードUで
は、X小セレクタ15はX小レジスタ11を選択するた
めX小レジスタ11の内容は変化しない。X小セレクタ
16〜18はそれぞれX小中点発生器31〜33を選択
し、X小レジスタ12〜14にはステップ1での中点計
算の結果が記憶される。X小セレクタ25〜27は何も
選択せず、X小補助レジスタ21〜23には値は記憶さ
れないが、X小セレクタ28はX小レジスタ14を選択
するため、X小補助レジスタ24にはステップ1でのX
小レジスタ14の内容Dx2 (=Dx0 )が記憶され
る。モードには関係なく常に、X小中点発生器31はX
小レジスタ11とX小レジスタ12の中点を、X小中点
発生器32はX小レジスタ12とX小レジスタ13の中
点を、X小中点発生器33はX小レジスタ13とX小レ
ジスタ14の中点を計算するが、X小中点発生器31の
計算結果はどこにも使用されないので図4では省略して
いる。そして、モードUは必ずモードVに遷移する。
Step 2 is mode U. In mode U, since the X small selector 15 selects the X small register 11, the contents of the X small register 11 do not change. The X small selectors 16 to 18 respectively select the X small midpoint generators 31 to 33, and the X small registers 12 to 14 store the results of the midpoint calculation in step 1. The X small selectors 25 to 27 do not select anything, and the values are not stored in the X small auxiliary registers 21 to 23. However, since the X small selector 28 selects the X small register 14, the X small auxiliary register 24 is stepped. X at 1
The content Dx 2 (= Dx 0 ) of the small register 14 is stored. Regardless of the mode, the X small and midpoint generator 31 is always X
The midpoint of the small register 11 and the X small register 12, the X small midpoint generator 32 is the midpoint of the X small register 12 and the X small register 13, and the X small midpoint generator 33 is the X small register 13 and the X small register. Although the midpoint of the register 14 is calculated, the calculation result of the X small midpoint generator 31 is not used anywhere and is omitted in FIG. Then, the mode U surely transits to the mode V.

【0043】ステップ3はモードVになる。モードVで
は、X小セレクタ15はX小レジスタ11を選択しX小
セレクタ16はX小レジスタ12を選択するためX小レ
ジスタ11、12の内容は変化しない。X小セレクタ1
7、18はそれぞれX小中点発生器32、33を選択
し、X小レジスタ13、14にはステップ2での中点計
算の結果が記憶される。X小セレクタ25、26は何も
選択せず、X小補助レジスタ21、22には値は記憶さ
れないが、X小セレクタ27はX小レジスタ14を選択
するため、X小補助レジスタ23にはステップ2でのX
小レジスタ14の内容Cx2 が記憶される。X小セレク
タ28はX小補助レジスタ24を選択し、X小補助レジ
スタ24の内容は変化しない。X小中点発生器33はX
小レジスタ13とX小レジスタ14の中点を計算する
が、X小中点発生器31、32の計算結果はどこにも使
用されないので図4では省略する。モードVの処理を実
行すると、1回の曲線の2分割が終了し、次のステップ
ではX小レジスタ11〜14に前半の曲線の補間のため
の制御点がセットされ、X小補助レジスタ21〜24に
は後半の曲線の補間のための制御点がセットされる。後
半の曲線の補間のための制御点はX小補助レジスタ21
〜24にセットされるのと同時にXスタック4に退避さ
れる。モードVは必ずモードTに遷移する。
Step 3 is mode V. In mode V, the X small selector 15 selects the X small register 11 and the X small selector 16 selects the X small register 12, so that the contents of the X small registers 11 and 12 do not change. X small selector 1
7 and 18 respectively select the X small midpoint generators 32 and 33, and the results of the midpoint calculation in step 2 are stored in the X small registers 13 and 14. The X small selectors 25 and 26 do not select anything, and no value is stored in the X small auxiliary registers 21 and 22. However, since the X small selector 27 selects the X small register 14, the X small auxiliary register 23 is stepped. X at 2
The content Cx 2 of the small register 14 is stored. The small X selector 28 selects the small X auxiliary register 24, and the content of the small X auxiliary register 24 does not change. X small and medium point generator 33 is X
Although the midpoint of the small register 13 and the X small register 14 is calculated, the calculation results of the X small and midpoint generators 31 and 32 are not used anywhere and are therefore omitted in FIG. When the processing of mode V is executed, one division of the curve is completed, and in the next step, control points for interpolating the first half curve are set in the X small registers 11 to 14, and the X small auxiliary registers 21 to In 24, a control point for interpolation of the latter half curve is set. The control point for interpolation of the latter half curve is the X small auxiliary register 21.
At the same time as being set to .about.24, it is saved in the X stack 4. Mode V always transits to mode T.

【0044】ステップ4はモードTになる。モードTで
は、X小セレクタ15〜17はそれぞれX小レジスタ1
1〜13を選択するためX小レジスタ11〜13の内容
は変化しない。X小セレクタ18はX小中点発生器33
を選択し、X小レジスタ14にはステップ3での中点計
算の結果が記憶される。X小セレクタ25はX小中点発
生器33の計算結果を選択するため、X小補助レジスタ
21にはステップ3での中点計算の結果が記憶される。
X小セレクタ26はX小レジスタ14を選択するため、
X小補助レジスタ23にはステップ3でのX小レジスタ
14の内容Bx 2 が記憶される。X小セレクタ27、2
8はそれぞれX小補助レジスタ23、24を選択するた
め、X小補助レジスタ23、24の内容は変化しない。
X小中点発生器31はX小レジスタ11とX小レジスタ
12の中点を、X小中点発生器32はX小レジスタ12
とX小レジスタ13の中点を、X小中点発生器33はX
小レジスタ13とX小レジスタ14の中点を計算する。
判定部9はX小レジスタ11の記憶するX座標Ax1
X小レジスタ14の記憶するX座標Dx1 が隣接するか
否かを判定するが、Ax1 とDx1 は隣接しないので何
も出力しない。モードTで判定部9が何も出力しない場
合には、次のステップではモードBに遷移する。もし、
判定部9が曲線上の正規の補間点を出力した場合には、
モードSになる。
Step 4 is mode T. In mode T
X small selectors 15 to 17 are respectively X small registers 1
Contents of X small registers 11 to 13 to select 1 to 13
Does not change. The X small selector 18 is an X small midpoint generator 33.
Is selected, and the midpoint meter in step 3 is set in the X small register 14.
The result of the calculation is stored. X small selector 25 starts from X small middle point
X small auxiliary register for selecting the calculation result of the genitals 33
21 stores the result of the midpoint calculation in step 3.
Since the X small selector 26 selects the X small register 14,
The X small auxiliary register 23 has the X small register in step 3
Contents of 14 Bx 2Is memorized. X small selector 27,2
8 selects the X small auxiliary registers 23 and 24, respectively.
Therefore, the contents of the X small auxiliary registers 23 and 24 do not change.
The X small and medium point generator 31 includes an X small register 11 and an X small register.
12 midpoint, the X small midpoint generator 32 uses the X small register 12
And X small register 13 midpoint, X small midpoint generator 33 X
The midpoint of the small register 13 and the X small register 14 is calculated.
The determination unit 9 determines the X coordinate Ax stored in the X small register 11.1When
X coordinate Dx stored in the X small register 141Are adjacent
Ax is judged, but Ax1And Dx1Because they are not adjacent
Is not output. When the determination unit 9 outputs nothing in mode T
In the next step, the mode is changed to the mode B. if,
When the determination unit 9 outputs a regular interpolation point on the curve,
It becomes the mode S.

【0045】以後同様に、ステップ5はモードU、ステ
ップ6はモードVで処理を実行する。ステップ6では1
回の曲線の2分割が終了するため、次のステップ7で後
半の曲線の補間のための制御点X12がXスタック4に退
避される。ステップ7はモードTで処理を実行する。そ
して、判定部9がX小レジスタ11に記憶されているX
座標Ax11とX小レジスタ14に記憶されているX座標
Dx11が隣接するか否かを判定し、(勿論同時にY座標
についても隣接するか否かを判定する)、X座標(そし
て、Y座標とも)の整数部分の差が1以下で隣接するの
で、判定部9は曲線上の正規の補間点に関する情報とし
て、A11、D11の座標に関する情報を出力する。そして
モードTで判定部9が正規の補間点の情報を出力したた
め、次のステップではモードSに遷移する。
Thereafter, similarly, the processing is executed in the mode U in step 5 and in the mode V in step 6. 1 in step 6
Since the curve is divided into two, the control point X 12 for interpolating the latter half of the curve is saved in the X stack 4 in the next step 7. Step 7 executes the processing in mode T. Then, the determination unit 9 causes the X small register 11 to store the X
It is determined whether or not the coordinate Ax 11 and the X coordinate Dx 11 stored in the X small register 14 are adjacent to each other (of course, at the same time, it is also determined whether or not the Y coordinate is also adjacent), the X coordinate (and the Y coordinate). Since the difference between the integer parts of the coordinates is 1 or less and the two are adjacent to each other, the determination unit 9 outputs information about the coordinates of A 11 and D 11 as information about the regular interpolation points on the curve. Then, since the determination unit 9 has output the information of the regular interpolation point in the mode T, the mode is changed to the mode S in the next step.

【0046】ステップ8はモードSで処理を実行する。
そして、判定部9がX小レジスタ11に記憶されている
X座標Ax12とX小レジスタ14に記憶されているX座
標Dx12が隣接するか否かを判定し(勿論、同時にY座
標についても隣接するか否かを判定する)、X座標の
(そして、当然Y座標も)整数部分の差が1以下であり
隣接するので、判定部9は曲線上の正規の補間点に関す
る情報として、A12、D 12の座標に関する情報を出力す
る。そしてモードAで判定部9が正規の補間点の情報を
出力したので、次のステップは続いてモードSになる。
In step 8, the process is executed in mode S.
The determination unit 9 is stored in the X small register 11
X coordinate Ax12And the X seat stored in the X small register 14.
Mark Dx12Determine whether they are adjacent to each other (of course, at the same time, the Y seat
Also determines whether or not the marks are adjacent to each other.)
(And of course the Y coordinate too) the difference in the integer part is less than or equal to 1
Since they are adjacent to each other, the determination unit 9 relates to the regular interpolation points on the curve.
As information12, D 12Output information about the coordinates of
It Then, in mode A, the determination unit 9 obtains information on the regular interpolation points.
Since it has been output, the next step is the mode S.

【0047】以後同様に処理を続けて、最後にステップ
13で判定部9が正規の補間点の情報を出力し、次のス
テップ(モードS)においてXスタック4から読みだす
データが無くなった時に本Bezier曲線の補間の計算処理
を終了する。このようにして、本実施例の曲線補間装置
では13ステップで図12に例を示す3次Bezier曲線の
補間を終了する。
Thereafter, the same processing is continued, and finally, in step 13, the judgment section 9 outputs information on the regular interpolation point, and when there is no data to be read from the X stack 4 in the next step (mode S), the data is read. The Bezier curve interpolation calculation process ends. In this way, the curve interpolating apparatus of this embodiment completes the interpolation of the cubic Bezier curve shown in FIG. 12 in 13 steps.

【0048】以上のように本実施例によれば、Bezier曲
線の補間に必要な制御点の中点計算用のハードウェアを
X座標用とY座標用に分け、同じ処理を同時に行うこと
により、中点計算に必要なハードウェアを増加させるこ
となく高速処理をなすことが可能となる。また、X座標
とY座標が同時に計算されるため、X座標の計算結果を
1ステップ保持することなく曲線の始点と終点が隣接す
るか否かを判定できる。
As described above, according to this embodiment, the hardware for calculating the midpoint of the control points required for Bezier curve interpolation is divided into the X coordinate and the Y coordinate, and the same processing is performed at the same time. High-speed processing can be performed without increasing the hardware required for midpoint calculation. Further, since the X coordinate and the Y coordinate are calculated at the same time, it is possible to determine whether the start point and the end point of the curve are adjacent to each other without holding the calculation result of the X coordinate for one step.

【0049】なお、本実施例で使用した2つの座標の中
点を計算する中点発生器は、2進数で表示された2つの
座標の和を計算する加算器と、その加算結果を1ビット
シフトするシフタで容易に実現できる。次に、請求項3
の発明の技術内容について説明する。上記実施例におい
てはX小レジスタ14とX小補助レジスタ21を別の小
レジスタとしたが、X小補助レジスタ21はX小レジス
タ14と同じ座標以外の値は保持しないため、両者を兼
用してもよい。また、X小セレクタ25はX小レジスタ
14以外の入力を持たないため省略してもよい(そし
て、このことはY側についてもあてはまる。)。
The midpoint generator used in the present embodiment for calculating the midpoint of two coordinates is an adder for calculating the sum of two coordinates represented by a binary number, and the addition result is 1 bit. It can be easily realized by shifting shifters. Next, claim 3
The technical contents of the invention will be described. In the above-described embodiment, the X small register 14 and the X small auxiliary register 21 are different small registers, but the X small auxiliary register 21 does not hold values other than the same coordinates as the X small register 14, so both are used in common. Good. Further, the X small selector 25 may be omitted since it has no input other than the X small register 14 (and this also applies to the Y side).

【0050】図5は請求項4の発明に係るBezier曲線補
間装置の一実施例の構成図である。本図において、1は
X座標を記憶するXレジスタ、2はX座標を記憶するX
補助レジスタ、3はXレジスタ1またはX補助レジスタ
2に記憶されているX座標の中点を計算するX中点発生
器、4はX補助レジスタ2に記憶されているX座標を退
避するXスタック、5はY座標を記憶するYレジスタ、
6はY座標を記憶するY補助レジスタ、7はYレジスタ
5またはY補助レジスタ6に記憶されているY座標の中
点を計算するY中点発生器、8はY補助レジスタ6に記
憶されているY座標を退避するYスタック、9は2分割
処理の終了を判定し正規の補間点の情報を出力する判定
部である。
FIG. 5 is a block diagram of an embodiment of the Bezier curve interpolation device according to the invention of claim 4. In FIG. In this figure, 1 is an X register that stores the X coordinate, and 2 is an X register that stores the X coordinate.
Auxiliary register, 3 is an X midpoint generator that calculates the midpoint of the X coordinate stored in X register 1 or X auxiliary register 2, and 4 is an X stack that saves the X coordinate stored in X auxiliary register 2. 5 is a Y register for storing the Y coordinate,
6 is a Y auxiliary register for storing the Y coordinate, 7 is a Y midpoint generator for calculating the midpoint of the Y coordinate stored in the Y register 5 or Y auxiliary register 6, and 8 is stored in the Y auxiliary register 6. A Y stack for saving the existing Y coordinate, and 9 is a determination unit for determining the end of the two-division processing and outputting information on the regular interpolation point.

【0051】また、図6は第1実施例における図2に相
応するものであり、本実施例が採用する請求項5の発明
に係るXレジスタ1とX補助レジスタ2とX中点発生器
3の内部構成を示すものである。本図において10〜1
4はX座標をそれぞれ1つずつ記憶するX小レジスタ、
15〜19はそれぞれX小レジスタ10〜14への入力
を選択するX小セレクタ、20〜24はX座標をそれぞ
れ1つずつ記憶するX小補助レジスタ、25〜29はそ
れぞれX小補助レジスタ20〜24への入力を選択する
X小セレクタ、31〜33は2つのX座標を入力して中
点を計算するX小中点発生器、34、35はX小中点発
生器31への入力を選択するX小セレクタ、36、37
はX小中点発生器32への入力を選択するX小セレク
タ、38、39はX小中点発生器33への入力を選択す
るX小セレクタである。また、先の第1実施例と同様に
転送退避保持手段、ホストコンピュータ等の図示は省略
しまたYレジスタ5とY補助レジスタ6とY中点発生器
7の内部構成は、補間のための計算処理等図6に示すX
レジスタ1とX補助レジスタ2とX中点発生器3の構成
等と同じであるため、以下の説明は原則としてX座標に
ついてのみ記載する。
FIG. 6 corresponds to FIG. 2 in the first embodiment, and the X register 1, the X auxiliary register 2 and the X midpoint generator 3 according to the invention of claim 5 adopted in this embodiment. 2 shows the internal configuration of the. 10 to 1 in this figure
4 is an X small register that stores one X coordinate each,
15 to 19 are X small selectors for selecting inputs to the X small registers 10 to 14, 20 to 24 are X small auxiliary registers for storing one X coordinate respectively, and 25 to 29 are X small auxiliary registers 20 to respectively. X small selectors 31 to 33 for selecting the input to 24, X small and medium point generators for inputting two X coordinates to calculate the middle point, and 34 and 35 for the input to the X small and medium point generator 31. X small selector to select, 36, 37
Is an X small selector for selecting the input to the X small and medium point generator 32, and 38 and 39 are small X selectors for selecting the input to the X small and medium point generator 33. Further, as in the first embodiment, the transfer save / hold means, the host computer, etc. are not shown, and the internal configuration of the Y register 5, Y auxiliary register 6, and Y midpoint generator 7 is calculated for interpolation. Processing etc. X shown in FIG.
Since the configuration and the like of the register 1, the X auxiliary register 2, and the X midpoint generator 3 are the same, the following description will be described only for the X coordinate in principle.

【0052】以上のように構成された本実施例の曲線補
間装置は5つの状態(モードS、W、T、U、V)を持
ち、モードSから処理を開始してステップごとに5つの
状態を遷移しながら補間処理を行なう。各モードはそれ
ぞれセレクタ等の動作が異なる。モードSはXスタック
4から新たな座標をXレジスタ1に復帰するモード、モ
ードWはX補助レジスタ2に記憶されるX座標をXレジ
スタ1にコピーするモード、モードT、U、Vは曲線を
2分割し前半と後半の曲線の補間用の制御点を求めるた
めに必要な3ステップの動作を指示するモードである。
判定部9はモードS、モードWおよびモードVにおい
て、レジスタ10とレジスタ14に記憶されているX座
標の整数部分の差が1以下(かつY座標の整数部分の差
が同様に1以下)であるか否かを判定し、1以下である
場合にはレジスタ10(曲線の始点)からレジスタ14
(曲線の終点)へのX座標そのもの若しくはその変化量
(およびY座標のそれも)を曲線上の正規の補間点に関
する情報として出力する。
The curve interpolating apparatus of this embodiment constructed as described above has five states (modes S, W, T, U and V), and the processing is started from the mode S and five states are provided for each step. Interpolation processing is performed while transitioning. The operation of the selector and the like is different in each mode. Mode S is a mode for returning new coordinates from the X stack 4 to the X register 1, mode W is a mode for copying the X coordinates stored in the X auxiliary register 2 to the X register 1, and modes T, U and V are curves. This is a mode for instructing the operation of three steps necessary for obtaining the control points for interpolating the curves in the first half and the second half by dividing into two.
In mode S, mode W, and mode V, the determination unit 9 determines that the difference between the integer parts of the X coordinates stored in the register 10 and the register 14 is 1 or less (and the difference between the integer parts of the Y coordinate is also 1 or less). It is determined whether or not there is, and if it is 1 or less, the register 10 (curve start point) to the register 14
The X coordinate itself to (the end point of the curve) or its change amount (and that of the Y coordinate) is output as information on the regular interpolation point on the curve.

【0053】以下、各モードでの詳細な動作を、従来の
曲線補間装置と同じく図12に例を示す3次のBezier曲
線の補間用制御点の図を用いて説明する。この場合、各
動作ステップごとにXレジスタ1たる各X小レジスタ1
0〜14に記憶されるX座標を図7に示し、X補助レジ
スタ2たる各X小補助レジスタ20〜24に記憶される
X座標を図8に示し、各X小中点発生器31〜33が出
力する中点の座標、判定部9が出力する曲線上の正規の
補間点(始点および終点)、Xスタック4の内容を図9
に示す。なお、図7〜図9におけるAxi 、Bxi、C
i 、Dxi 等の意味は第1実施例と同じである。
The detailed operation in each mode will be described below with reference to the figure of the control points for interpolation of the cubic Bezier curve shown in FIG. In this case, each X small register 1 which is the X register 1 for each operation step
The X coordinates stored in 0 to 14 are shown in FIG. 7, the X coordinates stored in each X small auxiliary register 20 to 24, which is the X auxiliary register 2, are shown in FIG. 8, and each X small midpoint generator 31 to 33 is shown. FIG. 9 shows the coordinates of the middle point output by the X stack 4, the normal interpolation points (start point and end point) on the curve output by the determination unit 9, and the contents of the X stack 4.
Shown in. Incidentally, Ax i, Bx i in FIGS. 7 to 9, C
The meanings of x i , Dx i, etc. are the same as in the first embodiment.

【0054】本実施例におけるBezier曲線の補間装置で
はホストコンピュータ(究極的にはオペレータの操作)
によりあらかじめ、各制御点A、B、C、Dの初期値の
X座標Ax0 、Bx0 、Cx0 、Dx0 から隣接する点
の中点(Ax0 +Bx0 )/2、(Bx0 +Cx0 )/
2、(Cx0 +Dx0 )/2を計算しておき、Ax0
(Ax0 +Bx0 )/2、(Bx0 +Cx0 )/2、
(Cx0 +Dx0 )/2、Dx0 をXスタック4に記憶
させておく(勿論Y座標も同様に中点を計算しYスタッ
ク8に記憶させる。)しかる後、モードSから曲線補間
処理を開始するものとする。
In the Bezier curve interpolating apparatus in this embodiment, a host computer (ultimately an operator's operation) is used.
In advance, the midpoints (Ax 0 + Bx 0 ) / 2, (Bx 0 + Cx) of the adjacent points from the X-coordinates Ax 0 , Bx 0 , Cx 0 , Dx 0 of the initial values of the control points A, B, C, D are set in advance. 0 ) /
2, (Cx 0 + Dx 0 ) / 2 is calculated, and Ax 0 ,
(Ax 0 + Bx 0 ) / 2, (Bx 0 + Cx 0 ) / 2,
(Cx 0 + Dx 0 ) / 2, Dx 0 are stored in the X stack 4 (of course, the Y coordinate is also similarly calculated and the middle point is stored in the Y stack 8). Then, the curve interpolation processing is performed from the mode S. Shall start.

【0055】ステップ1は最初のステップであり、本曲
線補間装置のモードはSである。この状態でXスタック
4からX座標Ax0 、(Ax0 +Bx0 )/2、(Bx
0 +Cx0 )/2、(Cx0 +Dx0 )/2、Dx0
読みだされる。X小セレクタ15〜19はXスタックを
選択し、X小レジスタ10〜14には各々Ax0 、(A
0 +Bx0 )/2、(Bx0 +Cx0 )/2、(Cx
0 +Dx0 )/2、Dx0 が記憶される。この段階で
は、X小セレクタ25〜29は何も選択せず、X小補助
レジスタ20〜24には何も値は記憶されない。X小セ
レクタ34はX小レジスタ10を選択し、X小セレクタ
35はX小レジスタ11を選択するため、X小中点発生
器31はX小レジスタ10とX小レジスタ11の中点を
計算する。X小セレクタ36はX小レジスタ11を選択
し、X小セレクタ37はX小レジスタ12を選択するた
め、X小中点発生器32はX小レジスタ11とX小レジ
スタ12の中点を計算する。X小セレクタ38はX小レ
ジスタ12を選択し、X小セレクタ39はX小レジスタ
13を選択するため、X小中点発生器33はX小レジス
タ12とX小レジスタ13の中点を計算する。判定部9
はX小レジスタ10の記憶するX座標Ax0 とX小レジ
スタ14の記憶するX座標Dx0 が隣接するか否かを判
定するが、この段階ではAx0 とDx0 は隣接しないた
め何も出力しない。なお、モードSで判定部9が何も出
力しない場合には、次のステップではモードUに遷移す
る。もし、判定部9が曲線上の正規の補間点を出力した
場合には、続けてモードSになる。
Step 1 is the first step, and the mode of the present curve interpolator is S. In this state, from the X stack 4, the X coordinates Ax 0 , (Ax 0 + Bx 0 ) / 2, (Bx
0 + Cx 0 ) / 2, (Cx 0 + Dx 0 ) / 2, Dx 0 are read out. The X small selectors 15 to 19 select the X stack, and the X small registers 10 to 14 respectively store Ax 0 and (A
x 0 + Bx 0 ) / 2, (Bx 0 + Cx 0 ) / 2, (Cx
0 + Dx 0 ) / 2, Dx 0 are stored. At this stage, the X small selectors 25 to 29 do not select anything, and no value is stored in the X small auxiliary registers 20 to 24. Since the X small selector 34 selects the X small register 10 and the X small selector 35 selects the X small register 11, the X small midpoint generator 31 calculates the midpoint of the X small register 10 and the X small register 11. .. Since the X small selector 36 selects the X small register 11 and the X small selector 37 selects the X small register 12, the X small midpoint generator 32 calculates the midpoint of the X small register 11 and the X small register 12. .. Since the X small selector 38 selects the X small register 12 and the X small selector 39 selects the X small register 13, the X small midpoint generator 33 calculates the midpoint of the X small register 12 and the X small register 13. .. Judgment unit 9
Determines whether the X coordinate Ax 0 stored in the X small register 10 and the X coordinate Dx 0 stored in the X small register 14 are adjacent to each other. At this stage, since Ax 0 and Dx 0 are not adjacent to each other, nothing is output. do not do. If the determination unit 9 outputs nothing in the mode S, the mode is changed to the mode U in the next step. If the determination unit 9 outputs a regular interpolation point on the curve, the mode S is continuously set.

【0056】ステップ2はモードUになる。モードUで
は、X小セレクタ15はX小レジスタ10を選択するた
めX小レジスタ10の内容は変化しない。X小セレクタ
16はX小中点発生器31を選択するため、X小レジス
タ11にはステップ1での中点計算結果が記憶される。
X小セレクタ17はX小レジスタ11を選択するため、
X小レジスタ12にはステップ1でのX小レジスタ11
の記憶するX座標Bx 1 が記憶される。X小セレクタ1
8はX小中点発生器32を選択するため、X小レジスタ
13にはステップ1での中点計算結果が記憶される。X
小セレクタ19はX小中点発生器33を選択するため、
X小レジスタ14にはステップ1での中点計算結果が記
憶される。X小セレクタ27はX小レジスタ13を選択
するため、X小補助レジスタ22にはステップ1でのX
小レジスタ13の記憶するX座標Cx2 が記憶される。
X小セレクタ29はX小レジスタ14を選択するため、
X小補助レジスタ24にはステップ1でのX小レジスタ
14の記憶するX座標DX 2 が記憶される。X小セレク
タ25、26、28は何も選択せず、X小補助レジスタ
20、21、23には何も記憶されない。X小セレクタ
34はX小レジスタ12を選択し、X小セレクタ35は
X小レジスタ13を選択するため、X小中点発生器31
はX小レジスタ12とX小レジスタ13の中点を計算す
る。X小セレクタ36はX小レジスタ13を選択し、X
小セレクタ37はX小レジスタ14を選択するため、X
小中点発生器32はX小レジスタ13とX小レジスタ1
4の中点を計算する。X小セレクタ38はX小補助レジ
スタ22を選択し、X小セレクタ39はX小補助レジス
タ24を選択するため、X小中点発生器33はX小補助
レジスタ22とX小補助レジスタ24の中点を計算す
る。そして、モードUは必ずモードVに遷移する。
In step 2, mode U is set. In mode U
The X small selector 15 selects the X small register 10.
Therefore, the contents of the X small register 10 do not change. X small selector
16 selects the X small midpoint generator 31, so the X small register
The result of the midpoint calculation in step 1 is stored in the controller 11.
Since the X small selector 17 selects the X small register 11,
The X small register 12 has the X small register 11 in step 1.
X coordinate Bx stored in 1Is memorized. X small selector 1
8 selects the X small-midpoint generator 32, so the X small register
In 13, the midpoint calculation result in step 1 is stored. X
Since the small selector 19 selects the X small midpoint generator 33,
The result of the midpoint calculation in step 1 is recorded in the X small register 14.
Remembered The X small selector 27 selects the X small register 13.
Therefore, the X small auxiliary register 22 stores the X
X coordinate Cx stored in the small register 132Is memorized.
Since the X small selector 29 selects the X small register 14,
The X small auxiliary register 24 has the X small register in step 1.
X coordinate DX stored in 14 2Is memorized. X small selection
25, 26, 28 do not select anything, X small auxiliary register
Nothing is stored in 20, 21, and 23. X small selector
34 selects the X small register 12, and the X small selector 35
In order to select the X small register 13, the X small midpoint generator 31
Calculates the midpoint of X small register 12 and X small register 13
It The X small selector 36 selects the X small register 13 and X
Since the small selector 37 selects the X small register 14, X small register 37
The small / middle point generator 32 includes an X small register 13 and an X small register 1.
Calculate the midpoint of 4. X small selector 38 is an X small auxiliary cash register
Select the star 22 and select the X small selector 39 with the X small auxiliary register.
X-midpoint generator 33 is used to select
Calculate the midpoint of register 22 and X small auxiliary register 24
It Then, the mode U surely transits to the mode V.

【0057】ステップ3はモードVになる。モードVで
は、X小セレクタ15はX小レジスタ10を選択するた
めX小レジスタ10の内容は変化しない。X小セレクタ
16はX小レジスタ11を選択するため、X小レジスタ
11の内容は変化しない。X小セレクタ17は中点発生
器31を選択するため、X小レジスタ12にはステップ
2での中点計算結果が記憶される。X小セレクタ18は
X小レジスタ13を選択するため、X小レジスタ13の
内容は変化しない。X小セレクタ19はX小中点発生器
32を選択するため、X小レジスタ14にはステップ2
での中点計算結果が記憶される。X小セレクタ25は何
も選択せず、X小補助レジスタ20には特に何も記憶さ
れない。X小セレクタ26はX小レジスタ14を選択す
るため、X小補助レジスタ21にはステップ2でのX小
レジスタ14の記憶するX座標Bx2 が記憶される。X
小セレクタ27はX小補助レジスタ22を選択するた
め、X小補助レジスタ22の内容は変化しない。X小セ
レクタ28はX小中点発生器33を選択するため、X小
補助レジスタ23にはステップ2での中点計算結果が記
憶される。X小セレクタ29はX小補助レジスタ24を
選択するため、X小補助レジスタ24の内容は変化しな
い。X小セレクタ34はX小レジスタ13を選択し、X
小セレクタ35はX小レジスタ14を選択するため、X
小中点発生器31はX小レジスタ13とX小レジスタ1
4の中点を計算する。X小セレクタ36はX小レジスタ
14を選択し、X小セレクタ37はX小補助レジスタ2
1を選択するため、X小中点発生器32はX小レジスタ
14とX小補助レジスタ21の中点を計算する。X小セ
レクタ38はX小補助レジスタ21を選択し、X小セレ
クタ39はX小補助レジスタ22を選択するため、X小
中点発生器33はX小補助レジスタ21とX小補助レジ
スタ22の中点を計算する。判定部9はモードSの時と
同様にX小レジスタ10とX小レジスタ14のX座標が
隣接するか否かを判定するが、隣接しないので何も出力
しない。モードVで判定部9が何も出力しない場合に
は、次のステップではモードTに遷移する。もし、判定
部9が2点が隣接すると判断して曲線上の正規の補間点
を出力した場合には、モードWになる。モードVの処理
を実行すると1回の曲線の2分割が終了し、もし判定部
9が何も出力せず次のステップでモードTになる場合に
は、X小レジスタ10〜14に前半の曲線の補間用の制
御点とその中点がセットされ、X小補助レジスタ20〜
24には後半の曲線の補間のための制御点とその中点が
セットされる。そして、後半の曲線の補間のための制御
点と中点はX小補助レジスタ20〜24にセットされる
のと同時にXスタック4に退避される。もし、判定部9
が正規の補間点の情報を出力し次のステップでモードP
になる場合には、後半の曲線の補間のための制御点と中
点はXスタック4には退避されない。
Step 3 goes to mode V. In mode V, the X small selector 15 selects the X small register 10, so the contents of the X small register 10 do not change. Since the X small selector 16 selects the X small register 11, the contents of the X small register 11 do not change. Since the X small selector 17 selects the midpoint generator 31, the X small register 12 stores the midpoint calculation result in step 2. Since the X small selector 18 selects the X small register 13, the contents of the X small register 13 do not change. Since the X small selector 19 selects the X small midpoint generator 32, the X small register 14 stores the step 2
The midpoint calculation result of is stored. The X small selector 25 does not select anything, and nothing is particularly stored in the X small auxiliary register 20. Since the X small selector 26 selects the X small register 14, the X small auxiliary register 21 stores the X coordinate Bx 2 stored in the X small register 14 in step 2. X
Since the small selector 27 selects the X small auxiliary register 22, the content of the X small auxiliary register 22 does not change. Since the X small selector 28 selects the X small midpoint generator 33, the midpoint calculation result in step 2 is stored in the X small auxiliary register 23. Since the X small selector 29 selects the X small auxiliary register 24, the content of the X small auxiliary register 24 does not change. The X small selector 34 selects the X small register 13 and
Since the small selector 35 selects the X small register 14, the X selector
The small / middle point generator 31 includes an X small register 13 and an X small register 1.
Calculate the midpoint of 4. The X small selector 36 selects the X small register 14, and the X small selector 37 selects the X small auxiliary register 2.
In order to select 1, the X small midpoint generator 32 calculates the midpoint of the X small register 14 and the X small auxiliary register 21. Since the X small selector 38 selects the X small auxiliary register 21 and the X small selector 39 selects the X small auxiliary register 22, the X small midpoint generator 33 selects the X small auxiliary register 21 and the X small auxiliary register 22. Calculate the points. The determination unit 9 determines whether or not the X coordinates of the X small register 10 and the X coordinate of the X small register 14 are adjacent to each other as in the case of the mode S, but outputs nothing because they are not adjacent. When the determination unit 9 outputs nothing in the mode V, the mode transitions to the mode T in the next step. If the determination unit 9 determines that the two points are adjacent and outputs a regular interpolation point on the curve, the mode W is set. When the processing of the mode V is executed, one division of the curve is completed, and if the determination unit 9 outputs nothing and the mode becomes the mode T in the next step, the first half of the curves are stored in the X small registers 10 to 14. Control point for interpolation and its middle point are set, and X small auxiliary register 20 to
In 24, a control point for interpolating the latter half curve and its middle point are set. Then, the control point and the middle point for interpolating the latter half curve are set in the X small auxiliary registers 20 to 24 and simultaneously saved in the X stack 4. If the determination unit 9
Outputs the information of regular interpolation points, and in the next step, mode P
In the case of, the control point and the middle point for interpolating the latter half curve are not saved in the X stack 4.

【0058】ステップ4はモードTになる。モードTで
は、X小セレクタ15はX小レジスタ10を選択するた
めX小レジスタ10の内容は変化しない。X小セレクタ
16はX小レジスタ11を選択するため、X小レジスタ
11の内容は変化しない。X小セレクタ17はX小レジ
スタ12を選択するため、X小レジスタ12の内容は変
化しない。X小セレクタ18はX小中点発生器31を選
択するため、X小レジスタ13にはステップ3での中点
計算結果が記憶される。X小セレクタ19はX小レジス
タ14を選択するため、X小レジスタ14の内容は変化
しない。X小セレクタ25はX小レジスタ14を選択す
るため、X小補助レジスタ20にはステップ3でのX小
レジスタ14の記憶するX座標Ax2 が記憶される。X
小セレクタ26はX小中点発生器32を選択するため、
X小補助レジスタ21にはステップ3での中点計算結果
が記憶される。X小セレクタ27は中点発生器33を選
択するため、X小補助レジスタ22にはステップ3での
中点計算結果が記憶される。X小セレクタ28はX小補
助レジスタ23を選択するため、X小補助レジスタ23
の内容は変化しない。X小セレクタ29はX小補助レジ
スタ24を選択するため、X小補助レジスタ24の内容
は変化しない。X小セレクタ34はX小レジスタ10を
選択し、X小セレクタ35はX小レジスタ11を選択す
るため、X小中点発生器31はX小レジスタ10とX小
レジスタ11の中点を計算する。X小セレクタ36はX
小レジスタ11を選択し、X小セレクタ37はX小レジ
スタ12を選択するため、X小中点発生器32はX小レ
ジスタ11とX小レジスタ12の中点を計算する。X小
セレクタ38はX小レジスタ12を選択し、X小セレク
タ39はX小レジスタ13を選択するため、X小中点発
生器33はX小レジスタ12とX小レジスタ13の中点
を計算する。そして、モードTは必ずモードUに遷移す
る。
Step 4 is mode T. In mode T, the X small selector 15 selects the X small register 10, so the contents of the X small register 10 do not change. Since the X small selector 16 selects the X small register 11, the contents of the X small register 11 do not change. Since the X small selector 17 selects the X small register 12, the contents of the X small register 12 do not change. Since the X small selector 18 selects the X small midpoint generator 31, the midpoint calculation result in step 3 is stored in the X small register 13. Since the X small selector 19 selects the X small register 14, the contents of the X small register 14 do not change. Since the X small selector 25 selects the X small register 14, the X small auxiliary register 20 stores the X coordinate Ax 2 stored in the X small register 14 in step 3. X
Since the small selector 26 selects the X small midpoint generator 32,
The X small auxiliary register 21 stores the midpoint calculation result in step 3. Since the X small selector 27 selects the midpoint generator 33, the X small auxiliary register 22 stores the midpoint calculation result in step 3. Since the X small selector 28 selects the X small auxiliary register 23, the X small auxiliary register 23
The content of does not change. Since the X small selector 29 selects the X small auxiliary register 24, the content of the X small auxiliary register 24 does not change. Since the X small selector 34 selects the X small register 10 and the X small selector 35 selects the X small register 11, the X small midpoint generator 31 calculates the midpoint of the X small register 10 and the X small register 11. .. X small selector 36 is X
Since the small register 11 is selected and the X small selector 37 selects the X small register 12, the X small midpoint generator 32 calculates the midpoint of the X small register 11 and the X small register 12. Since the X small selector 38 selects the X small register 12 and the X small selector 39 selects the X small register 13, the X small midpoint generator 33 calculates the midpoint of the X small register 12 and the X small register 13. .. Then, the mode T always transits to the mode U.

【0059】以後同様に、ステップ5はモードU、ステ
ップ6はモードVで処理を実行する。ステップ6では、
判定部9がX小レジスタ10に記憶されているX座標A
11とX小レジスタ14に記憶されているX座標Dx11
が隣接するか否かを判定し、(当然、同時にY座標につ
いても判定する)、X座標(そしてY座標も)の整数部
分の差が1以下で隣接するので、曲線上の正規の補間点
に関する情報として、A11、D11の座標に関する情報を
出力する。そしてモードVで判定部9が正規の補間点の
情報を出力したので、次のステップではモードWに遷移
する。また、モードVで1回の曲線の2分割が終了する
が、判定部9が正規の補間点の情報を出力したので、次
のステップ7で後半の曲線の補間のための制御点はXス
タック4に退避されない。
Thereafter, similarly, the processing is executed in the mode U in step 5 and in the mode V in step 6. In step 6,
The determination unit 9 determines the X coordinate A stored in the X small register 10.
x 11 and the X coordinate Dx 11 stored in the X small register 14.
Are adjacent to each other (of course, the Y coordinate is also determined at the same time), and since the difference in the integer part of the X coordinate (and also the Y coordinate) is 1 or less, they are adjacent to each other. As the information regarding, the information regarding the coordinates of A 11 and D 11 is output. Then, since the determination unit 9 has output the information of the regular interpolation point in the mode V, the mode W is transited to in the next step. In addition, in mode V, one division of the curve into two ends, but since the determination unit 9 outputs the information of the regular interpolation point, the control point for the interpolation of the latter half curve is the X stack in the next step 7. Not saved to 4.

【0060】ステップ7がモードWになる。モードWで
は、X小セレクタ15とX小セレクタ25はX小レジス
タ14を選択するため、X小レジスタ10とX小補助レ
ジスタ20にはステップ6でのX小レジスタ14の記憶
するX座標Ax12が記憶される。X小セレクタ16とX
小セレクタ26はX小中点発生器32を選択するため、
X小レジスタ11とX小補助レジスタ21にはステップ
6での中点計算結果が記憶される。X小セレクタ17と
X小セレクタ27はX小中点発生器33を選択するた
め、X小レジスタ12とX小補助レジスタ22にはステ
ップ6での中点計算結果が記憶される。X小セレクタ1
8とX小セレクタ28はX小補助レジスタ23を選択す
るため、X小補助レジスタ23の内容は変化せず、X小
レジスタ13にはX小補助レジスタ23の内容が記憶さ
れる。X小セレクタ19とX小セレクタ29はX小補助
レジスタ24を選択するため、X小補助レジスタ24の
内容は変化せず、X小レジスタ14にはX小補助レジス
タ24の内容が記憶される。X小セレクタ34はX小レ
ジスタ10を選択し、X小セレクタ35はX小レジスタ
11を選択するため、X小中点発生器31はX小レジス
タ10とX小レジスタ11の中点を計算する。X小セレ
クタ36はX小レジスタ11を選択し、X小セレクタ3
7はX小レジスタ12を選択するため、X小中点発生器
32はX小レジスタ11とX小レジスタ12の中点を計
算する。X小セレクタ38はX小レジスタ12を選択
し、X小セレクタ39はX小レジスタ13を選択するた
め、X小中点発生器33はX小レジスタ12とX小レジ
スタ13の中点を計算する。判定部9はX小レジスタ1
0の記憶するX座標Ax12とレジスタ14の記憶するX
座標Dx12が隣接するか否かを判定し、(勿論、同時に
Y座標についても判定する)、X座標(Y座標も)の整
数部分の差が1以下であり隣接するので、曲線上の正規
の補間点に関する情報として、A12、D12の座標に関す
る情報を出力する。なお、モードWで判定部9が正規の
補間点に関する情報を出力した場合には、次のステップ
ではモードSに遷移するが、もし判定部9が何も出力し
ない場合には、モードUに遷移する。
Step 7 becomes the mode W. In mode W, since the X small selector 15 and the X small selector 25 select the X small register 14, the X small register 10 and the X small auxiliary register 20 store the X coordinate Ax 12 stored in the X small register 14 in step 6. Is memorized. X small selector 16 and X
Since the small selector 26 selects the X small midpoint generator 32,
The X-small register 11 and the X-small auxiliary register 21 store the midpoint calculation result in step 6. Since the X small selector 17 and the X small selector 27 select the X small midpoint generator 33, the midpoint calculation result in step 6 is stored in the X small register 12 and the X small auxiliary register 22. X small selector 1
8 and the X small selector 28 select the X small auxiliary register 23, the contents of the X small auxiliary register 23 do not change, and the contents of the X small auxiliary register 23 are stored in the X small register 13. Since the X small selector 19 and the X small selector 29 select the X small auxiliary register 24, the contents of the X small auxiliary register 24 do not change, and the contents of the X small auxiliary register 24 are stored in the X small register 14. Since the X small selector 34 selects the X small register 10 and the X small selector 35 selects the X small register 11, the X small midpoint generator 31 calculates the midpoint of the X small register 10 and the X small register 11. .. The X small selector 36 selects the X small register 11, and the X small selector 3
Since 7 selects the X small register 12, the X small midpoint generator 32 calculates the midpoint of the X small register 11 and the X small register 12. Since the X small selector 38 selects the X small register 12 and the X small selector 39 selects the X small register 13, the X small midpoint generator 33 calculates the midpoint of the X small register 12 and the X small register 13. .. Judgment unit 9 is X small register 1
X coordinate Ax 12 stored in 0 and X stored in register 14
It is determined whether the coordinates Dx 12 are adjacent to each other (of course, the Y coordinate is also determined at the same time), and the difference between the integer parts of the X coordinates (also the Y coordinates) is 1 or less, and the coordinates are adjacent to each other. As the information about the interpolation point of, the information about the coordinates of A 12 and D 12 is output. If the determination unit 9 outputs the information about the regular interpolation point in the mode W, the mode changes to the mode S in the next step, but if the determination unit 9 outputs nothing, the mode changes to the mode U. To do.

【0061】以後同様に、ステップ8はモードS、ステ
ップ9はモードU、ステップ10はモードV、ステップ
11はモードWで処理を実行し、最後にステップ11で
判定部9が正規の補間点の情報を出力し、次のステップ
(モードS)においてXスタック4から読みだすデータ
が無くなった時点で本Bezier曲線の補間処理を終了す
る。このようにして、本実施例のBezier曲線補間装置は
11ステップで図12に示す3次のBezier曲線の補間計
算を終了する。
Thereafter, similarly, the process is executed in the mode S in step 8, the mode U in step 9, the mode V in step 10, and the mode W in step 11, and finally, in step 11, the determination unit 9 determines the normal interpolation point. The information is output, and when there is no more data to be read from the X stack 4 in the next step (mode S), the interpolation process of the Bezier curve is finished. In this way, the Bezier curve interpolating apparatus of this embodiment completes the interpolation calculation of the cubic Bezier curve shown in FIG. 12 in 11 steps.

【0062】以上のように本実施例によれば、X座標を
記憶するX小レジスタを2つ追加するだけで、中点計算
に必要なハードウェアを増加させることなく高速にBezi
er曲線の補間処理をなすことが可能となる。また、曲線
の後半の補間用の制御点の座標を直接Xレジスタに入力
するパスを設けることにより、補間用の制御点の座標を
スタックに記憶する回数が減少し、スタック段数の削減
も可能となる。また、先の第1実施例と同様、X座標と
Y座標が同時に計算されるため、X座標の計算結果を1
ステップ保持することなく容易に曲線の始点と終点が隣
接するか否かを判定できる。
As described above, according to the present embodiment, only by adding two X small registers for storing X coordinates, Bezi can be operated at high speed without increasing the hardware required for the midpoint calculation.
It is possible to perform interpolation processing of the er curve. Further, by providing a path for directly inputting the coordinates of the control points for interpolation in the latter half of the curve to the X register, the number of times the coordinates of the control points for interpolation are stored in the stack is reduced, and the number of stack stages can be reduced. Become. Further, since the X coordinate and the Y coordinate are calculated at the same time as in the first embodiment, the calculation result of the X coordinate is 1
It is possible to easily determine whether the start point and the end point of the curve are adjacent to each other without holding the step.

【0063】次に、請求項6の発明の技術内容について
説明する。先の第1実施例と同じく、X小レジスタ14
とX小補助レジスタ20は別の小レジスタを使用した
が、X小補助レジスタ20はX小レジスタ14と同じ座
標以外の値は保持しないため、両者を兼用することが可
能である。また、X小セレクタ25はX小レジスタ14
以外の入力を持たないので省略してもよい(そして、こ
のことはY側についてもあてはまる。)なお、本実施例
ではあらかじめ制御点A、B、C、Dの初期値の中点座
標を計算しておく必要があるが、これは本Bezier曲線補
間装置の最終用途に応じて、別途他の機器を用いて計算
するようにしてもよいし、本実施例の小X中点計算機3
1〜33で計算するプログラムを組んでもよい。
Next, the technical contents of the invention of claim 6 will be described. Similar to the first embodiment, the X small register 14
The X small auxiliary register 20 uses another small register, but since the X small auxiliary register 20 does not hold values other than the same coordinates as the X small register 14, both can be used in common. Further, the X small selector 25 uses the X small register 14
It may be omitted because it has no other input (and this also applies to the Y side). In this embodiment, the midpoint coordinates of the initial values of the control points A, B, C, and D are calculated in advance. However, this may be calculated by using another device separately according to the end use of the Bezier curve interpolation device, or the small X midpoint calculator 3 of the present embodiment.
You may build the program calculated by 1-33.

【0064】以上、本発明を2つの実施例に基づき説明
したが、本発明は何も上記実施例に限定されないのは勿
論である。すなわち、具体的には、 補間計算をするBezier曲線は3次でなく、2次、4次
若しくは更に高次である。 X座標とY座標の初期値の精度若しくは表示装置等他
の機器との都合で要求される精度が異なる等のため、一
方の計算が終了しても他方の計算が続行される。
Although the present invention has been described above based on the two embodiments, it goes without saying that the present invention is not limited to the above embodiments. That is, specifically, the Bezier curve used for the interpolation calculation is not quadratic, but quadratic, quartic, or higher. Since the precision of the initial values of the X coordinate and the Y coordinate or the precision required for convenience of other devices such as a display device is different, the calculation of one is continued even if the calculation of the other is completed.

【0065】同じく2点の隣接を判定する際使用する
所定値はX座標とY座標とで異なる。 同じく各制御点の初期値は厳密に等間隔ではない。 他の手法による曲線補間能力をも有しており、そのた
め多数の制御点を記憶しており、用途に応じてそれらの
制御点を適宜等間隔で選択した後(例えば、等間隔の制
御点から1つ置きに採用する)Bezier曲線補間処理のた
めの初期値として採用する、隣接の有無判定に使用する
所定値は選択可能である等付加的能力を有している。
Similarly, the predetermined value used when determining the adjacency of two points differs between the X coordinate and the Y coordinate. Similarly, the initial value of each control point is not strictly equidistant. It also has the ability to interpolate curves by other methods, so it stores a large number of control points, and after selecting those control points at equal intervals according to the application (for example, from control points at equal intervals). A predetermined value used as an initial value for Bezier curve interpolation processing (used every other one) and used for determining the presence / absence of adjacency has an additional capability such as being selectable.

【0066】要求される補間精度が高いため、繰り返
し計算数が多い。またこのため、Xスタック、Yスタッ
クの記憶容量も充分大とされている。 計算結果を利用する他の機器、用途等との都合上、2
点の隣接を判定する際使用する所定値は表示手段の表示
に際しての識別、印字能力とは別に設定されている。
Since the required interpolation accuracy is high, the number of repeated calculations is large. Therefore, the storage capacity of the X stack and the Y stack is also sufficiently large. 2 for convenience of other devices and applications that use the calculation results
The predetermined value used when determining the adjacency of dots is set separately from the identification and printing ability when the display means displays.

【0067】建築設計に応用するべく、3次元空間
(Z座標)における直線補間能力が付加されている。そ
してこのため、Z座標用のレジスタ、補助レジスタ、ス
タック、中点発生器等をも有する。なお、この場合、
X、Y、Z座標の任意の2つの座標間に本願発明が利用
されることとなる。等も本願発明に包含されるのは勿論
である。また、レジスター、スタック等の構成要素にI
C、半導体メモリを採用する等、材料、回路構成等ハー
ド面の如何をも問わないのも勿論である。
A linear interpolation capability in a three-dimensional space (Z coordinate) is added for application to architectural design. Therefore, it also has a Z coordinate register, an auxiliary register, a stack, a midpoint generator, and the like. In this case,
The present invention is used between any two coordinates of the X, Y, and Z coordinates. It goes without saying that the above is also included in the present invention. In addition, I
Needless to say, the material, circuit configuration, and other hardware aspects do not matter, such as C and semiconductor memory.

【0068】[0068]

【発明の効果】以上説明したごとく、本発明によれば、
Bezier曲線の補間に必要な制御点の中点計算用のハード
ウェアをX座標用とY座標用とに分けた上で、同じ処理
を同時になすことにより、中点計算に必要なハードウェ
アを増加させることなく高速の補間処理を実現すること
が可能となる。更に、1ステップ内に1段の中点計算の
みを行うため、Bezier曲線の補間装置に供給するクロッ
ク周波数を上げることが容易になり、処理のより一層の
高速化が図れる。
As described above, according to the present invention,
Increase the hardware required for midpoint calculation by dividing the hardware for midpoint calculation of control points required for Bezier curve interpolation into X coordinate and Y coordinate and then performing the same processing at the same time. It is possible to realize high-speed interpolation processing without performing the above. Furthermore, since only one midpoint calculation is performed in one step, it becomes easy to increase the clock frequency supplied to the Bezier curve interpolating device, and the processing speed can be further increased.

【0069】また、X座標とY座標が同時に計算される
ため、X座標の計算結果を1ステップ保持することなく
曲線の始点と終点の隣接を容易に判定できる。このため
その実用的効果は大きい。
Further, since the X coordinate and the Y coordinate are calculated at the same time, it is possible to easily determine the adjacency between the start point and the end point of the curve without holding the calculation result of the X coordinate for one step. Therefore, its practical effect is great.

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

【図1】請求項1の発明に係るBezier曲線補間装置の一
実施例の構成図である。
FIG. 1 is a configuration diagram of an embodiment of a Bezier curve interpolation device according to the invention of claim 1.

【図2】上記実施例の内部構成図兼請求項2の発明の一
実施例の構成図である。
FIG. 2 is a block diagram showing an internal configuration of the above embodiment and an embodiment of the invention of claim 2;

【図3】上記実施例の動作説明図である。FIG. 3 is an operation explanatory diagram of the above embodiment.

【図4】上記実施例の動作説明図である。FIG. 4 is a diagram illustrating the operation of the above embodiment.

【図5】請求項4の発明に係るBezier曲線補間装置の一
実施例の構成図である。
FIG. 5 is a block diagram of an embodiment of a Bezier curve interpolation device according to the invention of claim 4;

【図6】上記実施例の内部構成図兼請求項5の発明の一
実施例の構成図である。
FIG. 6 is a diagram showing the internal configuration of the above embodiment and the configuration of an embodiment of the invention of claim 5;

【図7】上記実施例の動作説明図である。FIG. 7 is an operation explanatory diagram of the above embodiment.

【図8】上記実施例の動作説明図である。FIG. 8 is an operation explanatory diagram of the above embodiment.

【図9】上記実施例の動作説明図である。FIG. 9 is a diagram illustrating the operation of the above embodiment.

【図10】従来技術に係るBezier曲線補間装置の構成図
である。
FIG. 10 is a configuration diagram of a Bezier curve interpolation device according to a conventional technique.

【図11】従来技術に係るBezier曲線補間装置の2分割
回路の内部構成図である。
FIG. 11 is an internal configuration diagram of a two-divided circuit of a Bezier curve interpolation device according to a conventional technique.

【図12】3次のBezier曲線を補間する制御点の説明図
である。
FIG. 12 is an explanatory diagram of control points that interpolate a cubic Bezier curve.

【図13】従来技術に係るBezier曲線補間装置の動作説
明図である。
FIG. 13 is an operation explanatory diagram of a Bezier curve interpolation device according to a conventional technique.

【符号の説明】[Explanation of symbols]

1 Xレジスタ 2 X補助レジスタ 3 X中点発生器 4 Xスタック 5 Yレジスタ 6 Y補助レジスタ 7 Y中点発生器 8 Yスタック 9 判定部 1 X register 2 X auxiliary register 3 X midpoint generator 4 X stack 5 Y register 6 Y auxiliary register 7 Y midpoint generator 8 Y stack 9 Judgment unit

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 前後に順を持って与えられた複数のX座
標を記憶するXレジスタと、 前記Xレジスタに記憶されている隣りあうX座標間の中
点座標を計算するX中点発生器と、 前記Xレジスタに記憶されているX座標または前記X中
点発生器が出力する中点座標を保持するX補助レジスタ
と、 前記X補助レジスタにX中点発生器により新たに出力さ
れた曲線の前半分の新しい補間のための制御点のX座標
が入力されたときにはこれまで保持されていた補間のた
めの制御点若しくは新たに出力された曲線の後半分の補
間のための制御点のX座標を退避させた上で記憶するX
スタックと、 前後に順を持って与えられた複数のY座標を記憶するY
レジスタと、 前記Yレジスタに記憶されている隣りあうY座標間の中
点座標を計算するY中点発生器と、 前記Yレジスタに記憶されているY座標または前記Y中
点発生器が出力する中点座標を保持するY補助レジスタ
と、 前記Y補助レジスタにY中点発生器により新たに出力さ
れた曲線の後半分の新しい補間のための制御点のY座標
が入力されたときにはこれまで保持されていた補間のた
めの制御点若しくは新たに出力された曲線の後半分の補
間のための制御点のY座標を退避させた上で記憶するY
スタックと、 前記Xレジスタの記憶する2分割された曲線の始点と終
点のX座標の差と前記Yレジスタの記憶する2分割され
た曲線の始点と終点のY座標の差とが所定値以内か否か
により始点と終点とが隣接することを判定する判定部
と、 曲線を補間するための制御点の座標が前記Xレジスタお
よび前記Yレジスタに与えられた場合には、前記X中点
発生器と前記Y中点発生器とに中点を繰り返し計算さ
せ、該計算結果を前記Xレジスタと前記X補助レジスタ
および前記Yレジスタと前記Y補助レジスタに保持させ
ることによって前半分の曲線を補間する制御点と後半分
の曲線を補間する制御点を求める補間制御点算出手段
と、 前記補間制御点算出手段により算出された補間のための
制御点のうち後半分の制御点は前記Xスタックおよび前
記Yスタックに退避させ、前半分の補間用の制御点は繰
り返し分割するために前記Xレジスタおよび前記Yレジ
スタに記憶させ、その上で前記Xレジスタおよび前記Y
レジスタに記憶された前半分の補間のための制御点のう
ち曲線の始点と終点となる2点が隣接することを前記判
定部に判定させ、隣接する場合にはその2点を曲線上の
正規の補間点として出力させるとともに前記Xスタック
および前記Yスタックに退避された後半分の補間のため
の制御点を前記Xレジスタおよび前記Yレジスタに復帰
させる退避復帰制御手段とを有していることを特徴とす
るBezier曲線補間装置。
1. An X register for storing a plurality of X coordinates given in order before and after, and an X midpoint generator for calculating a midpoint coordinate between adjacent X coordinates stored in the X register. And an X auxiliary register that holds the X coordinate stored in the X register or the midpoint coordinate output by the X midpoint generator, and a curve newly output by the X midpoint generator to the X auxiliary register When the X coordinate of the control point for the new interpolation of the first half of the is input, the control point for the interpolation that was held so far or the X of the control point for the interpolation of the second half of the newly output curve X to save the coordinates and then store
A stack and a Y that stores a plurality of Y coordinates given in order before and after
A register, a Y midpoint generator for calculating midpoint coordinates between adjacent Y coordinates stored in the Y register, and a Y coordinate stored in the Y register or output from the Y midpoint generator. A Y auxiliary register that holds the midpoint coordinates, and the Y auxiliary register that holds the Y coordinates of the control points for the new interpolation of the latter half of the curve newly output by the Y midpoint generator The Y coordinate of the control point for interpolation that has been performed or the control point for interpolation of the rear half of the newly output curve is saved and then stored.
Whether the stack and the difference between the X coordinates of the start point and the end point of the divided curve stored in the X register and the difference between the Y coordinates of the start point and the end point of the divided curve stored in the Y register are within a predetermined value. A determination unit that determines whether the start point and the end point are adjacent to each other, and, if the coordinates of the control point for interpolating the curve are given to the X register and the Y register, the X midpoint generator And the Y midpoint generator to repeatedly calculate the midpoint, and hold the calculation results in the X register and the X auxiliary register and the Y register and the Y auxiliary register to interpolate the curve of the first half. Point and the control point calculating means for obtaining a control point for interpolating the curve of the latter half, and the control point for the latter half of the control points for interpolation calculated by the interpolation control point calculating means are the X stack and the front. Is retreated in the Y-stack, the first half of the control points for the interpolation to be stored in the X register and the Y register to repeatedly divide the X register and the Y thereon
Of the control points for interpolation of the first half stored in the register, the determination unit determines that two points that are the start point and the end point of the curve are adjacent to each other. And a save / restore control unit that restores the control points for the latter half of the interpolation saved in the X stack and the Y stack to the X register and the Y register. Features Bezier curve interpolator.
【請求項2】 hを2以上の自然数、jを1以上h以下
の自然数としたとき、 前記Xレジスタが第1から第(h+1)までのX小レジ
スタで構成され、 前記X中点発生器が第j番のX小中点発生器は前記第j
X小レジスタと第(j+1)X小レジスタの中点を計算
する第1から第hまでのX小中点発生器から構成され、 前記X補助レジスタが第1から第hまでのX小補助レジ
スタで構成され、 前記Yレジスタが第1から第(h+1)までの小Yレジ
スタで構成され、 前記Y中点発生器が第j番のY小中点発生器は前記第j
Y小レジスタと第(j+1)Y小レジスタの中点を計算
する第1から第hまでのY小中点発生器から構成され、 前記Y補助レジスタが第1から第hまでのY小補助レジ
スタで構成されており、前記判定部は前記第1X小レジ
スタと前記第(h+1)X小レジスタの記憶するX座標
の値の差及び前記第1Y小レジスタと前記第(h+1)
Y小レジスタの記憶するY座標の値の差が所定値以内か
否かを判定するよう構成されていることを特徴とする請
求項1記載のBezier曲線補間装置。
2. When h is a natural number of 2 or more and j is a natural number of 1 or more and h or less, the X register is composed of first to (h + 1) th X small registers, and the X midpoint generator. Is the j-th X small and mid-point generator
An X small register and first to hth X small midpoint generators for calculating the midpoint of the (j + 1) X small register, wherein the X auxiliary register is a first to hth X small auxiliary register. And the Y register is composed of first to (h + 1) th small Y registers, and the Y middle point generator is the jth Y small middle point generator.
A Y small register and first to hth Y small midpoint generators for calculating the midpoint of the (j + 1) th Y small register, wherein the Y auxiliary register is a first to hth Y small auxiliary register. And the difference between the X coordinate values stored in the first X small register and the (h + 1) X small register and the first Y small register and the (h + 1) th register.
The Bezier curve interpolating device according to claim 1, wherein the Bezier curve interpolating device is configured to determine whether or not a difference between Y coordinate values stored in the Y small register is within a predetermined value.
【請求項3】 前記第hX小レジスタと前記第1X小補
助レジスタ若しくは前記第hY小レジスタと前記第1Y
小補助レジスタの少なくも一方が同じ1つの小レジスタ
で兼用されたことを特徴とする請求項2記載のBezier曲
線補間装置。
3. The hX small register and the first X small auxiliary register or the hY small register and the first Y
3. The Bezier curve interpolation device according to claim 2, wherein at least one of the small auxiliary registers is also used as the same small register.
【請求項4】 前後に順を持って与えられた複数のX座
標を記憶するXレジスタと、 複数のX座標を記憶するX補助レジスタと、 前記Xレジスタまたは前記X補助レジスタに記憶される
隣りあうX座標間の中点座標を計算するX中点発生器
と、 前記X補助レジスタにX中点発生器により新たに出力さ
れた曲線の前半分の補間のための制御点のX座標が入力
されたときには、これまで保持されていた制御点若しく
は新たに出力された曲線の後半分の補間のための制御点
の座標を記憶するXスタックと、 前後に順を持って与えられた複数のY座標を記憶するY
レジスタと、 複数のY座標を記憶するY補助レジスタと、 前記Yレジスタまたは前記Y補助レジスタに記憶される
隣りあうY座標間の中点座標を計算するY中点発生器
と、 前記Y補助レジスタにY中点発生器により新たに出力さ
れた曲線の前半分の補間のための制御点のY座標が入力
されたときには、これまで保持されていた制御点若しく
は新たに出力された曲線の後半分の補間のための制御点
の座標を記憶するYスタックと、 前記Xレジスタの記憶する2分割された曲線の始点と終
点のX座標の差と前記Yレジスタの記憶する2分割され
た曲線の始点と終点のY座標の差とが所定値以内か否か
により始点と終点とが隣接することを判定する判定部
と、 曲線を補間するための制御点の座標が前記Xレジスタお
よび前記Yレジスタに与えられた場合には、前記X中点
発生器と前記Y中点発生器とに中点を繰り返し計算さ
せ、該計算結果を前記Xレジスタと前記X補助レジスタ
および前記Yレジスタと前記Y補助レジスタに保持させ
ることによって前半分の曲線を補間する制御点と後半分
の曲線を補間する制御点を求める計算をなさせる補間制
御点算出手段と、 前記Xレジスタおよび前記Yレジスタに記憶された前半
分の曲線の補間のための制御点のうち始点と終点を示す
2点が隣接することを前記判定部が示す場合にはその2
点を曲線上の正規の補間点として出力するとともに前記
X補助レジスタおよび前記Y補助レジスタに記憶された
後半分の曲線の補間のための制御点を前記Xレジスタお
よび前記Yレジスタに転送させ、同じく前半分の曲線の
始点と終点を示す2点が隣接することを前記判定部が示
さない場合には前記X補助レジスタおよび前記Y補助レ
ジスタに記憶する後半分の曲線の補間のための制御点を
前記Xスタックおよび前記Yスタックに退避させるとと
もに前半分の曲線の補間のための制御点は繰り返し2分
割するために前記Xレジスタおよび前記Yレジスタに保
持させる転送退避保持手段と、 前記X補助レジスタまたは前記Xスタックおよび前記Y
補助レジスタまたは前記Yスタックから前記Xレジスタ
および前記Yレジスタに転送された後半分の曲線の補間
のための制御点のうち曲線の始点と終点を示す2点が隣
接することを前記判定部が示す場合にはその2点を曲線
上の正規の補間点として出力させるとともに前記Xスタ
ックおよび前記Yスタックに退避された更に後の順の曲
線の補間用の制御点を前記Xレジスタおよび前記Yレジ
スタに復帰させる退避復帰制御手段とを有していること
を特徴とするBezier曲線補間装置。
4. An X register for storing a plurality of X coordinates given in order before and after, an X auxiliary register for storing a plurality of X coordinates, and a neighbor stored in the X register or the X auxiliary register. An X midpoint generator for calculating a midpoint coordinate between the matching X coordinates, and an X coordinate of a control point for interpolation of the first half of the curve newly output by the X midpoint generator are input to the X auxiliary register. When it is done, the X stack that stores the coordinates of the control point that has been held so far or the control point for the interpolation of the second half of the newly output curve, and the Y stacks that are given in order before and after Y to store coordinates
A register, a Y auxiliary register for storing a plurality of Y coordinates, a Y midpoint generator for calculating midpoint coordinates between adjacent Y coordinates stored in the Y register or the Y auxiliary register, and the Y auxiliary register When the Y coordinate of the control point for interpolation of the front half of the curve newly output by the Y midpoint generator is input to, the control point that has been held so far or the rear half of the newly output curve is input. And a Y stack storing the coordinates of the control points for the interpolation, and the difference between the X coordinates of the starting point and the ending point of the divided curve stored in the X register and the starting point of the divided curve stored in the Y register. A determination unit that determines whether the start point and the end point are adjacent to each other based on whether the difference between the Y coordinate of the end point and the Y coordinate of the end point is within a predetermined value, and the coordinates of the control point for interpolating the curve are stored in the X register and the Y register. Given In this case, the X midpoint generator and the Y midpoint generator are made to repeatedly calculate the midpoint, and the calculation results are held in the X register and the X auxiliary register, and the Y register and the Y auxiliary register. Interpolation control point calculation means for performing calculation to obtain a control point for interpolating the curve of the first half and a control point for interpolating the curve of the second half, and the curve of the first half stored in the X register and the Y register If the determination unit indicates that two points indicating the start point and the end point are adjacent to each other among the control points for interpolation of
The point is output as a normal interpolation point on the curve, and the control points for the interpolation of the second half curve stored in the X auxiliary register and the Y auxiliary register are transferred to the X register and the Y register. If the determination unit does not indicate that the two points indicating the start point and the end point of the first half curve are adjacent to each other, control points for interpolation of the second half curve stored in the X auxiliary register and the Y auxiliary register are set. Transfer save holding means for saving in the X stack and the Y stack and holding in the X register and the Y register for repeatedly dividing the control point for interpolation of the first half curve into two; The X stack and the Y
The determination unit indicates that two control points for interpolating the second half of the curve transferred from the auxiliary register or the Y stack to the X register and the Y register are adjacent to each other, which indicate the start point and the end point of the curve. In that case, the two points are output as the normal interpolation points on the curve, and the control points for interpolation of the subsequent curves that are saved in the X stack and the Y stack are stored in the X register and the Y register. A Bezier curve interpolating device, characterized in that it has a retracting and returning control means for returning.
【請求項5】 hを2以上の自然数としたとき、 第1X小レジスタから第(h+2)小Xレジスタまでの
(h+2)個のX小レジスタからなるXレジスタと、 第1X小補助レジスタから第(h+2)小X補助レジス
タまでの(h+2)個の小X補助レジスタからなるX補
助レジスタと、 前記第1から第(h+2)X小レジスタまたは前記第1
から第(h+2)X小補助レジスタのうち2つのレジス
タが記憶するX座標の中点座標を計算して前記第1から
第(h+2)X小レジスタまたは前記第1から第(h+
2)X小補助レジスタのいずれかのレジスタに出力する
第1から第hまでのh個のX小中点発生器からなるX中
点発生器と、 第1Y小レジスタから第(h+2)Y小レジスタまでの
(h+2)個のY小レジスタからなるYレジスタと、 第1Y小補助レジスタから第(h+2)Y小補助レジス
タまでの(h+2)個のY小補助レジスタからなるY補
助レジスタと、 前記第1から第(h+2)Y小レジスタまたは前記第1
から第(h+2)Y小補助レジスタのうち2つのレジス
タが記憶するY座標の中点座標を計算して前記第1から
第(h+2)Y小レジスタまたは前記第1から第(h+
2)Y小補助レジスタのいずれかのレジスタに出力する
第1から第hまでのh個のY小中点発生器からなるY中
点発生器と、 前記第1Xレジスタと前記第(h+2)X小レジスタの
記憶するX座標の値の差と前記第1Yレジスタと前記第
(h+2)Y小レジスタの記憶するY座標の値の差が所
定値以下であることにより相応する2点の隣接を判定す
る判定器とを有していることを特徴とする請求項4記載
のBezier曲線補間装置。
5. When h is a natural number of 2 or more, an X register composed of (h + 2) X small registers from a first X small register to a (h + 2) small X register and a first X small auxiliary register to a first X small auxiliary register. An X auxiliary register comprising (h + 2) small X auxiliary registers up to (h + 2) small X auxiliary registers, and the first to (h + 2) X small registers or the first
To the (h + 2) X small auxiliary registers, the midpoint coordinates of the X coordinates stored in two registers are calculated to calculate the first to (h + 2) X small registers or the first to (h +) th small registers.
2) An X midpoint generator consisting of h number of X small midpoint generators from 1st to hth output to any one of the X small auxiliary registers, and a (h + 2) Yth small number from the 1st Y small register. A Y register consisting of (h + 2) Y small auxiliary registers up to a register, and a Y auxiliary register consisting of (h + 2) Y small auxiliary registers from a first Y small auxiliary register to a (h + 2) Y small auxiliary register 1st to (h + 2) Y small registers or the first
From the (h + 2) Y small auxiliary registers, the midpoint coordinates of the Y coordinates stored in two registers are calculated to calculate the first to (h + 2) Y small registers or the first to (h +) th small registers.
2) A Y midpoint generator comprising h small Y midpoint generators 1 to h for outputting to any of the Y small auxiliary registers; the first X register and the (h + 2) X If the difference between the X coordinate values stored in the small register and the difference between the Y coordinate values stored in the first Y register and the (h + 2) Y small register is less than a predetermined value, it is determined whether two corresponding points are adjacent to each other. The Bezier curve interpolating device according to claim 4, further comprising:
【請求項6】 前記第(h+2)X小レジスタと前記第
1X小補助レジスタ若しくは前記第(h+2)Y小レジ
スタと前記第1Y小補助レジスタの少なくも一方が同じ
1つの小レジスタで兼用されたことを特徴とする請求項
5記載のBezier曲線補間装置。
6. The same small register is used for at least one of the (h + 2) X small register and the first X small auxiliary register or the (h + 2) Y small register and the first Y small auxiliary register. The Bezier curve interpolating device according to claim 5, wherein
JP4048726A 1992-03-05 1992-03-05 Curve interpolation device Pending JPH05250479A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4048726A JPH05250479A (en) 1992-03-05 1992-03-05 Curve interpolation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4048726A JPH05250479A (en) 1992-03-05 1992-03-05 Curve interpolation device

Publications (1)

Publication Number Publication Date
JPH05250479A true JPH05250479A (en) 1993-09-28

Family

ID=12811303

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4048726A Pending JPH05250479A (en) 1992-03-05 1992-03-05 Curve interpolation device

Country Status (1)

Country Link
JP (1) JPH05250479A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110148942A1 (en) * 2009-12-22 2011-06-23 Renesas Electronics Corporation Display data correction by numerical operation suitable for display panel driver

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110148942A1 (en) * 2009-12-22 2011-06-23 Renesas Electronics Corporation Display data correction by numerical operation suitable for display panel driver
JP2011133578A (en) * 2009-12-22 2011-07-07 Renesas Electronics Corp Display data correction apparatus, and display panel driver and display device using the same
US10672360B2 (en) 2009-12-22 2020-06-02 Renesas Electronics Corporation Display data correction by numerical operation suitable for display panel driver

Similar Documents

Publication Publication Date Title
JPS63198174A (en) Graphic processor
JP2844639B2 (en) Character pattern signal generator
JPH08329261A (en) Parameteric curve generator
JPH05250479A (en) Curve interpolation device
JP2774653B2 (en) Character processor
JP2588257B2 (en) Contour approximation method
JP2806679B2 (en) Character generator
JP3280160B2 (en) Document processing apparatus and document processing method
JP2971765B2 (en) Polygon drawing method and polygon drawing device
JP3305395B2 (en) Figure division device
JP2748787B2 (en) Curve generator
JP2768331B2 (en) Curve linear approximation device
JPH06314091A (en) Method and circuit for contour painting out
JP2606176B2 (en) Graphic processing unit
JP2562540B2 (en) Figure processing method
JPH10149453A (en) Polygon graphic plotting device
JP2740539B2 (en) Enlarged reproduction image information creation method and apparatus
JP3334989B2 (en) Figure creation apparatus and method
JP2833921B2 (en) Vector font transformation processing method
JPH10143676A (en) Picture processor and method for processing the same and recording medium
JPH04280383A (en) Method and device for generating graphic/character
JPH03282496A (en) Character pattern generating device
JPH1153586A (en) Three-dimensional curve correction method and recording medium recorded with program for executing processing for correcting three-dimensional curve
JPH0827842B2 (en) Polygonal vertex data tracking device in scanning display device
JP2001013954A (en) Plotting device and method therefor, and recording medium