JPH0561982A - Curve approximation method - Google Patents

Curve approximation method

Info

Publication number
JPH0561982A
JPH0561982A JP3223836A JP22383691A JPH0561982A JP H0561982 A JPH0561982 A JP H0561982A JP 3223836 A JP3223836 A JP 3223836A JP 22383691 A JP22383691 A JP 22383691A JP H0561982 A JPH0561982 A JP H0561982A
Authority
JP
Japan
Prior art keywords
dot
coordinates
curve
parameter
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3223836A
Other languages
Japanese (ja)
Inventor
Yoshikazu Imanishi
愛策 今西
Shingo Takahashi
真悟 高橋
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.)
Seikosha KK
Original Assignee
Seikosha KK
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 Seikosha KK filed Critical Seikosha KK
Priority to JP3223836A priority Critical patent/JPH0561982A/en
Priority to EP19920114542 priority patent/EP0530661A3/en
Publication of JPH0561982A publication Critical patent/JPH0561982A/en
Priority to US08/538,818 priority patent/US5742751A/en
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Complex Calculations (AREA)
  • Digital Computer Display Output (AREA)

Abstract

PURPOSE:To shorten the processing time and to obtain a curve excellent in the approximate accuracy by stipulating the latter coordinates as a dot on the approximate curve when the interval of the XY coordinates of the dot obtained at each another process is separated by 1 dot. CONSTITUTION:By a point Pk (k=1-m) to show an anchor point and a control point and a parameter function Wk shown by using a parameter (t), an original curve shown by an expression is expressed approximately by using a matrix- shaped dot. The value of the parameter (t) used when the coordinates of the dot on the approximate curve are obtained is changed, the coordinates on the original curve are obtained and the coordinates of the matrix-shaped dot closest to the coordinates are obtained. The interval of the coordinates and the coordinates of the dot obtained first is separated by 1 dot in one axial direction and even in any axial direction, the interval is not separated by 2 dots or above, and then, the coordinates of the dot obtained third are stipulated as the dot on the approximate curve continuous immediately after the dot obtained first.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、アウトラインフォント
等に用いる曲線の近似方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method of approximating a curve used for an outline font or the like.

【0002】[0002]

【従来の技術】従来、曲線をCRTやプリンタ等のマト
リクス状のドットを用いた表示媒体に表示する場合、曲
線を複数のショートベクトルに分割した後DDA(Digi
tal Differential Analyser :デジタル微分解析)によ
る直線補間をしていた。
2. Description of the Related Art Conventionally, when a curve is displayed on a display medium using matrix-shaped dots such as a CRT or a printer, the curve is divided into a plurality of short vectors and then DDA (Digi
tal Differential Analyser (digital differential analysis).

【0003】[0003]

【発明が解決しようとする課題】上記従来の方法では、
曲線をショートベクトルに分割するため、処理時間が長
くなり、近似精度が悪くなるという問題点があった。
SUMMARY OF THE INVENTION In the above conventional method,
Since the curve is divided into short vectors, the processing time becomes long and the approximation accuracy becomes poor.

【0004】本発明の目的は、処理時間が短く近似精度
に優れた曲線近似方法を提供することである。
An object of the present invention is to provide a curve approximation method which has a short processing time and excellent approximation accuracy.

【0005】[0005]

【課題を解決するための手段】本発明における曲線近似
方法は、アンカーポイントおよびコントロールポイント
を表す点“Pk ”(k=1、……、m)とパラメータ
“t”を用いて表されるパラメータ関数“Wk ”(k=
1、……、m)とにより、 と表された原曲線を、マトリクス状のドットを用いて近
似的に表現することにより、上記原曲線の近似曲線を表
現する方法において、上記パラメ―タ“t”を用いて上
記近似曲線上の一のドットの座標を求める第1過程と、
上記第1過程で用いたパラメ―タ“t”の値を変化させ
て上記原曲線上の座標を求める第2過程と、上記第2過
程で求めた原曲線上の座標に最も近い上記マトリクス状
のドットの座標を求める第3過程と、上記第1過程で求
めた一のドットの座標と上記第3過程で求めたドットの
座標との間隔が、少なくとも一の軸方向において1ドッ
ト離れかついずれの軸方法においても2ドット以上離れ
ていない場合に、上記第3過程で求めたドットの座標を
上記一のドットの直後に続く上記近似曲線上のドットと
して定める第4過程とを有する。
A curve approximation method according to the present invention is a parameter represented by using a point "Pk" (k = 1, ..., M) representing an anchor point and a control point and a parameter "t". Function "Wk" (k =
1, ..., m) In the method of expressing the approximated curve of the original curve by approximating the original curve expressed by using the matrix dots, the parameter “t” is used to express the approximated curve on the approximated curve. The first step of obtaining the coordinates of one dot,
The second step of obtaining the coordinates on the original curve by changing the value of the parameter "t" used in the first step, and the matrix shape closest to the coordinates on the original curve obtained in the second step. In the third step of obtaining the coordinate of the dot, and the distance between the coordinate of the one dot obtained in the first step and the coordinate of the dot obtained in the third step is one dot apart in at least one axial direction and Also in the axis method (4), when the dots are not separated by 2 dots or more, the coordinate of the dot obtained in the third step is defined as a dot on the approximate curve immediately following the one dot, and the fourth step.

【0006】[0006]

【実施例】通常アウトラインフォントを表現する曲線に
は3次ベジェ曲線や3次スプライン曲線等の3次曲線が
多く用いられるため、以下、このような3次曲線を例に
して説明を行う。
EXAMPLE A cubic curve such as a cubic Bézier curve or a cubic spline curve is often used as a curve that normally expresses an outline font. Therefore, such a cubic curve will be described below as an example.

【0007】上記3次曲線をパラメトリック表現する
と、 Q=WA×PA+WB×PB+WC×PC+WD×PD (1) と表される。ここで、WA、WB、WCおよびWDはパ
ラメ―タ“t”を用いて表される関数であり、例えば3
次ベジェ曲線の場合には、 WA=(1−t)3 (2a) WB=3t・(1−t)2 (2b) WC=3t2 ・(1−t) (2c) WD=t3 (2d) (0≦t≦1) (2e) と表される。PA、PB、PCおよびPDは、曲線の形
状を決定するX−Y平面上の座標であり、 PA(x,y) : アンカ―ポイント PB(x,y) : コントロ―ルポイント PC(x,y) : コントロ―ルポイント PD(x,y) : アンカ―ポイント となる。
Parametrically expressing the cubic curve, it is expressed as follows: Q = WA × PA + WB × PB + WC × PC + WD × PD (1) Here, WA, WB, WC and WD are functions expressed using the parameter "t", for example, 3
In the case of the next Bezier curve, WA = (1-t) 3 (2a) WB = 3t · (1-t) 2 (2b) WC = 3t 2 · (1-t) (2c) WD = t 3 ( 2d) (0≤t≤1) (2e). PA, PB, PC and PD are coordinates on the XY plane that determine the shape of the curve, PA (x, y): anchor point PB (x, y): control point PC (x, y): Control point PD (x, y): Anchor point.

【0008】ここで、(1)式について考えると、パラ
メ―タ関数WA、WB、WCおよびWDは例えば(2
a)〜(2d)式で示されるように3次曲線の種類によ
って一義的に決まるものであり、PA、PB、PCおよ
びPDは曲線の形状に応じて予め決められているもので
ある。したがって、パラメ―タ関数WA、WB、WCお
よびWDについては、図5に示すようにパラメ―タ
“t”(0≦t≦1)を細分化し、各tの値に対応して
予めWA、WB、WCおよびWDの値を計算して、その
計算結果をデ―タテ―ブルに記憶しておくことができ
る。PA、PB、PCおよびPDについても、予めその
座標をデ―タとして記憶しておくことができる。
Here, considering the equation (1), the parameter functions WA, WB, WC and WD are, for example, (2
As shown in the equations a) to (2d), it is uniquely determined by the type of cubic curve, and PA, PB, PC and PD are predetermined according to the shape of the curve. Therefore, for the parameter functions WA, WB, WC and WD, the parameter “t” (0 ≦ t ≦ 1) is subdivided as shown in FIG. 5, and WA, It is possible to calculate the values of WB, WC and WD and store the calculation result in the data table. The coordinates of PA, PB, PC and PD can be stored in advance as data.

【0009】このようにして各デ―タを予め記憶してお
き、マルチプライアやアダ―等を用いて(1)式に基い
たハ―ドウエア計算をすれば、高速処理が可能となる。
In this way, if each data is stored in advance and the hardware calculation based on the equation (1) is performed using the multiplier, the adder, etc., high speed processing becomes possible.

【0010】上記のように表された原曲線をX−Yマト
リクスの交点にドット表現する場合(ここでいうX−Y
マトリクスとは、CRTやプリンタ等の表示媒体に表示
を行う前の仮想的なX−Yマトリクスを指すが、このよ
うな表示媒体に実際に表示を行う際の物理的なX−Yマ
トリクスでもよい。)、X−Yマトリクスの交点の座標
が離散的な値しかとることができないため(例えば、x
=0、1、2、………、y=0、1、2、………)、ド
ット表現された近似曲線は原曲線を忠実に再現すること
はできない。したがって、X−Yマトリクスの交点のう
ち原曲線にできるだけ近い交点を順次選択して、近似曲
線を表現することになる。
When the original curve expressed as described above is represented by dots at the intersections of the XY matrix (here, XY
The matrix means a virtual XY matrix before displaying on a display medium such as a CRT or a printer, but it may be a physical XY matrix when actually displaying on such a display medium. .. ), The coordinates of the intersections of the XY matrix can take only discrete values (for example, x
= 0, 1, 2, ..., Y = 0, 1, 2, ...), and the approximated curve represented by dots cannot faithfully reproduce the original curve. Therefore, among the intersections of the XY matrix, the intersections that are as close as possible to the original curve are sequentially selected to represent the approximate curve.

【0011】以上述べたことを前提として、近似曲線に
おけるX−Yマトリクスの交点の座標を求める方法につ
いて、概略を説明する(図1、図2および図5参照)。
なお、以下の説明では、特に断わらない限り、アンカー
ポイントPA、PD並びにコントロールポイントPB、
PCは、 PA(x,y)=(0、0) PB(x,y)=(10、20) PC(x,y)=(40、25) PD(x,y)=(50、0) として、説明を行う。
Based on the above, the outline of a method of obtaining the coordinates of the intersection of the XY matrix in the approximate curve will be described (see FIGS. 1, 2 and 5).
In the following description, unless otherwise specified, the anchor points PA, PD and the control point PB,
PC is PA (x, y) = (0,0) PB (x, y) = (10,20) PC (x, y) = (40,25) PD (x, y) = (50,0) ) Will be explained.

【0012】図1および図2において、Q0 、Q1 、Q
2 、……は近似曲線を表すドットであり、xおよびyは
近似曲線のX座標およびY座標である。近似曲線の原点
“Q0 ”の座標は「x=0、y=0」である。
In FIGS. 1 and 2, Q0, Q1, Q
2, ... Are dots representing the approximate curve, and x and y are the X and Y coordinates of the approximate curve. The coordinates of the origin "Q0" of the approximate curve are "x = 0, y = 0".

【0013】まず、tの値を1/2、1/4、………と
し、(1)式に基いて原曲線のX−Y座標の値を順次求
める。そして、それらの値を四捨五入して、X−Yマト
リクスの交点のX座標およびY座標の値(x、y)を順
次求める。このようにして上記動作を繰り返し、X座標
の増分をΔx、Y座標の増分をΔyとしたときに、以下
の関係 (Δx=0かつΔy=1)または(Δx=1かつΔy=0) または(Δx=1かつΔy=1) (3) を満たしたときのX−Y座標(x、y)を、近似曲線の
第1番めのドットQ1とする(図1および図2の例では
「x=0、y=1」である。)このときのnの値をnの
増分Δnの初期値とし(図1および図2の例では「Δn
=2」である。)、第2番め以後のドットQ2 、Q3 、
……を求めていくことになる。
First, assuming that the value of t is 1/2, 1/4, ..., And the values of the XY coordinates of the original curve are sequentially obtained based on the equation (1). Then, these values are rounded off and the values (x, y) of the X and Y coordinates of the intersections of the XY matrix are sequentially obtained. In this way, when the above-mentioned operation is repeated and the increment of the X coordinate is Δx and the increment of the Y coordinate is Δy, the following relation (Δx = 0 and Δy = 1) or (Δx = 1 and Δy = 0) or (Δx = 1 and Δy = 1) (3) The XY coordinate (x, y) when satisfying (3) is set as the first dot Q1 of the approximate curve (in the example of FIGS. 1 and 2, x = 0, y = 1 ”.) At this time, the value of n is set as the initial value of the increment Δn of n (“ Δn ”in the examples of FIGS.
= 2 ". ), The second and subsequent dots Q2, Q3,
... will be sought after.

【0014】第2番めのドットQ2 を求める場合には、
まず「t=4/128 」(第1番めのドットD1 を求めたと
きのtの値“2/128 ”にΔnの初期値“2”を加算した
値)として、(1)式に基いて原曲線のX−Y座標の値
を求める。そして、それらの値を四捨五入して、X−Y
マトリクスの交点のX−Y座標(x、y)を求める。
To obtain the second dot Q2,
First, as “t = 4/128” (value obtained by adding the initial value “2” of Δn to the value “2/128” of t when the first dot D1 is obtained), based on the equation (1), Then, the X-Y coordinate value of the original curve is obtained. Then, those values are rounded off to obtain XY
The XY coordinates (x, y) of the intersection point of the matrix are obtained.

【0015】図1および図2の例では「x=1、y=
2」すなわち「Δx=1、Δy=1」であり、(3)式
の条件を満たしているため、この値が第2番めのドット
Q2 のX−Y座標となる。このようにしてnの値をΔn
ずつ増加させ(図1および図2の例では「Δn=2」で
ある。)、順次各ドットのX−Y座標(x、y)を求め
ていく。そして、Δx、Δyが以下の関係 (Δx=0かつΔy=0) (4) となったときには、X−Y座標(x、y)が(3)式の
条件を満たすまでnの値を“1”ずつ順次増加させる
(図1および図2の例では第17番めのドットQ17が該
当する。)。そして、そのときのΔnの値を新たなΔn
とする(図1および図2の例では「Δn=3」であ
る。)。一方、Δx、Δyが以下の関係 (Δx>1またはΔy>1) (5) となったときには、X−Y座標(x、y)が(3)式の
条件を満たすまでnの値を“1”ずつ順次減少させる
(図1および図2の例では第20番めのドットQ20が該
当する。)。そして、そのときのΔnの値を新たなΔn
とする(図1および図2の例では「Δn=2」であ
る。)。
In the example of FIGS. 1 and 2, "x = 1, y =
2 ", that is," .DELTA.x = 1, .DELTA.y = 1 ", and the condition of the expression (3) is satisfied, so this value becomes the XY coordinate of the second dot Q2. In this way, the value of n is
(Δn = 2 in the example of FIGS. 1 and 2), and the XY coordinates (x, y) of each dot are sequentially obtained. Then, when Δx and Δy have the following relationship (Δx = 0 and Δy = 0) (4), the value of n is set to “x” until the XY coordinates (x, y) satisfy the condition of the expression (3). It is sequentially increased by 1 "(in the example of FIGS. 1 and 2, the 17th dot Q17 corresponds). Then, the value of Δn at that time is changed to a new Δn.
(“Δn = 3” in the examples of FIGS. 1 and 2). On the other hand, when Δx and Δy have the following relation (Δx> 1 or Δy> 1) (5), the value of n is set to “x” until the XY coordinates (x, y) satisfy the condition of the expression (3). It is sequentially decreased by 1 ″ (in the example of FIGS. 1 and 2, the 20th dot Q20 corresponds). Then, the value of Δn at that time is changed to a new Δn.
(“Δn = 2” in the examples of FIGS. 1 and 2).

【0016】以上が、近似曲線におけるX−Yマトリク
スの交点のX−Y座標(x、y)を求める方法の概略で
ある。
The above is the outline of the method for obtaining the XY coordinates (x, y) of the intersection of the XY matrix in the approximate curve.

【0017】つぎに、近似曲線におけるX−Yマトリク
スの交点の座標を求める方法の具体的な実施例を、図1
〜図8を参照して説明する。
Next, a concrete embodiment of the method for obtaining the coordinates of the intersection of the XY matrix in the approximated curve will be described with reference to FIG.
~ It demonstrates with reference to FIG.

【0018】図3は、実施例のハ―ドウエア構成を示し
たブロック図である。
FIG. 3 is a block diagram showing the hardware configuration of the embodiment.

【0019】CPU0はマイクロプロセッサであり、ハ
−ドウエア全体の制御を行うものである。ROM0はリ
−ドオンリメモリであり、マイクロプロセッサCPU0
が行う各種処理のプログラムを記憶しておくものであ
る。RAM0はランダムアクセスメモリであり、3次ベ
ジェ曲線に関するデ−タのほか、後述の各デ−タを予め
記憶しておくものである。これらのデ−タは必要に応じ
て後述のRAM1およびRAM2に送られる。
The CPU 0 is a microprocessor and controls the entire hardware. ROM0 is a read-only memory and is a microprocessor CPU0
The programs for various processes performed by the are stored. The RAM0 is a random access memory, which stores not only data on the cubic Bezier curve but also each data described later in advance. These data are sent to RAM1 and RAM2 described later as needed.

【0020】RAM1はランダムアクセスメモリであ
り、図5に示したデ―タテ―ブルに対応して、パラメ−
タ関数WA、WB、WCおよびWDの各値を記憶するも
のである。これらのデ−タWA0 〜WA128 、WB0〜
WB128 、WC0 〜WC128 、WD0 〜WD128 はRA
M0から送られてくるものであり、図6に示すようにし
てRAM1内に記憶される。PNT1はRAM1のアド
レスポインタであり、独立のアドレスポインタPNT1
A、PNT1B、PNT1CおよびPNT1Dによって
構成されている。PNT1A、PNT1B、PNT1C
およびPNT1Dは、RAM1に記憶されているデ−タ
WA0 〜WA128 、WB0 〜WB128 、WC0 〜WC12
8 、WD0 〜WD128 (図6参照)のアドレスをそれぞ
れ指定するものである。
The RAM 1 is a random access memory, and has parameters corresponding to the data table shown in FIG.
It stores the respective values of the data functions WA, WB, WC and WD. These data WA0-WA128, WB0-
WB128, WC0 to WC128, WD0 to WD128 are RA
It is sent from M0 and is stored in the RAM1 as shown in FIG. PNT1 is an address pointer of RAM1 and is an independent address pointer PNT1.
It is composed of A, PNT1B, PNT1C and PNT1D. PNT1A, PNT1B, PNT1C
And PNT1D are data WA0 to WA128, WB0 to WB128, WC0 to WC12 stored in the RAM1.
8 and WD0 to WD128 (see FIG. 6) are respectively designated.

【0021】RAM2はランダムアクセスメモリであ
り、アンカ−ポイントPAおよびPD、コントロ−ルポ
イントPBおよびPCの各座標デ−タを記憶するもので
ある。
The RAM 2 is a random access memory and stores the coordinate data of the anchor points PA and PD, the control points PB and PC.

【0022】これらの各座標デ−タはRAM0から送ら
れてくるものであり、図7に示すようにしてRAM2内
に記憶される。図7において、PAx 〜PDx はアンカ
−ポイントおよびコントロ−ルポイントの各X座標、P
Ay 〜PDy はこれらのポイントの各Y座標である。P
NT2はRAM2のアドレスポインタであり、RAM2
に記憶されているアンカ−ポイントおよびコントロ−ル
ポイントの各座標デ−タ(図7参照)のアドレスを指定
するものである。
These coordinate data are sent from the RAM0 and are stored in the RAM2 as shown in FIG. In FIG. 7, PAx to PDx are X coordinates of anchor points and control points, P
Ay to PDy are the Y coordinates of each of these points. P
NT2 is an address pointer of RAM2,
The address of each coordinate data (see FIG. 7) of the anchor point and the control point stored in FIG.

【0023】RAM3はランダムアクセスメモリであ
り、(1)式に基いて行われたハ−ドウエア計算の結
果、言い換えると近似曲線のX−Y座標(x,y)のデ
―タを記憶するものである。これらのX−Y座標(x,
y)のデ―タは、図8に示すようにしてRAM3に記憶
される。図8に示したデ―タは、図1に示したX−Y座
標(x,y)のデ―タに対応して示してある。PNT3
はRAM3のアドレスポインタである。
The RAM 3 is a random access memory and stores the result of the hardware calculation based on the equation (1), in other words, the data of the XY coordinates (x, y) of the approximate curve. Is. These XY coordinates (x,
The data of y) is stored in the RAM 3 as shown in FIG. The data shown in FIG. 8 is shown corresponding to the data of the XY coordinates (x, y) shown in FIG. PNT3
Is an address pointer of RAM3.

【0024】MLTはマルチプライアであり、図6のR
AM1に記憶されているデ−タと図7のRAM2に記憶
されているデ−タとの乗算を行うものである。つまり、
(1)式の乗算部分(例えば、WA×PA)の演算を行
うものである。ALUは算術論理回路であり、マルチプ
ライアMLTの乗算値と後述のアキュムレ−タACCの
値とを加算するものである。ACCはアキュムレ−タで
あり、算術論理回路ALUの演算結果を保持するととも
に、この演算結果を算術論理回路ALUの一方の入力に
送出するものである。つまり、算術論理回路ALUとア
キュムレ−タACCとにより、(1)式の加算部分の演
算を行うものである。
MLT is a multiplier, and R in FIG.
The data stored in AM1 is multiplied by the data stored in RAM2 of FIG. That is,
The calculation is performed on the multiplication part (eg, WA × PA) of the equation (1). ALU is an arithmetic logic circuit for adding the multiplication value of the multiplier MLT and the value of the accumulator ACC described later. The ACC is an accumulator, which holds the operation result of the arithmetic logic circuit ALU and sends the operation result to one input of the arithmetic logic circuit ALU. That is, the arithmetic logic circuit ALU and the accumulator ACC perform the operation of the addition part of the equation (1).

【0025】MEM1は記憶回路であり、(1)式の演
算結果Q(x、y)を一時的に記憶するものである。S
UB1は減算回路であり、現在の演算結果から記憶回路
MEM1に記憶されている値を減算し、その減算結果を
生じるものである。CMP1は比較回路であり、減算結
果のX軸方向の増分ΔxおよびY軸方向の増分Δyが、
「Δx>1またはΔy>1」を満たすかどうか比較する
ものである。
MEM1 is a memory circuit, which temporarily stores the operation result Q (x, y) of the equation (1). S
UB1 is a subtraction circuit, which subtracts the value stored in the memory circuit MEM1 from the current calculation result and produces the subtraction result. CMP1 is a comparison circuit, and the increment Δx in the X-axis direction and the increment Δy in the Y-axis direction of the subtraction result are
It is to compare whether or not “Δx> 1 or Δy> 1” is satisfied.

【0026】MEM2は記憶回路であり、アドレスポイ
ンタPNT1Aのポインタ値を一時的に記憶するもので
ある。SUB2は減算回路であり、現在のポインタ値
(アドレスポインタPNT1Aのポインタ値)から記憶
回路MEM2に記憶されているポインタ値を減算して、
その減算結果を生じるものである。
MEM2 is a memory circuit, which temporarily stores the pointer value of the address pointer PNT1A. SUB2 is a subtraction circuit, which subtracts the pointer value stored in the memory circuit MEM2 from the current pointer value (pointer value of the address pointer PNT1A),
The result of the subtraction is generated.

【0027】MEM3は記憶回路であり、“+1”また
は“−1”を記憶するものである。
The MEM3 is a memory circuit for storing "+1" or "-1".

【0028】MPXはマルチプレクサであり、減算回路
SUB2の出力または記憶回路MEM3の出力のいずれ
か一方を通過させるものである。ADDはアダ−であ
り、現在のポインタ値(アドレスポインタPNT1Aの
ポインタ値)とマルチプレクサMPXの出力値とを加算
するものである。CMP2は比較回路であり、アドレス
ポインタPNT1Aのポインタ値が“128”を越えた
かどうかを比較するものである。言い替えると、パラメ
―タ“t”の値が“1”を越えたかどうかを判断するも
のである。
MPX is a multiplexer, and passes either the output of the subtraction circuit SUB2 or the output of the memory circuit MEM3. ADD is an adder that adds the current pointer value (pointer value of the address pointer PNT1A) and the output value of the multiplexer MPX. CMP2 is a comparison circuit for comparing whether or not the pointer value of the address pointer PNT1A exceeds "128". In other words, it is determined whether or not the value of the parameter "t" exceeds "1".

【0029】CONTはコントロ−ル回路であり、マイ
クロプロセッサCPU0からの命令を受けて上記各演算
処理の制御を行うものである。このコントロ−ル回路C
ONTには、上記各演算処理に対するマイクロプログラ
ムが含まれている。
CONT is a control circuit, which receives an instruction from the microprocessor CPU0 and controls the above-mentioned arithmetic processing. This control circuit C
The ONT includes a microprogram for each of the above arithmetic processing.

【0030】つぎに、本実施例の動作をフロ―チャ―ト
を用いて説明する(図1〜図8を参照)。
Next, the operation of this embodiment will be described using a flow chart (see FIGS. 1 to 8).

【0031】まず、マイクロプロセッサCPU0からの
信号に基いて、以下の初期設定が行われる。RAM0か
らRAM1には、パラメ−タ関数WA、WB、WCおよ
びWDに対応したデ−タWA0 〜WA128 、WB0〜W
B128 、WC0 〜WC128 、WD0 〜WD128 が送ら
れ、図6のようにしてRAM1に記憶される。アドレス
ポインタPNT1のポインタ値は、「t=1/2(64
/128)」に対応したデ―タWA64、WB64、WC6
4、WD64が記憶されているRAM1のアドレスに、初
期設定される。すなわち、各アドレスポインタPNT1
A、PNT1B、PNT1CおよびPNT1Dのポイン
タ値は、それぞれ“64”、“193”、“322”、
“451”となる。RAM0からRAM2には、アンカ
−ポイントPAおよびPD、コントロ−ルポイントPB
およびPCの各座標デ−タが送られ、図7のようにして
RAM2に記憶される。アドレスポインタPNT2のポ
インタ値は、“0”に初期設定される。RAM3のアド
レス“0”およびアドレス“1”は近似曲線の原点の座
標(x、y)に対応するものであり、したがって、RA
M3のアドレス“0”にはデ―タ“0”が、アドレス
“1”にはデ―タ“0”が、それぞれ記憶される(図8
参照)。アドレスポインタPNT3のポインタ値は、
“2”に初期設定される。記憶回路MEM1には、近似
曲線の原点の座標(x、y)すなわち「x=0、y=
0」が初期設定される。記憶回路MEM2には、“0”
が初期設定される。(f1)。
First, the following initialization is performed based on the signal from the microprocessor CPU0. RAM0 to RAM1 have data WA0 to WA128 and WB0 to W corresponding to the parameter functions WA, WB, WC and WD.
B128, WC0 to WC128, and WD0 to WD128 are sent and stored in the RAM 1 as shown in FIG. The pointer value of the address pointer PNT1 is "t = 1/2 (64
/ 128) ”compatible data WA64, WB64, WC6
4. Initially set to the address of RAM1 where WD64 is stored. That is, each address pointer PNT1
The pointer values of A, PNT1B, PNT1C and PNT1D are “64”, “193”, “322”,
It becomes "451". From RAM0 to RAM2, anchor points PA and PD, control point PB
And coordinate data of the PC are sent and stored in the RAM 2 as shown in FIG. The pointer value of the address pointer PNT2 is initialized to "0". The address “0” and the address “1” of the RAM 3 correspond to the coordinates (x, y) of the origin of the approximate curve, and therefore RA
The data "0" is stored in the address "0" of the M3, and the data "0" is stored in the address "1" (see FIG. 8).
reference). The pointer value of the address pointer PNT3 is
Initially set to "2". In the memory circuit MEM1, the coordinates (x, y) of the origin of the approximate curve, that is, “x = 0, y =
0 ”is initialized. “0” is stored in the memory circuit MEM2.
Is initialized. (F1).

【0032】つぎに、近似曲線の第1番めのドット“Q
1 ”を求めるために、(1)式に対応した演算が、以下
のようにして行われる。マルチプライアMLTでは、ア
ドレスポインタPNT1Aで指定されたアドレス(アド
レス“64”)に記憶されている値(“WA64”、図6
参照)と、アドレスポインタPNT2で指定されたアド
レス(アドレス“0”)に記憶されている値(“PAx
”、図7参照)とが、乗算される。乗算結果“WA64
×PAx ”は算術論理回路ALUのY入力に送られ、X
入力の値(アキュムレ―タACCの値“0”)と加算さ
れる。その加算結果“WA64×PAx ”は、アキュムレ
―タACCに一時的に保持される。続いて、アドレスポ
インタPNT1はPNT1Bが選択され、アドレスポイ
ンタPNT2のポインタ値はインクリメント(+1)さ
れる。そして、マルチプライアMLTでは、アドレスポ
インタPNT1Bで指定されたアドレス(アドレス“1
93”)に記憶されている値(“WB64”、図6参照)
と、アドレスポインタPNT2で指定されたアドレス
(アドレス“1”)に記憶されている値(“PBx ”、
図7参照)とが、乗算される。乗算結果“WB64×PB
x ”は算術論理回路ALUのY入力に送られ、X入力の
値(アキュムレ―タACCの値“WA64×PAx”)と
加算される。その加算結果“WA64×PAx+WB64×
PBx ”は、アキュムレ―タACCに一時的に保持され
る。上記の動作と同様にして、X座標についての積和結
果“WA64×PAx +WB64×PBx +WC64×PCx
+WD64×PDx ”が得られ、この積和結果は算術論理
回路ALUで四捨五入される。同様にして、Y座標につ
いての積和結果“WA64×PAy+WB64×PBy +W
C64×PCy +WD64×PDy ”が得られ、この積和結
果は算術論理回路ALUで四捨五入される。(f2、f
3)。
Next, the first dot "Q" of the approximate curve
In order to obtain 1 ", the operation corresponding to the equation (1) is performed as follows. In the multiplier MLT, the value stored at the address (address" 64 ") designated by the address pointer PNT1A. ("WA64", Figure 6
Reference) and the value stored in the address (address “0”) designated by the address pointer PNT2 (“PAx
, (See FIG. 7) and the multiplication result “WA64
XPAx "is sent to the Y input of the arithmetic logic circuit ALU, and X
It is added to the input value (accumulator ACC value "0"). The addition result "WA64 * PAx" is temporarily held in the accumulator ACC. Subsequently, PNT1B is selected as the address pointer PNT1, and the pointer value of the address pointer PNT2 is incremented (+1). Then, in the multiplier MLT, the address designated by the address pointer PNT1B (address “1
93 ”) (“ WB64 ”, see FIG. 6)
And the value ("PBx", stored at the address (address "1") designated by the address pointer PNT2,
(See FIG. 7) and are multiplied. Multiplication result “WB64 × PB
x "is sent to the Y input of the arithmetic logic circuit ALU and added to the value of the X input (accumulator ACC value" WA64 x PAx "). The addition result" WA64 x PAx + WB64 x "
PBx "is temporarily stored in the accumulator ACC. Similar to the above operation, the product-sum result" WA64 * PAx + WB64 * PBx + WC64 * PCx "for the X coordinate is obtained.
+ WD64 × PDx ”is obtained, and the product-sum result is rounded off by the arithmetic logic circuit ALU. Similarly, the product-sum result“ WA64 × PAy + WB64 × PBy + W ”for the Y coordinate is obtained.
C64.times.PCy + WD64.times.PDy "is obtained, and the product-sum result is rounded off by the arithmetic logic circuit ALU. (F2, f
3).

【0033】減算回路SUB1では、四捨五入された後
のX−Y座標の値(x、y)から、記憶回路MEM1に
記憶されている近似曲線の原点のX−Y座標Q0 (0、
0)の値が減算される。減算結果のX軸方向の増分Δx
およびY軸方向の増分Δyは比較回路CMP1に送ら
れ、「Δx>1またはΔy>1」を満たすかどうか比較
される。(f4)。
In the subtraction circuit SUB1, the XY coordinates Q0 (0, 0, 0, 0, 0) of the origin of the approximated curve stored in the memory circuit MEM1 is calculated from the rounded values (x, y) of the XY coordinates.
The value of 0) is subtracted. Increment Δx in the X-axis direction of the subtraction result
And the increment Δy in the Y-axis direction are sent to the comparison circuit CMP1 and are compared to see if “Δx> 1 or Δy> 1” is satisfied. (F4).

【0034】減算結果が「Δx>1またはΔy>1」の
ときには、「t=t/2」すなわち「t=1/4(32
/128)」に対応したデ―タWA32、WB32、WC3
2、WD32を読み出すために、これらのデ―タが記憶さ
れているRAM1のアドレス値に、各アドレスポインタ
PNT1A、PNT1B、PNT1C、PNT1Dのポ
インタ値が設定される。(f5)。
When the subtraction result is "Δx> 1 or Δy>1","t = t / 2", that is, "t = 1/4 (32
/ 128) ”compatible data WA32, WB32, WC3
2. In order to read WD32, the pointer value of each address pointer PNT1A, PNT1B, PNT1C, PNT1D is set to the address value of RAM1 where these data are stored. (F5).

【0035】減算結果が「Δx>1またはΔy>1」を
満たさなくなるまで、上記f2〜f4の動作を繰り返し
行う。すなわち、減算結果が (Δx=0かつΔy=1)または(Δx=1かつΔy=0) または(Δx=1かつΔy=1) (3) を満たすまで、上記f2〜f4の動作を繰り返すわけで
ある。(3)式の条件が満たされたときのX−Y座標の
値(x、y)が、近似曲線の第1番めのドットQ1
(x、y)の座標となる(図1および図2の場合には
「x=0、y=1」)。
Until the subtraction result does not satisfy "Δx> 1 or Δy>1", the operations of f2 to f4 are repeated. That is, the above operations f2 to f4 are repeated until the subtraction result satisfies (Δx = 0 and Δy = 1) or (Δx = 1 and Δy = 0) or (Δx = 1 and Δy = 1) (3). Is. The value (x, y) of the XY coordinates when the condition of the expression (3) is satisfied is the first dot Q1 of the approximate curve.
The coordinates are (x, y) (“x = 0, y = 1” in FIGS. 1 and 2).

【0036】この座標Q1 (x、y)の値は、アドレス
ポインタPNT3で指定されるRAM3のアドレス
(“0002”、“0003”、図8参照)に記憶される。ま
た、この座標Q1 (0、1)の値は、近似曲線の原点の
座標Q0 (0、0)の代りに記憶回路MEM1に記憶さ
れる。(f6)。
The value of the coordinate Q1 (x, y) is stored in the address ("0002", "0003", see FIG. 8) of the RAM 3 designated by the address pointer PNT3. The value of the coordinate Q1 (0,1) is stored in the memory circuit MEM1 instead of the coordinate Q0 (0,0) of the origin of the approximate curve. (F6).

【0037】続いて、近似曲線の第2番め以後のドット
“Q2 ”、Q3 ”、……を求めるル―チンが、以下のよ
うにして行われる。減算回路SUB2により、アドレス
ポインタPNT1Aのポインタ値(図1の“n”の値
“2”)から記憶回路MEM2に記憶されている値
“0”が減算され、図1に示すΔnの値が算出される
(図1および図2の場合には「Δn=2」)。続いて、
アドレスポインタPNT1Aの値(図1および図2の場
合には“2”)が記憶回路MEM2に記憶される。(f
7)。
Subsequently, the routine for obtaining the dots "Q2", Q3 ", ... After the second approximation curve is performed as follows: The subtraction circuit SUB2 causes the pointer of the address pointer PNT1A. The value "0" stored in the memory circuit MEM2 is subtracted from the value (value "2" of "n" in FIG. 1) to calculate the value of Δn shown in FIG. 1 (in the case of FIGS. 1 and 2). Is “Δn = 2”). continue,
The value of the address pointer PNT1A (“2” in the case of FIGS. 1 and 2) is stored in the memory circuit MEM2. (F
7).

【0038】加算回路ADDにより、アドレスポインタ
PNT1A、PNT1B、PNT1CおよびPNT1D
の各ポインタ値とΔnの値とがそれぞれ加算され、その
加算結果が各アドレスポインタPNT1A、PNT1
B、PNT1CおよびPNT1Dの新たなポインタ値と
なる。(f8)。
Address pointers PNT1A, PNT1B, PNT1C and PNT1D are added by the adder circuit ADD.
And the value of Δn are respectively added, and the addition result is obtained as the address pointers PNT1A and PNT1.
It becomes a new pointer value of B, PNT1C and PNT1D. (F8).

【0039】続いて、(f2)および(f3)と同様に
して積和演算および四捨五入が行われる。(f9、f1
0)。
Subsequently, the product-sum operation and rounding are performed in the same manner as (f2) and (f3). (F9, f1
0).

【0040】減算回路SUB1では、四捨五入された後
のX−Y座標の値(図1および図2の場合には「x=
1、y=2」)から、記憶回路MEM1に記憶されてい
るX−Y座標Q1 (x、y)の値(図1および図2の場
合には「x=0、y=1」)の値が減算される。減算結
果ΔxおよびΔyは比較回路CMP1に送られる。「Δ
x>1またはΔy>1」の場合には、アドレスポインタ
PNT1A、PNT1B、PNT1CおよびPNT1D
の各ポインタ値と記憶回路MEM3に記憶されている値
“−1”とが加算回路ADDで加算される。その結果、
アドレスポインタPNT1A、PNT1B、PNT1C
およびPNT1Dの各ポインタ値がデクリメント(−
1)される。(f11、f12)。「Δx=0かつΔy
=0」の場合には、アドレスポインタPNT1A、PN
T1B、PNT1CおよびPNT1Dの各ポインタ値と
記憶回路MEM3に記憶されている値“+1”とが加算
回路ADDで加算される。その結果、アドレスポインタ
PNT1A、PNT1B、PNT1CおよびPNT1D
の各ポインタ値がインクリメント(+1)される。(f
13、f14)。図1および図2の場合には、減算結果
がf11およびf13のいずれの条件も満たしていない
ので、積和演算および四捨五入を行った後のX−Y座標
の値(x=1、y=2)が、そのまま第2番めのドット
“Q2 ”の座標となる。(f15)。
In the subtraction circuit SUB1, the value of the XY coordinate after being rounded off (in the case of FIGS. 1 and 2, "x =
1, y = 2 ") to the value of the XY coordinate Q1 (x, y) stored in the memory circuit MEM1 (" x = 0, y = 1 "in FIGS. 1 and 2). The value is subtracted. The subtraction results Δx and Δy are sent to the comparison circuit CMP1. "Δ
x> 1 or Δy> 1 ”, the address pointers PNT1A, PNT1B, PNT1C and PNT1D
Each pointer value of 1 and the value “−1” stored in the memory circuit MEM3 are added by the adder circuit ADD. as a result,
Address pointers PNT1A, PNT1B, PNT1C
And the pointer values of PNT1D are decremented (-
1) is done. (F11, f12). “Δx = 0 and Δy
= 0 ”, the address pointers PNT1A, PN
Each pointer value of T1B, PNT1C and PNT1D and the value “+1” stored in the memory circuit MEM3 are added by the adder circuit ADD. As a result, the address pointers PNT1A, PNT1B, PNT1C and PNT1D
Each pointer value of is incremented (+1). (F
13, f14). In the case of FIG. 1 and FIG. 2, since the subtraction result does not satisfy any of the conditions of f11 and f13, the value of the XY coordinate (x = 1, y = 2) after the product-sum calculation and rounding are performed. ) Directly becomes the coordinates of the second dot "Q2". (F15).

【0041】減算回路SUB2により、アドレスポイン
タPNT1Aのポインタ値(図1および図2の場合には
“4”)から記憶回路MEM2に記憶されている値
“2”が減算され、Δnの値が算出される(図1および
図2の場合には「Δn=2」)(f17)。
The subtraction circuit SUB2 subtracts the value "2" stored in the storage circuit MEM2 from the pointer value of the address pointer PNT1A ("4" in FIGS. 1 and 2) to calculate the value of Δn. (“Δn = 2” in FIGS. 1 and 2) (f17).

【0042】加算回路ADDにより、アドレスポインタ
PNT1A、PNT1B、PNT1CおよびPNT1D
の各ポインタ値とΔnの値とがそれぞれ加算され、その
加算結果が各アドレスポインタPNT1A、PNT1
B、PNT1CおよびPNT1Dの新たなポインタ値と
なる。(f18)。
Address pointers PNT1A, PNT1B, PNT1C and PNT1D are added by the adder circuit ADD.
And the value of Δn are respectively added, and the addition result is obtained as the address pointers PNT1A and PNT1.
It becomes a new pointer value of B, PNT1C and PNT1D. (F18).

【0043】以後、nの値が“128”を越えるまでの
間、言い換えると「0≦t≦1」の条件が満たされてい
る間、上記と同様にしてf9〜f18のル―チンが繰り
返される。(f16)。このようにして順次近似曲線の
ドットQm(x、y)が定まり、これらの値は図8のよ
うにして順次RAM3に記憶される。なお、図1および
図2の例では第20番めのドットQ20を求める場合がf
12のル―チンに該当し、第17番めのドットQ17を求
める場合がf14のル―チンに該当する。
Thereafter, the routine of f9 to f18 is repeated in the same manner as described above until the value of n exceeds "128", in other words, while the condition of "0≤t≤1" is satisfied. Be done. (F16). In this way, the dots Qm (x, y) of the approximate curve are sequentially determined, and these values are sequentially stored in the RAM 3 as shown in FIG. In the example of FIGS. 1 and 2, the case where the 20th dot Q20 is obtained is f
This corresponds to the routine of 12 and the case of finding the 17th dot Q17 corresponds to the routine of f14.

【0044】以上のようにして、近似曲線におけるX−
Yマトリクスの交点の座標が順次求められる。
As described above, X- in the approximate curve
The coordinates of the intersection points of the Y matrix are sequentially obtained.

【0045】上記実施例において、f5のルーチンを行
った結果「t<1/128」となった場合、言い換える
と「n<1」となった場合には、“1/2サブスパン方
式”を用いて、以下のような処理を行えばよい(図9参
照)。まず、原曲線を二つのセグメントに分割し、各セ
グメントについて新たにアンカーポイントおよびコント
ロールポイントを定める。図9の例では、一方のセグメ
ントのアンカーポイントはPAおよびPE、コントロー
ルポイントはPFおよびPGであり、他方のセグメント
のアンカーポイントはPEおよびPD、コントロールポ
イントはPHおよびPIである。これらの新たなアンカ
ーポイントおよびコントロールポイントを用いて、各セ
グメントについて上記の方法と同様に処理を行う。そし
て、各セグメントについての処理結果を最終的に合成し
て、近似曲線におけるX−Yマトリクスの交点の座標を
定める。
In the above embodiment, when the result of performing the routine of f5 is "t <1/128", in other words, "n <1", the "1/2 subspan method" is used. Then, the following processing may be performed (see FIG. 9). First, the original curve is divided into two segments, and new anchor points and control points are defined for each segment. In the example of FIG. 9, the anchor points of one segment are PA and PE, the control points are PF and PG, the anchor points of the other segment are PE and PD, and the control points are PH and PI. Using these new anchor points and control points, each segment is processed in the same manner as the above method. Then, the processing results for each segment are finally combined to determine the coordinates of the intersection of the XY matrix in the approximate curve.

【0046】なお、上記実施例では“t”を128分割
してデータテーブルを構成したが、大きな座標データを
扱う場合には、分割数を256、512、……としてデ
ータテーブルを構成してもよい。なお、分割数の多いデ
―タテ―ブルを用いて小さな座標データを扱う場合に
は、図3に示した記憶回路MEM3に“±1”よりも大
きな値(例えば“±3”)を記憶しておけば、所定の条
件を満足する値への収束が早くなり、高速処理が可能と
なる。
Although the data table is constructed by dividing "t" into 128 in the above embodiment, the data table may be constructed with the number of divisions of 256, 512, ... When handling large coordinate data. Good. When handling small coordinate data using a data table having a large number of divisions, a value larger than "± 1" (for example, "± 3") is stored in the memory circuit MEM3 shown in FIG. If this is done, convergence to a value that satisfies a predetermined condition is accelerated, and high-speed processing is possible.

【0047】なお、本発明の概念は、以上説明した2次
元曲線のみならず、3次元曲線等にも適用可能である。
The concept of the present invention can be applied not only to the two-dimensional curve described above, but also to the three-dimensional curve.

【0048】[0048]

【発明の効果】本発明における曲線近似方法を用いるこ
とにより、処理時間が短く近似精度に優れた曲線近似が
可能となる。
By using the curve approximation method of the present invention, it is possible to perform curve approximation with a short processing time and excellent approximation accuracy.

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

【図1】本発明の実施例を示した説明図である。FIG. 1 is an explanatory diagram showing an embodiment of the present invention.

【図2】本発明の実施例を示した説明図である。FIG. 2 is an explanatory diagram showing an example of the present invention.

【図3】本発明の実施例を示したブロック図である。FIG. 3 is a block diagram showing an embodiment of the present invention.

【図4】本発明の実施例の動作を示したフロ―チャ―ト
である。
FIG. 4 is a flowchart showing the operation of the embodiment of the present invention.

【図5】実施例の一部を示した説明図である。FIG. 5 is an explanatory diagram showing a part of the embodiment.

【図6】実施例の一部を示した説明図である。FIG. 6 is an explanatory diagram showing a part of the embodiment.

【図7】実施例の一部を示した説明図である。FIG. 7 is an explanatory diagram showing a part of the embodiment.

【図8】実施例の一部を示した説明図である。FIG. 8 is an explanatory diagram showing a part of the embodiment.

【図9】実施例の一部を変更したときの説明図である。FIG. 9 is an explanatory diagram when a part of the embodiment is changed.

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 アンカーポイントおよびコントロールポ
イントを表す点“Pk ”(k=1、……、m)とパラメ
ータ“t”を用いて表されるパラメータ関数“Wk ”
(k=1、……、m)とにより、 と表された原曲線を、マトリクス状のドットを用いて近
似的に表現することにより、上記原曲線の近似曲線を表
現する方法において、 上記パラメ―タ“t”を用いて上記近似曲線上の一のド
ットの座標を求める第1過程と、 上記第1過程で用いたパラメ―タ“t”の値を変化させ
て上記原曲線上の座標を求める第2過程と、 上記第2過程で求めた原曲線上の座標に最も近い上記マ
トリクス状のドットの座標を求める第3過程と、 上記第1過程で求めた一のドットの座標と上記第3過程
で求めたドットの座標との間隔が、少なくとも一の軸方
向において1ドット離れかついずれの軸方法においても
2ドット以上離れていない場合に、上記第3過程で求め
たドットの座標を上記一のドットの直後に続く上記近似
曲線上のドットとして定める第4過程とを有することを
特徴とする曲線近似方法。
1. A parameter function "Wk" represented by using a point "Pk" (k = 1, ..., M) representing an anchor point and a control point and a parameter "t".
With (k = 1, ..., m), In the method of expressing the approximated curve of the original curve by approximating the original curve expressed by using the matrix dot, the above-mentioned approximated curve is expressed by using the parameter “t”. The first step for obtaining the coordinates of one dot, the second step for obtaining the coordinates on the original curve by changing the value of the parameter "t" used in the first step, and the second step The third step of obtaining the coordinates of the matrix-like dots closest to the coordinates on the original curve, and the distance between the coordinates of one dot obtained in the first step and the coordinates of the dots obtained in the third step are , At least one dot in at least one axial direction and not more than two dots apart in any of the axial methods, the dot coordinates obtained in the third step are set on the approximate curve immediately after the one dot. Fourth as a dot And a curve approximation method.
【請求項2】 アンカーポイントおよびコントロールポ
イントを表す点“Pk ”(k=1、……、m)とパラメ
ータ“t”を用いて表されるパラメータ関数“Wk ”
(k=1、……、m)とにより、 と表された原曲線を、マトリクス状のドットを用いて近
似的に表現することにより、上記原曲線の近似曲線を表
現する方法において、 上記パラメ―タ“t”の変化範囲を複数の区間に分割し
て、各分割点毎に上記パラメ―タ“t”のパラメ―タ値
を定めておき、 上記パラメ―タ値を用いて上記近似曲線上の一のドット
の座標を求める第1過程と、 上記第1過程で用いた上記パラメ―タ値以外のパラメ―
タ値を用いて上記原曲線上の座標を求める第2過程と、 上記第2過程で求めた原曲線上の座標に最も近い上記マ
トリクス状のドットの座標を求める第3過程と、 上記第1過程で求めた一のドットの座標と上記第3過程
で求めたドットの座標との間隔が、少なくとも一の軸方
向において1ドット離れかついずれの軸方法においても
2ドット以上離れていない場合に、上記第3過程で求め
たドットの座標を上記一のドットの直後に続く上記近似
曲線上のドットとして定める第4過程とを有することを
特徴とする曲線近似方法。
2. A parameter function "Wk" represented by using a point "Pk" (k = 1, ..., M) representing an anchor point and a control point and a parameter "t".
With (k = 1, ..., m), In the method of expressing the approximated curve of the original curve by approximating the original curve expressed by using the matrix dots, the change range of the parameter “t” is divided into a plurality of sections. The first step of dividing and setting the parameter value of the parameter "t" for each division point and obtaining the coordinate of one dot on the approximate curve using the parameter value , Parameters other than the above parameter values used in the first process
The second step of obtaining the coordinates on the original curve using the data values, the third step of obtaining the coordinates of the matrix-like dots closest to the coordinates on the original curve obtained in the second step, and the first step. When the distance between the coordinates of one dot obtained in the process and the coordinates of the dot obtained in the third process is 1 dot apart in at least one axis direction and not more than 2 dots apart in any axis method, And a fourth step of determining the coordinates of the dot obtained in the third step as a dot on the approximate curve immediately following the one dot.
【請求項3】 アンカーポイントおよびコントロールポ
イントを表す点“Pk ”(k=1、……、m)とパラメ
ータ“t”を用いて表されるパラメータ関数“Wk ”
(k=1、……、m)とにより、 と表された原曲線を、マトリクス状のドットを用いて近
似的に表現することにより、上記原曲線の近似曲線を表
現する方法において、 上記パラメ―タ“t”を用いて上記近似曲線上の一のド
ットのXY座標を求める第1過程と、 上記第1過程で用いたパラメ―タ“t”の値を変化させ
て上記原曲線上のXY座標を求める第2過程と、 上記第2過程で求めた原曲線上のXY座標に最も近い上
記マトリクス状のドットのXY座標を求める第3過程
と、 上記第1過程で求めた一のドットのXY座標と上記第3
過程で求めたドットのXY座標との間隔が、「X軸方向
で0ドットかつY軸方向1ドット」または「X軸方向で
1ドットかつY軸方向0ドット」または「X軸方向で1
ドットかつY軸方向1ドット」離れている場合に、上記
第3過程で求めたドットのXY座標を上記一のドットの
直後に続く上記近似曲線上のドットとして定める第4過
程とを有することを特徴とする曲線近似方法。
3. A parameter function "Wk" represented by using a point "Pk" (k = 1, ..., M) representing an anchor point and a control point and a parameter "t".
With (k = 1, ..., m), In the method of expressing the approximated curve of the original curve by approximating the original curve expressed by using the matrix dot, the above-mentioned approximated curve is expressed by using the parameter “t”. A first step for obtaining the XY coordinates of one dot, a second step for obtaining the XY coordinates on the original curve by changing the value of the parameter "t" used in the first step, and the second step The third step of obtaining the XY coordinates of the matrix-like dots closest to the XY coordinates on the original curve obtained in step 3, and the XY coordinate of one dot obtained in the first step and the third step
The distance between the dot and the XY coordinates obtained in the process is “0 dot in the X-axis direction and 1 dot in the Y-axis direction” or “1 dot in the X-axis direction and 0 dot in the Y-axis direction” or “1 dot in the X-axis direction”.
A dot and one dot in the Y-axis direction ", a fourth step of defining the XY coordinates of the dot obtained in the third step as a dot on the approximate curve immediately after the one dot. Characteristic curve approximation method.
【請求項4】 アンカーポイントおよびコントロールポ
イントを表す点“Pk ”(k=1、……、m)とパラメ
ータ“t”を用いて表されるパラメータ関数“Wk ”
(k=1、……、m)とにより、 と表された原曲線を、マトリクス状のドットを用いて近
似的に表現することにより、上記原曲線の近似曲線を表
現する方法において、 上記パラメ―タ“t”の変化範囲を複数の区間に分割し
て、各分割点毎に上記パラメ―タ“t”のパラメ―タ値
を定めておき、 上記パラメ―タ値を用いて上記近似曲線上の一のドット
のXY座標を求める第1過程と、 上記第1過程で用いた上記パラメ―タ値以外のパラメ―
タ値を用いて上記原曲線上のXY座標を求める第2過程
と、 上記第2過程で求めた原曲線上のXY座標に最も近い上
記マトリクス状のドットのXY座標を求める第3過程
と、 上記第1過程で求めた一のドットのXY座標と上記第3
過程で求めたドットのXY座標との間隔が、「X軸方向
で0ドットかつY軸方向1ドット」または「X軸方向で
1ドットかつY軸方向0ドット」または「X軸方向で1
ドットかつY軸方向1ドット」離れている場合に、上記
第3過程で求めたドットのXY座標を上記一のドットの
直後に続く上記近似曲線上のドットとして定める第4過
程とを有することを特徴とする曲線近似方法。
4. A parameter function "Wk" represented by using a point "Pk" (k = 1, ..., M) representing an anchor point and a control point and a parameter "t".
With (k = 1, ..., m), In the method of expressing the approximated curve of the original curve by approximating the original curve expressed by using the matrix dots, the change range of the parameter “t” is divided into a plurality of sections. The first step of dividing and setting the parameter value of the parameter "t" for each division point and obtaining the XY coordinate of one dot on the approximate curve using the parameter value And parameters other than the above parameter values used in the first process
The second step of obtaining the XY coordinates on the original curve using the data, and the third step of obtaining the XY coordinates of the matrix-like dots closest to the XY coordinates on the original curve obtained in the second step. The XY coordinates of one dot obtained in the first process and the third coordinate
The distance between the dot and the XY coordinates obtained in the process is “0 dot in the X-axis direction and 1 dot in the Y-axis direction” or “1 dot in the X-axis direction and 0 dot in the Y-axis direction” or “1 dot in the X-axis direction”.
A dot and one dot in the Y-axis direction ", a fourth step of defining the XY coordinates of the dot obtained in the third step as a dot on the approximate curve immediately after the one dot. Characteristic curve approximation method.
JP3223836A 1991-09-04 1991-09-04 Curve approximation method Pending JPH0561982A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP3223836A JPH0561982A (en) 1991-09-04 1991-09-04 Curve approximation method
EP19920114542 EP0530661A3 (en) 1991-09-04 1992-08-26 Curve approximation method
US08/538,818 US5742751A (en) 1991-09-04 1995-10-31 Curve approximation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3223836A JPH0561982A (en) 1991-09-04 1991-09-04 Curve approximation method

Publications (1)

Publication Number Publication Date
JPH0561982A true JPH0561982A (en) 1993-03-12

Family

ID=16804485

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3223836A Pending JPH0561982A (en) 1991-09-04 1991-09-04 Curve approximation method

Country Status (1)

Country Link
JP (1) JPH0561982A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012003744A (en) * 2010-05-18 2012-01-05 Toyota Technical Development Corp Method for generating control factor identifying regression equation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6482282A (en) * 1987-09-25 1989-03-28 Toshiba Corp Cubic curve plotting system
JPH02168361A (en) * 1988-09-14 1990-06-28 Toshiba Corp Pattern data preparing device to prepare coordinates data and processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6482282A (en) * 1987-09-25 1989-03-28 Toshiba Corp Cubic curve plotting system
JPH02168361A (en) * 1988-09-14 1990-06-28 Toshiba Corp Pattern data preparing device to prepare coordinates data and processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012003744A (en) * 2010-05-18 2012-01-05 Toyota Technical Development Corp Method for generating control factor identifying regression equation

Similar Documents

Publication Publication Date Title
US5363479A (en) System and method for rendering bezier splines
US6317133B1 (en) Graphics processor with variable performance characteristics
US5222206A (en) Image color modification in a computer-aided design system
JPH08101922A (en) Picture editing and forming device and picture editing and forming method
US5844567A (en) Computer graphics system and method for texture mapping using triangular interpolation
JP2961121B2 (en) Curve approximation device
US5742751A (en) Curve approximation method
JP3985321B2 (en) Arithmetic apparatus and image processing apparatus
JPH0561982A (en) Curve approximation method
JPH0561981A (en) Curve approximation method
EP0494325B1 (en) Apparatus for editing and creating video image and method for editing and creating video image
US5430834A (en) Method and apparatus for storing and reproducing a curve
US6028969A (en) System and method of additive interpolation for affine transformations
US6388673B1 (en) Method and system for filter type approximation in computer graphics processing
JP3059739B2 (en) Information processing apparatus with curve drawing function and processing method
JP2522109B2 (en) Curve fitting method
US5341317A (en) Curvilinear approximation method
JP3280160B2 (en) Document processing apparatus and document processing method
JP2538645B2 (en) Curved line approximation device
US20030117399A1 (en) Image processing apparatus and method, storage medium, and program
JP3092132B2 (en) Graphic processing unit
JPH10207694A (en) Digital power arithmetic unit and graphics system using the same
JPH11328438A (en) Method and device for high-efficiency floating-point z buffering
JP2000090070A (en) Analytic result display method
JP3334989B2 (en) Figure creation apparatus and method