JPH04153695A - Curve approximating method - Google Patents

Curve approximating method

Info

Publication number
JPH04153695A
JPH04153695A JP2278101A JP27810190A JPH04153695A JP H04153695 A JPH04153695 A JP H04153695A JP 2278101 A JP2278101 A JP 2278101A JP 27810190 A JP27810190 A JP 27810190A JP H04153695 A JPH04153695 A JP H04153695A
Authority
JP
Japan
Prior art keywords
curve
data
value
values
stored
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.)
Granted
Application number
JP2278101A
Other languages
Japanese (ja)
Other versions
JP2522109B2 (en
Inventor
Shingo Takahashi
高橋 真悟
Yoshikazu Imanishi
今西 愛策
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 JP2278101A priority Critical patent/JP2522109B2/en
Publication of JPH04153695A publication Critical patent/JPH04153695A/en
Application granted granted Critical
Publication of JP2522109B2 publication Critical patent/JP2522109B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To shorten a time required to generate an outline font by storing values of parameter functions of a curve expression previously, and finding the value of the curve expression by using only a necessary number of parameter functions. CONSTITUTION:A microprocessor CPU 0 controls the whole hardware. Then a RAM 1 is stored previously with the values of parameters of the curve expression determined as to (n) parameter values of the curve expression. According to a curve to be represented, the value of the curve expression is found from the values of parameter functions as to only (m) (m<n) out of the (n) parameter values and division points determined corresponding to the (m) parameter values are connected by straight lines. Consequently, the time required to generate the outline font is shortened.

Description

【発明の詳細な説明】 [産業上の利用分野コ 本発明はアウトラインフォントにおける曲線の近似方法
に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a method of approximating a curve in an outline font.

[従来の技術] 文字や図形等の曲線を表す手段として、アウトラインフ
ォントを用いたものが近年急速に普及しつつある。
[Prior Art] In recent years, outline fonts have become rapidly popular as a means of representing curved lines in characters, figures, etc.

従来、アウトラインフォントにより実際に曲線を表示す
る場合には、隣接した分割点が同一点に縮退するまで曲
線を順次分割し、各分割点を直線で順次結んで曲線を近
似的に表していた。
Conventionally, when actually displaying a curve using an outline font, the curve is approximately represented by sequentially dividing the curve until adjacent dividing points degenerate to the same point, and sequentially connecting each dividing point with a straight line.

[解決しようとする課題] 上記従来の方法では、アウトラインフォントの曲線デー
タを生成するたびに多大な演算処理を必要とし、アウト
ラインフォントの生成に多大な時間を要するという問題
点があった。
[Problems to be Solved] The conventional method described above has the problem that a large amount of calculation processing is required each time curve data of an outline font is generated, and it takes a large amount of time to generate an outline font.

本発明の目的は、アウトラインフォントの生成に要する
時間を短縮することである。
An object of the present invention is to reduce the time required to generate outline fonts.

[課題を解決するための手段] 本発明は、二つのアンカーポイントと少なくとも一つの
コントロールポイントとを用いてパラメトリック表現さ
れた曲線式に基いて曲線を表し、この曲線を複数の部分
に分割して互いに隣り合った分割点を直線で結び、曲線
を近似的に表す方法において、曲線式のn個のパラメー
タ値についてそれぞれ定まる曲線式のパラメータ関数の
値を予め記憶しておき、表現しようとする曲線に応じて
、n個のパラメータ値のうちm個(m < n )につ
いてのみ、パラン〜り関数の値に基いて曲線式の値を求
め、m個のパラメータ値に対応して定まる分割点を直線
で結ぶものである。
[Means for Solving the Problems] The present invention represents a curve based on a parametric curve formula using two anchor points and at least one control point, and divides this curve into a plurality of parts. In a method of approximately representing a curve by connecting adjacent dividing points with straight lines, the values of the parameter functions of the curve formula that are determined for each of the n parameter values of the curve formula are stored in advance, and the curve to be expressed is Accordingly, the values of the curve formula are determined based on the values of the Paran-Ri function only for m of the n parameter values (m < n), and the dividing points determined corresponding to the m parameter values are determined. It is connected with a straight line.

E実施例] 以下、添付図面を参照して本発明の詳細な説明をする。E Example] Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

以下に示す実施例では、特に断らない限り、アウトライ
ンフォントを表現する曲線には3次ベジェ曲線や3次ス
プライン曲線等の3次曲線を用いるものとする。これら
の曲線をパラメトリック表現すると以下のようになる。
In the embodiments described below, unless otherwise specified, cubic curves such as cubic Bezier curves and cubic spline curves are used as curves representing outline fonts. Parametric representation of these curves is as follows.

Q −W A x P A + W B x P B十
WCxPC+WDxPD−CI) ここで、WA、WB、WCおよびWDはパラメタ“t″
を用いて表される関数であり、例えば3次ヘジエ曲線の
場合には以下のようになる。
Q - W A x P A + W B x P B + WC x PC + WD x PD - CI) Here, WA, WB, WC and WD are the parameters "t"
For example, in the case of a cubic Hezier curve, it is expressed as follows.

WA= (1−t) 3   −(2a)WB−3t 
  (1−t)2・・・(2b)WC−3t    (
1−t)・・・(2C)WD−t”         
 ・・ (2d)(0≦t≦1) PASPBSPCおよびPDは曲線の形状を決定するX
−Y平面上の座標であり、それぞれ以下の通りである。
WA= (1-t) 3-(2a) WB-3t
(1-t)2...(2b)WC-3t (
1-t)...(2C)WD-t"
... (2d) (0≦t≦1) PASPBSPC and PD determine the shape of the curve
-The coordinates on the Y plane are as follows.

PA (x、y):アンカーポイント PB (x、y):コントロールポイントPC(x、y
):コントロールポイントPD (x、y):アンカー
ポイント ここで(1)式について考えると、パラメータ関数WA
、WB、WCおよびWDは例えば(2a)〜(2d)式
で示されるように3次曲線の種類によって一義的に決ま
るものてあり、PA、PB。
PA (x, y): Anchor point PB (x, y): Control point PC (x, y
): Control point PD (x, y): Anchor point Here, considering equation (1), the parameter function WA
, WB, WC, and WD are uniquely determined by the type of cubic curve, for example, as shown in equations (2a) to (2d), and PA, PB.

PCおよびPDは曲線の形状に応して予め決められてい
るものである。従って、パラメータ関数WA、WB、W
CおよびWDについては、第5図に示すようにパラメー
タ“t”を細分化し、各tの値に対応して予めWA、W
B、WCおよびWDの値を計算して、その計算結果をデ
ータテーブルに記憶しておくことかてきる。PASPB
SPCおよびPDについても、予めその座標(x、y)
をデータテーブルに記憶しておくことかできる。このよ
うにしてデータテーブルに各データを記憶しておき、マ
ルチプライアおよびアダーを用いて(1)式に基いたハ
ードウェア計算をすれば、高速に曲線データを生成する
ことができる。すなわち、第5図に示すようにt (0
≦t≦1)を256分割して、各を毎に予めパラメータ
関数WA。
PC and PD are predetermined according to the shape of the curve. Therefore, the parameter functions WA, WB, W
Regarding C and WD, the parameter "t" is subdivided as shown in FIG.
It is possible to calculate the values of B, WC and WD and store the calculation results in a data table. PASPB
The coordinates (x, y) of SPC and PD are also set in advance.
can be stored in a data table. By storing each data in the data table in this way and performing hardware calculation based on equation (1) using a multiplier and an adder, curve data can be generated at high speed. That is, as shown in FIG. 5, t (0
≦t≦1) is divided into 256 parts, and a parameter function WA is applied to each part in advance.

WB、WCおよびWDを求めておき、(1)式に基いた
ハードウェア計算をすれば、合計257点の曲線上の座
標を求めることかできる。そしてこれらの座標を順次直
線で結べば曲線を近似表現することかできる。
By determining WB, WC, and WD and performing hardware calculations based on equation (1), it is possible to determine the coordinates of a total of 257 points on the curve. By sequentially connecting these coordinates with straight lines, a curve can be approximated.

ところで、上記の例でいえば曲線を256分割して近似
表現することになるか、例えば曲率の小さな曲線では、
それほど分割数を多くしなくても十分粘度のよい近似曲
線を表すことかできる。このことを第3図、第4図(A
)および第4図(B)を用いて以下に説明する。第3図
に示した曲線は、合計14の小曲線01〜C14で構成
されている。
By the way, in the above example, the curve would be divided into 256 parts to approximate it. For example, for a curve with a small curvature,
It is possible to express an approximate curve with sufficient viscosity without increasing the number of divisions. This is illustrated in Figures 3 and 4 (A
) and FIG. 4(B). The curve shown in FIG. 3 is composed of a total of 14 small curves 01 to C14.

すなわち、各小曲線C1〜C14は、それぞれ異なった
アンカーポイントおよびコントロールポイントを用いて
、それぞれ(1)式で表されることになる。第4図(A
)および第4図(B)は、第3図に示した小曲線C1お
よびC2をそれぞれ示したものである。小曲線C1は第
4図(A)に示すように16分割され、小曲線C1上の
17点QO20〜Q O,16で近似表現される。従っ
て第5図の例でいえば、n=0.16.32、・・・・
・・・・・ 256というように、nを16ステツプ(
256/16−16)ずつ増加させて、これらのnに対
してだけ計算を行えばよい。小曲線C2は第4図(B)
に示すように32分割され、小曲線C2上の33点QO
10〜Q O,32で近似表現される。従って5図の例
では、n−0,8,161,、−・・・ 256という
ように、nを8ステツプ(256/32−8)ずつ増加
させて、これらのnに対してだけ計算を行えばよい。こ
のように、曲線に応じて適当な分割数を予め求めておき
、その分の計算だけを行えば、ハードウェア計算をより
高速化することか可能である。なお、分割数を求める具
体的な方法に関しては後述する。
That is, each of the small curves C1 to C14 is expressed by equation (1) using different anchor points and control points. Figure 4 (A
) and FIG. 4(B) show the small curves C1 and C2 shown in FIG. 3, respectively. The small curve C1 is divided into 16 parts as shown in FIG. 4(A), and approximately represented by 17 points QO20 to QO,16 on the small curve C1. Therefore, in the example of Figure 5, n=0.16.32,...
・・・・・・ Set n by 16 steps (such as 256)
256/16-16) and perform calculations only for these n. The small curve C2 is shown in Figure 4 (B)
The QO is divided into 32 parts as shown in 33 points on the small curve C2.
Approximately expressed as 10 to Q O, 32. Therefore, in the example in Figure 5, increase n by 8 steps (256/32-8), such as n-0, 8, 161, -... 256, and calculate only for these n. Just go. In this way, by determining an appropriate number of divisions in advance according to the curve and performing only the calculations for that number, it is possible to further speed up the hardware calculations. Note that a specific method for determining the number of divisions will be described later.

以上述べたことを参考にして、第3図に示した曲線の近
似方法について以下説明する。
With reference to the above, a method of approximating the curve shown in FIG. 3 will be described below.

第1図は、第3図に示した曲線を近似表現するときに用
いるハードウェアを示したブロック図である。
FIG. 1 is a block diagram showing hardware used to approximate the curve shown in FIG. 3.

CPU0はマイクロプロセッサであり、l\−ドウエア
全体の制御を行うものである。
CPU0 is a microprocessor that controls the entire l\-ware.

ROM Oはリードオンリメモリであり、マイクロプロ
セッサCPU0が行う各種処理のプログラムを記憶して
おくものである。
ROM O is a read-only memory that stores programs for various processes performed by the microprocessor CPU0.

RA M Oはランダムアクセスメモリであり、後述の
各データを予め記憶しておくものである。RA M O
には、3次ベジェ曲線に関するデータのほかに3次スプ
ライン曲線に関するデータ等、各種の曲線に関するデー
タが記憶されており、これらのデータは必要に応じて後
述のRAMI、RAM2およびRAM3に送られる。
RAM O is a random access memory, and stores various data described below in advance. R.A.M.O.
stores data related to various curves, such as data related to cubic spline curves in addition to data related to cubic Bezier curves, and these data are sent to RAMI, RAM2, and RAM3, which will be described later, as necessary.

RA Mlはランダムアクセスメモリであり、第5図に
示したパラメータ関数WA、WB、WCおよびWDの各
値を記憶するものである。これらのデータWAO〜WA
25B 、WBO〜W825B、WCO〜WC25G 
、WDO〜W D 258はRA M Oから送られて
くるものであり、第6図に示すようにしてRA M l
内に記憶される。
RAM M1 is a random access memory that stores the values of the parameter functions WA, WB, WC, and WD shown in FIG. These data WAO~WA
25B, WBO~W825B, WCO~WC25G
, WDO to WD 258 are sent from RAM O, and are sent from RAM I as shown in FIG.
stored within.

RAM2はランダムアクセスメモリであり、第3図に示
した各小曲線C1〜C14毎に、アンカポイントPAお
よびPD、コントロールポイントPBおよびPCの各座
標データを記憶するものである。これらの各座標データ
はRAM0から送られてくるしのであり、第7図に示す
ようにしてRA Nl 2内に記憶される。第7図にお
いて、PAXO〜PDXOは小曲線C1におけるアンカ
ーポイントおよびコントロールポイントの各X座標、P
 A Y O〜PDYOはこれらのポイントの各X座標
、FAXI〜PDX 1は小曲線C2におけるこれらの
ポイントの各X座標、PAYI〜PDYIはこれらのポ
イントの各X座標である。
RAM2 is a random access memory, and stores coordinate data of anchor points PA and PD, control points PB and PC for each of the small curves C1 to C14 shown in FIG. Each of these coordinate data is sent from RAM0 and is stored in RA Nl 2 as shown in FIG. In Fig. 7, PAXO to PDXO are the respective X coordinates of the anchor point and control point in the small curve C1, P
AYO to PDYO are the respective X coordinates of these points, FAXI to PDX1 are the respective X coordinates of these points in the small curve C2, and PAYI to PDYI are the respective X coordinates of these points.

RA M 3はランダムアクセスメモリであり、第3図
に示した各小曲線C1〜C14の分割数に対応したデー
タを、各小曲線C1〜C14毎に予め記憶しておくもの
である。分割数に対応したデータとしては、分割数その
ものでもよいし、第5図に示したnのステップ数でもよ
い。本実施例においては、ランダムアクセスメモリRA
M3には、第8図に示すように、nのステップ数すなわ
ちnの増加分Δnが記憶される。第8図において、Δn
1、Δn2、・・・・・・・・・は、第3図に示した小
曲線C1、C2、・・・・・・・・にそれぞれ対応して
記憶されたステップ数である。これらのデータΔn1、
Δn2、・・・・・は、RAM0から送られてくるもの
であり、第8図に示すようにしてRAMB内に記憶され
る。
RAM 3 is a random access memory that stores in advance data corresponding to the number of divisions of each of the short curves C1 to C14 shown in FIG. 3 for each of the short curves C1 to C14. The data corresponding to the number of divisions may be the number of divisions itself or the number of steps n shown in FIG. In this embodiment, random access memory RA
As shown in FIG. 8, M3 stores the number of steps n, that is, the increment Δn of n. In FIG. 8, Δn
1, Δn2, . . . are the numbers of steps stored corresponding to the small curves C1, C2, . . . shown in FIG. 3, respectively. These data Δn1,
.DELTA.n2, . . . are sent from RAM0 and are stored in RAMB as shown in FIG.

RA kl 4はランダムアクセスメモリであり、(1
)式に基いて行われたハードウェア計算の結末、占い換
えると各小曲線C1〜C14上の座標データQ (x、
y)を記憶するものである。これらの座標データQ(x
、y)は、第9図に示すようにしてRA M 4に記憶
される。第゛9図において、データX010〜XO,1
6およびYO10〜YO,leは、第4図(A)の小曲
線C1上の点Q O,0〜Q0,1BのそれぞれXおよ
びX座標であり、データX 1,0〜X 1,32およ
びYl、0〜Yl、32は、第4図(B)の小曲線C2
上の点Q 1.0〜Q 1,32のそれぞれXおよびX
座標である。
RA kl 4 is random access memory, (1
) The result of the hardware calculation based on the formula is the coordinate data Q (x,
y). These coordinate data Q(x
, y) are stored in RAM 4 as shown in FIG. In FIG. 9, data X010 to XO,1
6 and YO10 to YO,le are the X and X coordinates of points QO,0 to Q0,1B on the small curve C1 in FIG. 4(A), respectively, and the data X1,0 to X1,32 and Yl, 0 to Yl, 32 are the small curve C2 in FIG. 4(B)
X and X of the upper points Q 1.0 to Q 1, 32, respectively
It is a coordinate.

PNTIはRAM1のアドレスポインタであり、独立の
アドレスポインタPNTIA%PNTIB。
PNTI is an address pointer for RAM1, and an independent address pointer PNTIA%PNTIB.

PNTICおよびPNTIDによって構成されている。It is composed of PNTIC and PNTID.

PNTIASPNTIB、PNTICおよびPNTID
は、RAMIに記憶されているデータWAO〜WA25
B 、WBO〜W825B 、WCO〜WC256、W
DO〜WD25B  (第6図参照)のアドレスをそれ
ぞれ指定するものである。
PNTIASPNTIB, PNTIC and PNTID
is the data WAO to WA25 stored in RAMI
B, WBO~W825B, WCO~WC256, W
It specifies the addresses of DO to WD25B (see FIG. 6), respectively.

PNT2はRAM2のアドレスポインタであり、RA 
M2に記憶されているアンカーポイントおよびコントロ
ールポイントの各座標データ(第7図参照)のアドレス
を指定するものである。
PNT2 is the address pointer of RAM2, and RA
This designates the address of each coordinate data (see FIG. 7) of the anchor point and control point stored in M2.

PNT3はRAM3のアドレスポインタであり、RAM
3に記憶されているステップ数Δn1、Δn2、・・・
・・・・・・(第8図参照)のアドレスを指定するもの
である。
PNT3 is the address pointer of RAM3,
The number of steps Δn1, Δn2, . . .
. . . (see FIG. 8).

PNT4はRAM4のアドレスポインタであり、ハード
ウェア計算によって得られる座標データXO20〜X 
O,16およびYO10〜Y0,16等(第9図参照)
のアドレスを指定するものである。
PNT4 is an address pointer of RAM4, and coordinate data XO20~X obtained by hardware calculation
O, 16 and YO10 to Y0, 16, etc. (see Figure 9)
This specifies the address of .

STPはラッチ回路であり、RAM3に記憶されている
ス゛テップ数Δn1、Δn2、・・・・・・・・・(第
8図参照)をラッチするものである。
STP is a latch circuit that latches the number of steps Δn1, Δn2, . . . (see FIG. 8) stored in the RAM 3.

ADDはアダー回路であり、現在選択されているアドレ
スポインタ(PNTIASPNTIB。
ADD is an adder circuit, which indicates the currently selected address pointer (PNTIASPNTIB.

PNT I CまたはPNTID)の値とラッチ回路S
TPの値とを加算し、その加算結果を現在選択されてい
るアドレスポインタに送るものである。
PNTIC or PNTID) value and latch circuit S
TP value and sends the addition result to the currently selected address pointer.

つまり、アドレスポインタの値をラッチ回路STPにラ
ッチされているステップ数Δn1、Δn2、・・・・・
・・・たけ増加する役割を果すことになる。
In other words, the number of steps Δn1, Δn2, etc. in which the value of the address pointer is latched in the latch circuit STP
...It will play a role of increasing the number of people.

M L Tはマルチプライア回路であり、第6図に示す
RA M 1に記憶されているデータと第7図に示すR
A M 2に記憶されているデータとの乗算を行うもの
である。つまり、(1)式における乗算(例えば、WA
XPA)部分の演算をを行うことになる。
MLT is a multiplier circuit that combines the data stored in RAM 1 shown in FIG. 6 and R shown in FIG.
This is to perform multiplication with the data stored in A M2. In other words, the multiplication in equation (1) (for example, WA
XPA) part will be calculated.

ALUは算術論理回路であり、マルチプライア回路ML
Tの乗算値と後述のアキュムレータACCの値とを加算
するものである。
ALU is an arithmetic logic circuit, and multiplier circuit ML
This is to add the multiplied value of T and the value of an accumulator ACC, which will be described later.

ACCはアキュムレータであり、算術論理回路ALUの
演算結果を保持するとともに、この演算結果を算術論理
回路ALUの一方の入力に送出するものである。つまり
、算術論理回路ALUとアキュムレ〜りACCとにより
、(1)式における加算部分の演算を行うことになる。
ACC is an accumulator that holds the operation result of the arithmetic logic circuit ALU and sends this operation result to one input of the arithmetic logic circuit ALU. In other words, the arithmetic logic circuit ALU and the accumulator ACC perform the calculation of the addition part in equation (1).

C0NTはコントロール回路であり、マイクロプロセッ
サCPU0からの命令を受けて上記各演算処理の制御を
行うものである。このコントロル回路C0NTには、上
記各演算処理に対するマイクロプログラムが含まれてい
る。
C0NT is a control circuit that receives instructions from the microprocessor CPU0 and controls each of the arithmetic operations described above. This control circuit C0NT includes microprograms for each of the arithmetic operations described above.

つぎに、第2図(A)、(B)および(C)に示したフ
ローチャートを参考にして、第1図に示した回路の動作
について説明する。
Next, the operation of the circuit shown in FIG. 1 will be explained with reference to the flowcharts shown in FIGS. 2(A), (B), and (C).

まず、マイクロプロセサCPU0からの信号に基いて初
期設定が行なわれる。
First, initial settings are performed based on a signal from the microprocessor CPU0.

(a):RAM0からRAMIには、第5図に示したパ
ラメータ関数WASWB、WCおよびWDの各tに対応
したデータが送られ、これらのデータは第6図に示すよ
うにしてRAM1内に記憶される。RAM0からRAM
2には、第3図に示した各小曲線01〜C14毎に、ア
ンカーポイントおよびコントロールポイントの各座標デ
ータが送られ、これらのデータは第7図に示すようにし
てRA M 2内(こJ己憶される。RA M Oから
RAM3には、第3図に示した各小曲線C1〜C14の
各分割数に対応して、各小曲線C1〜C14毎のステッ
プ数データΔn1、Δn2、・ ・・・・が送られ、こ
れらのデータは第8図に示すようにしてRA M B内
(二S己憶される。
(a): Data corresponding to each t of the parameter functions WASWB, WC, and WD shown in Fig. 5 is sent from RAM0 to RAMI, and these data are stored in RAM1 as shown in Fig. 6. be done. RAM0 to RAM
2, coordinate data of anchor points and control points are sent for each of the small curves 01 to C14 shown in FIG. 3, and these data are stored in RAM 2 (this The step number data Δn1, Δn2, and Δn2 for each of the small curves C1 to C14 are stored in RAM O to RAM3, corresponding to the number of divisions of each of the small curves C1 to C14 shown in FIG. . . . are sent, and these data are stored in RAM B (2S) as shown in FIG.

(b)、アドレスポインタPNT2、PNT3、PNT
4かそれぞれ“0°に設定される。その結果、第7図に
示すデータPAXOがfclされているアドレス、第8
図に示すデータΔn1が記憶されているアドレス、第9
図に示すデータX0.0を記憶するアドレスが、それぞ
れ指定されるわけである。
(b), address pointers PNT2, PNT3, PNT
As a result, the address where the data PAXO shown in FIG.
The address where the data Δn1 shown in the figure is stored is the 9th address.
The addresses for storing the data X0.0 shown in the figure are each designated.

以上のようにして初期設定が終了し、つぎに第3図およ
び第4図(A)で示す小曲線C1に対する演算処理が行
われる。
Initial settings are completed as described above, and then calculation processing is performed on the short curve C1 shown in FIGS. 3 and 4 (A).

(C)ニアドレスポインタPNTIAには“Oが、アド
レスポインタPNTIBには“257”か、アドレスポ
インタPNT I Cには“514”か、アドレスポイ
ンタPNTIDには“771”か、それぞれ設定される
。すなわち、第6図に示すように、データWAOSWB
OSWCOおよびWDOか記憶されているアドレスがそ
れぞれ指定されるわけである。ラッチ回路STPには、
アドレスポインタPNT3で指定されるRAM3のアド
レス“0000“に記憶されているデータM [PNT
3]がラッチされる。つまり、第8図に示すステップ数
Δnl(第4図(A)に示す小曲線C1の分割数に対応
したステップ数“16”)がラッチされることになる。
(C) Near address pointer PNTIA is set to "O," address pointer PNTIB is set to "257," address pointer PNTIC is set to "514," and address pointer PNTID is set to "771." That is, as shown in FIG.
The addresses where OSWCO and WDO are stored are respectively specified. The latch circuit STP has
Data M [PNT
3] is latched. That is, the number of steps Δnl shown in FIG. 8 (the number of steps "16" corresponding to the number of divisions of the short curve C1 shown in FIG. 4(A)) is latched.

(d):つぎに、第2図(B)に示す計算ルーチンが以
下のようにして行われる。
(d): Next, the calculation routine shown in FIG. 2(B) is performed as follows.

まず、第4図(A)に示した点QO10のX座標を求め
るために、(1)式の“WAXPA+WBxPB+WC
xPC+WDxPD”の値が以下のようにして計算され
る。
First, in order to find the X coordinate of point QO10 shown in FIG. 4(A),
xPC+WDxPD” is calculated as follows.

(dl):アキュムレータACCかクリアされ、“0″
かセットされる。
(dl): Accumulator ACC is cleared and “0”
or is set.

(d2)ニアドレスポインタPNTIAで指定されるR
AMIのアドレス°0000”に記憶されているデータ
M [PNTIA]すなわち“WAO″(第6図参照)
か、マルチプライア回路MLTの“X”人力に送られる
。アドレスポインタPNT2で指定されるRAM2のア
ドレス“0000”に記憶されているデータM [PN
T2]すなわちPAXO” (第7図参照)が、マルチ
プライア回路M L Tの“Y”入力に送られる。
(d2) R specified by near address pointer PNTIA
Data M [PNTIA] or “WAO” stored at address “0000” of AMI (see Figure 6)
Or it is sent to the “X” power of the multiplier circuit MLT. Data M [PN
T2] or PAXO” (see FIG. 7) is sent to the “Y” input of the multiplier circuit MLT.

(d3):第2図(C)に示す積和計算が以下のように
して行われる。
(d3): The product-sum calculation shown in FIG. 2(C) is performed as follows.

(dlol):マルチプライア回路MLTの“X″人力
値“WAO”と“Y′大入力値“PAXOoの積“WA
OXPAXO”が、マルチプライア回路MLTの“Z”
に出力される。すなわち(1)式の“WA x P A
”に相当する計算が行われる。この計算結果は算術論理
回路ALUの“71人力に送られ、一方アキュムレータ
ACCのデータ“0”が算術論理回路ALUの“X°大
入力送られる。
(dlol): Multiplier circuit MLT's “X” human power value “WAO” and “Y′ large input value “PAXOo” product “WA”
OXPAXO” is “Z” of the multiplier circuit MLT
is output to. In other words, “WA x P A in equation (1)
A calculation corresponding to `` is performed.The calculation result is sent to the ``71 input'' of the arithmetic logic circuit ALU, while data ``0'' of the accumulator ACC is sent to the ``X° large input'' of the arithmetic logic circuit ALU.

(d]02)・算術論理回路ALUの“X゛人力値と算
術論理回路ALUの“Y”人力の値との和が計算され、
この計算結果がアキュムレータACCに送られる。その
結果、アキュムレータACCには“WAOxPAXO”
の値か保持されることになる。
(d]02) - The sum of the "X" human power value of the arithmetic logic circuit ALU and the "Y" human power value of the arithmetic logic circuit ALU is calculated,
This calculation result is sent to accumulator ACC. As a result, “WAOxPAXO” is stored in accumulator ACC.
The value will be retained.

(d103)  アドレスポインタPNT2の値に“1
”か加算され、その結果ポインタ値が“0001°とな
る。
(d103) The value of address pointer PNT2 is “1”.
” is added, and as a result, the pointer value becomes “0001°”.

(d4)ニアドレスポインタPNTIBで指定されるR
 A M 1のアドレス“0257”に記憶されている
データM[PNTIBコすなわち“WBO”(第6図参
照)が、マルチプライア回路MLTの″X′入力に送ら
れる。アドレスポインタPNT2て指定されるR A 
M 2のアドレス“0001”に記憶されているデータ
M [PNT2]すなわち“PBXO” (第7 図”
J照)が、マルチプライア回路M L Tの“Y′人力
に送られる。
(d4) R specified by near address pointer PNTIB
The data M[PNTIB, that is, "WBO" (see FIG. 6) stored at address "0257" of A M1 is sent to the "X' input of the multiplier circuit MLT. It is designated by the address pointer PNT2. R A
Data M[PNT2] stored at address “0001” of M2, that is, “PBXO” (Fig. 7)
J light) is sent to the "Y" power of the multiplier circuit MLT.

(d5):第2図(C)に示す積和計算が行われる。基
本的な動作は上記(d3)で述べたちのと同様である。
(d5): The product-sum calculation shown in FIG. 2(C) is performed. The basic operation is the same as described in (d3) above.

マルチプライア回路MLTでは、第6図に示した“WB
Ooと第7図に示した“PBXO“との積“WBOxP
BXO”、すなわち(])式の“WB X P B”に
相当する計算が行われる。算術論理回路ALUでは、こ
の計算結果“WBOXPBXO”とアキュムレータAC
Cに保持されている値“WAOXPAXO”との和が計
算される。この計算結果“W A Ox P A X 
O+WBOxPBXO”はアキュムレータACCに保持
される。すなわち、ここでは(1)式の“WAxPA+
WBXPB”に相当する計算が行われるわけである。
In the multiplier circuit MLT, “WB” shown in FIG.
The product “WBOxP” of Oo and “PBXO” shown in Figure 7
BXO", that is, the calculation corresponding to "WB
The sum with the value "WAOXPAXO" held in C is calculated. This calculation result “W A Ox P A
O+WBOxPBXO” is held in the accumulator ACC.In other words, “WAxPA+” in equation (1) is
A calculation corresponding to "WBXPB" is performed.

(d6)ニアドレスポインタPNTICで指定されるR
AMIのアドレス“0514°に記憶されているデータ
M[PNTICコすなわち“WCO”(第6図参照)が
、マルチプライア回路MLTの“X”入力に送られる。
(d6) R specified by near address pointer PNTIC
The data M[PNTIC or "WCO" (see FIG. 6) stored at address "0514°" of AMI is sent to the "X" input of the multiplier circuit MLT.

アドレスポインタPNT2で指定されるR A M2の
アドレス” 0002”に記憶されているデータM [
PNT2]すなわち“PCXO”  (第7図参照)が
、マルチプライア回路MLTの“Y”入力に送られる。
Data M[ stored at address "0002" of RAM2 specified by address pointer PNT2
PNT2] or "PCXO" (see FIG. 7) is sent to the "Y" input of the multiplier circuit MLT.

(d7):第2図(C)に示す積和計算か行われる。基
本的な動作は上記(d3)で述べたものと同様である。
(d7): The product-sum calculation shown in FIG. 2(C) is performed. The basic operation is the same as that described in (d3) above.

マルチプライア回路MLTでは、第6図に示した“WC
O“と第7図に示した“Pcxo”との積“WCOxP
CXO” 、すなわち(1)式の“wc x p c”
に相当する計算か行われる。算術論理回路ALUでは、
この計算結果“wcoxpcxo”とアキュムレータA
CCに保持されている値“WAOxPAXO+WBOx
PBXO“との和が計算される。この計算結果“WAO
XPAXO+WBOXPBXO+WCOxPcXO°は
アキュムレータACCに保持される。すなわち、ここで
は(1)式の“WAXPA+WBxPB十WCxPC”
に相当する計算が行われるわけである。
In the multiplier circuit MLT, “WC
The product “WCOxP” of “O” and “Pcxo” shown in FIG.
CXO”, that is, “wc x p c” in equation (1)
A calculation corresponding to is performed. In the arithmetic logic circuit ALU,
This calculation result “wcoxpcxo” and accumulator A
The value held in CC “WAOxPAXO+WBOx
PBXO” is calculated.The result of this calculation is “WAO
XPAXO+WBOXPBXO+WCOxPcXO° is held in accumulator ACC. That is, here, "WAXPA + WBxPB + WCxPC" in equation (1)
A calculation corresponding to is performed.

(d8)ニアドレスポインタPNTIDで指定されるR
AMIのアドレス“0771”に記憶されているデータ
M [PNTID]すなわちWDO”(第6図参照)が
、マルチプライア回路M L Tの“X°大入力送られ
る。アドレスポインタPNT2て指定されるRAM2の
アドレス“0(103“に記憶されているデータM [
PNT2]すなわち“PDXO”  (第7図参照)か
、マルチプライア回路MLTの“Y′大入力送られる。
(d8) R specified by near address pointer PNTID
Data M[PNTID], ie, WDO" (see FIG. 6) stored at address "0771" of AMI is sent to the "X° large input" of multiplier circuit MLT. Data M[ stored at address “0 (103”) of RAM2 specified by address pointer PNT2
PNT2], that is, "PDXO" (see FIG. 7), or the "Y" large input of the multiplier circuit MLT.

(d9):第2図(C)に示す積和計算か行われる。基
本的な動作は上記(d3)で述べたものと同様である。
(d9): The product-sum calculation shown in FIG. 2(C) is performed. The basic operation is the same as that described in (d3) above.

マルチプライア回路MLTては、第6図に示した“WD
O”と第7図に示した“PDXO“との積“WDOxP
DXO”、すなわち(1)式の“WDxPD“に相当す
る計算が行われる。算術論理回路ALUでは、この計算
結果″WDOxPDXO°とアキュムレータACCに保
持されている値“W A Ox P A X O+W 
B OXPBXO+WCOxPCXO″との和が計算さ
れる。この計算結果“W A OX P A X O+
 W B OxP B X O+ W COx P C
X O+ W D Ox P D X O。
The multiplier circuit MLT is the “WD” shown in FIG.
The product “WDOxP” of “O” and “PDXO” shown in FIG.
DXO", that is, the calculation corresponding to "WDxPD" in equation (1) is performed. In the arithmetic logic circuit ALU, this calculation result "WDOxPDXO° and the value held in the accumulator ACC "W A Ox P A X O + W
The sum of “B OXPBXO+WCOxPCXO” is calculated.The result of this calculation is “W A OX P A X O+
W B OxP B X O+ W COx P C
X O+ W D Ox P D X O.

はアキュムレータACCに保持される。すなわち、こコ
では(1)式(7)−WAXPA+WBXPB+WCx
PC+WDXPD°に相当する計算が行ゎれるわけであ
る。
is held in accumulator ACC. That is, here, equation (1) (7) - WAXPA + WBXPB + WCx
A calculation equivalent to PC+WDXPD° can be performed.

(dlO):以上のようにして、第4図(A)に示した
点QO10のX座標か計算されるわけである。アキュム
レータACCに保持さている上記計算結果は、アドレス
ポインタPNT4て指定されるR A M 4のアドレ
ス“0000″に記憶される。この記憶データM[PN
T4]は、第9図においてX010°と表される。
(dlO): In the above manner, the X coordinate of the point QO10 shown in FIG. 4(A) is calculated. The above calculation result held in the accumulator ACC is stored at address "0000" of RAM 4 designated by address pointer PNT4. This stored data M[PN
T4] is represented as X010° in FIG.

(dll)ニアドレスポインタPNT4の値に“1″が
加算され、その結果ポインタ値か“0001”となる。
(dll) "1" is added to the value of the near address pointer PNT4, and as a result, the pointer value becomes "0001".

(d 12)〜(d21):つぎに、第4図(A)に示
した点QO10のX座標を求めるために、上記(dl)
〜(d 10)の処理と同様にして、第2図(B)に示
した(d 12)〜(d21)の処理が行われる。得ら
れた計算結果“WAOxPAYO+ W B Ox P
 B Y O+ W COx P CY O+ W D
QxPDYOoは、アドレスポインタPNT4で指定さ
れるRAM4のアドレス“0001”に記憶される。こ
の記憶データM [PNT4]は、第9図において“Y
 O,0”と表される。
(d12) to (d21): Next, in order to find the X coordinate of point QO10 shown in FIG. 4(A), use the above (dl)
The processes (d12) to (d21) shown in FIG. 2(B) are performed in the same way as the processes (d10). The obtained calculation result “WAOxPAYO+W B Ox P
B Y O+ W COx P CY O+ W D
QxPDYOo is stored at address "0001" of RAM4 specified by address pointer PNT4. This stored data M [PNT4] is “Y” in FIG.
It is expressed as 0,0''.

(d22)、アドレスポインタPNT4の値に一1゛か
加算され、その結果ポインタ値か“0002″となる。
(d22), 11' is added to the value of the address pointer PNT4, and as a result, the pointer value becomes "0002".

Cd2B)ニアトレスポインタPNT2の値から8か減
算され、その結果ポインタ値が“oooo”となる。
Cd2B) 8 is subtracted from the value of the nearest pointer PNT2, and as a result, the pointer value becomes "oooo".

以上のようにして、第2図(A)に示すシ1−算ルチン
か終了し、第4図(A)に示す点Q O,0のX座標“
X010°およびX座標“yo、o”かRAM4に記憶
される(第9図参照)。
As described above, the calculation routine shown in FIG. 2(A) is completed, and the X coordinate of point Q O,0 shown in FIG. 4(A) is
X010° and the X coordinates "yo, o" are stored in the RAM 4 (see FIG. 9).

(e)ニアトレスポインタPNTIA、PNTIB、P
NTICおよびPNTIDの値に、ラッチ回路STPに
ラッチされているステップ数Δn1 (第4図(A)に
示す小曲線C1の分割数に対応したステップ数“16゛
)がそれぞれ加算される。従って、アドレスポインタP
NTIA、PNTIB、PNTICSPNTIDのポイ
ンタ値は、それそ゛れ“16“273° (257+1
6)、“530”  (514+16)、“787” 
 (771 + 16)となる。
(e) Nearest pointer PNTIA, PNTIB, P
The number of steps Δn1 (the number of steps "16" corresponding to the number of divisions of the small curve C1 shown in FIG. 4(A)) latched in the latch circuit STP is added to the values of NTIC and PNTID. Therefore, address pointer P
The pointer values of NTIA, PNTIB, PNTICSPNTID are “16”273° (257+1
6), “530” (514+16), “787”
(771 + 16).

(f)ニアドレスポインタPNTIAの値力&“256
′よりも大きいかどう力)II断される。
(f) Value of near address pointer PNTIA &“256
If the force is greater than ') II is cut off.

アドレスポインタPNTIAの現在値(よ“001B”
なので、計算ルーチン(d)に処理力・移り、上言己(
d)で述べた処理と同様の処理力・行われる。その結果
、第4図(A)に示す点QO11のX座標“X011“
およびX座標“YO21”力)RAM41こ記憶される
(第9図参照)。具体的なデータ番よ、“Xo、1′が
“WA16xPAXO+WB16XPBXO+WC16
xPCXO+WD16xPDxo”であり、“YQ、l
”が“WA16xPAYO+WB16XPBYO+WC
16XPCYO+WD16xPDYO”である(第6図
、第7図参照)。
The current value of address pointer PNTIA (yo “001B”)
Therefore, the processing power is transferred to the calculation routine (d), and the processing power is increased (
The same processing power as that described in d) is performed. As a result, the X coordinate of point QO11 shown in FIG. 4(A) is "X011".
and the X coordinate "YO21" force) are stored in the RAM 41 (see FIG. 9). The specific data number, “Xo, 1’ is “WA16xPAXO+WB16XPBXO+WC16
xPCXO+WD16xPDxo” and “YQ, l
” is “WA16xPAYO+WB16XPBYO+WC
16XPCYO+WD16xPDYO" (see FIGS. 6 and 7).

以上のようにして、アドレスポインタPNTIAの値か
256”よりも太くなるまで同様な処理が行われる。そ
の結果、第4図(A)(こ示す点Q Q、0〜Q O,
1BのX座標“xo、o ” 〜“Xo、16”および
X座標“Yo、0”〜“Y O,16”力曵、1@次R
AM4に記憶される(第9図参照)。
As described above, similar processing is performed until the value of the address pointer PNTIA becomes thicker than 256". As a result, as shown in FIG.
1B's X coordinates "xo, o" ~ "Xo, 16" and X coordinates "Yo, 0" ~ "Y O, 16" Force, 1@order R
AM4 (see FIG. 9).

(g)ニアドレスポインタPNTIAの値が“256“
よりも大きくなると、以下の処理か行なわれる。アドレ
スポインタPNT2の値に8が加算され、その結果ポイ
ンタ値が“0008”となる(第7図参照)。アドレス
ポインタPNT3の値に1が加算され、その結果ポイン
タ値か“0001”となる(第8図参照)。
(g) The value of near address pointer PNTIA is “256”
If the value is larger than , the following processing is performed. 8 is added to the value of address pointer PNT2, and as a result, the pointer value becomes "0008" (see FIG. 7). 1 is added to the value of address pointer PNT3, and as a result, the pointer value becomes "0001" (see FIG. 8).

以上のようにして、第3図および第4図(A)に示す小
曲線C1に対する処理か終了する。
In this manner, the processing for the short curve C1 shown in FIGS. 3 and 4(A) is completed.

(h)、アドレスポインタPNT3の値か“14′にな
ったかどうか判断される。この“14′という値は第3
図に示す曲線の分割数に相当するものであり、この値は
各曲線毎に適宜選定されているものである。
(h), it is determined whether the value of the address pointer PNT3 has become "14".This value "14" is the third
This corresponds to the number of divisions of the curve shown in the figure, and this value is appropriately selected for each curve.

アドレスポインタPNT3の現在値は“0001”なの
で、計算ルーチン(C)に処理が移り、上記(C)〜(
g)で述べた処理と同様の処理が行われる。その結果、
第4図(B)に示す点Q1,0〜Q 1,32のX座標
“Xl、0“〜“X 1.32”およびX座標−Yl、
(1′〜” Y 1,32”が、順次RA M4に記憶
される(第9図参照)。
Since the current value of address pointer PNT3 is "0001", processing moves to calculation routine (C), and the above (C) to (
Processing similar to that described in g) is performed. the result,
The X coordinates of points Q1,0 to Q1,32 shown in FIG. 4(B) are "Xl,0" to "X 1.32" and the
(1' to "Y1,32" are sequentially stored in the RAM 4 (see FIG. 9).

以上のようにして、アドレスポインタPNT3の値か”
14′になるまで、第3図に示す小曲線C〕〜C14に
対して同様な処理か行わる。アドレスポインタPN73
の値か“14′になると、第3図に示す小曲線C1〜C
14に対する処理力・終了したと判断される。
As above, the value of address pointer PNT3 is determined.
The same process is performed for the small curves C] to C14 shown in FIG. 3 until reaching 14'. Address pointer PN73
When the value of becomes "14'," the small curves C1 to C shown in FIG.
Processing power for 14: It is determined that the process has ended.

すてに述べたように、各小曲線はその曲率等1こ応して
適当な分割数を選定することができ、各小曲線毎に最適
な分割数を選定すればノ\−ドウエア計算を高速化する
ことが可能である。一般的(こ1よ、曲率か小さいとき
には、少ない分割数でも精度よく近似曲線を表すことか
できる。
As mentioned above, the appropriate number of divisions can be selected for each small curve depending on its curvature, etc., and if the optimal number of divisions is selected for each small curve, the software calculation can be performed easily. It is possible to increase the speed. General (1) When the curvature is small, an approximate curve can be expressed accurately even with a small number of divisions.

そこで、小曲線の最適な分割数を求める方法について以
下述べる。
Therefore, a method for determining the optimal number of divisions of a small curve will be described below.

ます、第10図を参照して第1の方法について説明する
The first method will now be explained with reference to FIG.

第10図において、PAおよびPDは小曲線CV1のア
ンカーポイント、PBおよびPCは小曲線CV1のコン
トロールポイントである。L ab。
In FIG. 10, PA and PD are anchor points of the short curve CV1, and PB and PC are control points of the short curve CV1. Lab.

L bc、 L cd、 L daは、それぞれPAと
PB間、PBとpc間、PCとPD間、PDとPA間を
直線で結んだ線分の長さである。一般的に線分Labお
よびLedの長さは、小曲線CVIO曲率か大きいはと
長くなる。従って、以下の評価式を用いて小曲線CVI
の最適な分割数”N″を求める二とができる。
L bc, L cd, and L da are the lengths of straight line segments connecting PA and PB, PB and pc, PC and PD, and PD and PA, respectively. Generally, the lengths of the line segments Lab and Led are longer as the CVIO curvature is smaller or larger. Therefore, using the following evaluation formula, the small curve CVI
It is possible to find the optimal number of divisions "N".

Δ L−(Lab+Lbc +  Led −Lda)  +  1  −  (3
)N−2flog(a) ΔL’    −(4)2≦
a≦8   (”a−は底) なお底“a“は、曲線の近り精度に応じて適宜選択され
るものであり、また(4)式で示される分割数“N′か
データテーブルにおける分割数(第6図の例では“25
6”)を越えないように選択される。
ΔL-(Lab+Lbc+Led-Lda)+1-(3
)N-2flog(a) ΔL'-(4)2≦
a≦8 (“a-” is the base) The base “a” is selected as appropriate depending on the accuracy of the approximation of the curve, and the number of divisions “N” shown in equation (4) or the data table Number of divisions (“25” in the example in Figure 6)
6”).

上記評価式を用いて分割数を求めた例(“a−3の場合
)を第11図に示す。これは、コントロールポイントP
BおよびPCのそれぞれのy座標を順次小さくした場合
、すなわち小曲線の曲率を順次小さくした場合の例を示
したものである。
An example of calculating the number of divisions using the above evaluation formula (in the case of "a-3") is shown in Figure 11.
This figure shows an example in which the y coordinates of B and PC are sequentially reduced, that is, the curvature of the small curve is sequentially reduced.

なお、11図に示した“ステップ”とは“256/N”
の値であり、第8図に示したステップ数データΔn1、
Δn2、・・・・・・・・・に相当するものである。第
11図に示したように、上記評価式を用いた場合には、
小曲線の曲率が小さくなるほど分割数が少なくなること
がわかる。
Note that the "step" shown in Figure 11 is "256/N".
is the value of step number data Δn1 shown in FIG.
This corresponds to Δn2, . . . . As shown in Figure 11, when the above evaluation formula is used,
It can be seen that the smaller the curvature of the small curve, the fewer the number of divisions.

なお、(3)式においては各線分の値をそのまま用いた
か、これらの線分の長さを二乗した値を用いてもよい。
Note that in equation (3), the values of each line segment may be used as they are, or values obtained by squaring the lengths of these line segments may be used.

つぎに、第12図および第13図を参照して第2の方法
について説明する。
Next, the second method will be explained with reference to FIGS. 12 and 13.

第12図において、PAおよびPDは小曲線CV2のア
ンカーポイント、PBおよびPCは小曲線CV2のコン
トロールポイントである。Slは上記ポイントPA、P
BSPCおよびPDを順次直線で結んだときに形成され
る四角形の面積である。一般的に上記四角形の面積S1
は、小曲線CV2の曲率が大きいほど大きくなる。従っ
て、以下の評価式により小曲線CV2の最適な分割数“
N゛を求めることができる。
In FIG. 12, PA and PD are anchor points of the short curve CV2, and PB and PC are control points of the short curve CV2. Sl is the above point PA, P
This is the area of a rectangle formed when BSPC and PD are successively connected with straight lines. Generally, the area of the above rectangle S1
becomes larger as the curvature of the small curve CV2 becomes larger. Therefore, the optimal number of divisions of the short curve CV2 is determined by the following evaluation formula.
You can find N.

N−2(I o g (a ) S 1 t    、
、、 (5)2≦a≦8 (“a は底) なお底“a は、曲線の近似精度に応じて適宜選択され
るものであり、また(5)式で示される分割数“N”が
データテーブルにおける分割数(第6図の例では“25
6“)を越えないように選択される。
N-2(I o g (a) S 1 t,
,, (5) 2≦a≦8 (“a” is the base) The base “a” is selected as appropriate depending on the approximation accuracy of the curve, and the number of divisions “N” shown in equation (5) is the number of divisions in the data table (in the example in Figure 6, it is “25”)
6").

第13図において、PAおよびPDは小曲線C■3のア
ンカーポイント、PBおよびPCは小曲線CV3のコン
トロールポイントである。S2は上記ポイントPA、P
BおよびPDを順次直線で結んだときに形成される三角
形の面積であり、S3は上記ポイントPA、PCおよび
PDを順次直線で結んだときに形成される三角形の面積
である。
In FIG. 13, PA and PD are the anchor points of the short curve C3, and PB and PC are the control points of the short curve CV3. S2 is the above point PA, P
S3 is the area of a triangle formed when points B and PD are sequentially connected with straight lines, and S3 is the area of a triangle formed when the points PA, PC, and PD are sequentially connected with straight lines.

一般的に上記三角形S2およびS3のそれぞれ面積の和
“S2+53”は、小曲線CV3の曲率が大きいほど大
きくなる。従って、以下の評価式により小曲線CV3の
最適な分割数“N″を求めることかできる。
Generally, the sum "S2+53" of the areas of the triangles S2 and S3 increases as the curvature of the small curve CV3 increases. Therefore, the optimum number of divisions "N" of the short curve CV3 can be determined using the following evaluation formula.

N=2 flog(a)(S2+53)l 、、、 (
6)2≦a≦8  (“a は底) なお底“a は、曲線の近似精度に応して適宜選択され
るものであり、また(6)式で示される分割数“N′か
データテーブルにおける分割数(第6図の例では“25
6”)を越えないように選択される。
N=2 flog(a)(S2+53)l ,,, (
6) 2≦a≦8 (“a” is the base) The base “a” is selected as appropriate depending on the approximation accuracy of the curve, and the number of divisions “N” shown in equation (6) or the data Number of divisions in the table (“25” in the example in Figure 6)
6”).

なお、(5)式および(6)式においては各面積の値を
そのまま用いたが、これらの面積を二乗した値を用いて
もよい。
Note that in equations (5) and (6), the values of each area are used as they are, but values obtained by squaring these areas may also be used.

つぎに、第14図を参照して第3の方法について説明す
る。
Next, the third method will be explained with reference to FIG.

第14図において、PAおよびPDは小曲線C■0のア
ンカーポイント、PBおよびPCは小曲線C■0のコン
トロールポイントである。Dlは小曲線CVD上の第1
の分割点であり、アンカーポイントPAおよびPD以外
の点である。具体的には、(2a) 〜(2d)式にお
いてt−1/2としてWA−WDの値を求め、これらを
(1)式に代入して求めたものである。なお、小曲線C
■0のうち、点PDと第1の分割点D1との間にあるも
のを第1の分割曲線とよふ。DBはPDとDlとの間に
位置する小曲線CVD上の第2の分割点てあり、PDと
D1以外の点である。具体的には、(2a)−(2d)
式1こおいてt−3/4  (−1/2+1ハ)として
WA−WDの値を求め、これらを(1)式に代入して求
めたものである。なお、小曲線C■0のうち、点PDと
第2の分割点D2との間にあるものを第2の分割曲線と
よぶ。以下同様にして、t −7/8  (=1/2+
1/4+l/8)における小曲線CVD上の第3の分割
点をDB(図示せず。)、t−15/I6  (−1/
2+I74+l/8+1/16 )における小曲線CV
D上の第4の分割点をD4 (図示せず。)、というよ
うにして、順次小曲線C■0上の分割点Dn(図示せず
。)が定まる。なお、このようにして上記第1〜nの分
割点D1〜Dnを求める場合、第5図に示したデータテ
ーブルを用いると高速に求めることができる。Llは点
PAと点PDとを直線で結んだ線分の長さ、L2は点P
Aと第1の分割点D1とを直線で結んだ線分の長さ、L
3は点PDと第1の分割点D1とを直線で結んだ線分の
長さ、L4は第1の分割点D1と第2の分割点D2とを
直線で結んた線分の長さ、L5は点PDと第2の分割点
D2とを直線で結んた線分の長さである。
In FIG. 14, PA and PD are the anchor points of the short curve C■0, and PB and PC are the control points of the short curve C■0. Dl is the first on the small curve CVD
, and is a point other than anchor points PA and PD. Specifically, the value of WA-WD is obtained by setting t-1/2 in equations (2a) to (2d), and these values are substituted into equation (1). In addition, the small curve C
(2) Among 0, the curve between the point PD and the first dividing point D1 is called the first dividing curve. DB is a second division point on the short curve CVD located between PD and Dl, and is a point other than PD and D1. Specifically, (2a)-(2d)
The value of WA-WD is obtained by setting t-3/4 (-1/2+1c) in Equation 1, and these values are substituted into Equation (1). It should be noted that among the small curves C■0, the one between the point PD and the second dividing point D2 is referred to as a second dividing curve. Similarly, t −7/8 (=1/2+
DB (not shown), t-15/I6 (-1/
2+I74+l/8+1/16) small curve CV
The fourth dividing point on D is set as D4 (not shown), and so on, dividing points Dn (not shown) on the small curve C■0 are determined one after another. Note that when the first to nth division points D1 to Dn are determined in this manner, they can be determined at high speed by using the data table shown in FIG. Ll is the length of the line segment connecting points PA and PD with a straight line, L2 is the point P
The length of the line segment connecting A and the first dividing point D1 with a straight line, L
3 is the length of the line segment connecting the point PD and the first dividing point D1 with a straight line, L4 is the length of the line segment connecting the first dividing point D1 and the second dividing point D2 with a straight line, L5 is the length of a line segment connecting the point PD and the second division point D2 with a straight line.

以下、第14図を用いて分割数を求める動作について述
べる。
The operation of determining the number of divisions will be described below with reference to FIG.

第1の分割点D1を求めた後、線分L1、L2、および
L3の長さをそれぞれ求め、以下の差分ブタを計算をす
る。
After determining the first division point D1, the lengths of the line segments L1, L2, and L3 are determined, and the following difference pig is calculated.

ΔLl−L2+L3−Ll  −(7a)第1の差分デ
ータΔL1が以下の条件を満たしているかとうかを判定
する。
ΔLl−L2+L3−Ll−(7a) It is determined whether the first difference data ΔL1 satisfies the following conditions.

ΔL1くΔLO・・・(7b) たたし、ΔLOは予め決められた定数である。第1の差
分データΔL1が(7b)式の条件を満たしているとき
には、第14図の小曲線CVOの分割数は“1”となる
。第1の差分データΔL1が(7b)式の条件を満たし
ていないときには、第2の分割点D2を求めた後、線分
L4およびL5の長さをそれぞれ求め、以下の計算をす
る。
ΔL1 × ΔLO (7b) where ΔLO is a predetermined constant. When the first difference data ΔL1 satisfies the condition of equation (7b), the number of divisions of the short curve CVO in FIG. 14 is "1". When the first difference data ΔL1 does not satisfy the condition of equation (7b), after determining the second dividing point D2, the lengths of the line segments L4 and L5 are determined, and the following calculations are performed.

ΔL2−L4+L5−L3  ・ (8B)第2の差分
データΔL2が以下の条件を満たしているかとうかを判
定する。
ΔL2-L4+L5-L3 (8B) Determine whether the second difference data ΔL2 satisfies the following conditions.

ΔL2<ΔLO・・・(8b) 第2の差分データΔL2が(8b)式の条件を満たして
いるときには、第14図の小曲線Cvoの分割数は“2
′となる。第2の差分データΔL2か(8b)式の条件
を満たしていないときには、上記の方法と同様にして分
割を行い、順次分割点DB、D4、・・・・・・ Dn
および差分データΔL3、ΔL4、・・・・・・ ΔL
nを求める。第nの差分データΔLnが以下の条件を満
たしているがどうかを判定する。
ΔL2<ΔLO...(8b) When the second difference data ΔL2 satisfies the condition of equation (8b), the number of divisions of the short curve Cvo in FIG. 14 is "2".
'. When the second difference data ΔL2 does not satisfy the condition of equation (8b), division is performed in the same manner as above, and the division points DB, D4, . . . Dn are sequentially divided.
and difference data ΔL3, ΔL4,... ΔL
Find n. It is determined whether the nth difference data ΔLn satisfies the following conditions.

ΔLn<ΔLO−(9b) 第nの差分データΔLnが(9b)式の条件を満たして
いるときには、第14図の小曲線cVoの分割数は“2
°−1′となる。
ΔLn<ΔLO−(9b) When the nth difference data ΔLn satisfies the condition of equation (9b), the number of divisions of the small curve cVo in FIG. 14 is “2”.
°−1'.

なお、以上述べた第4の方法では、(2a)〜(2d)
式において、t =1/2 、t −3/4  (す/
2+1/4)  t=7/8  (−1/2+1/4+
l#) 、t −15/1B(−1/2+1/4+1/
8+1/1B )  ・・・・・・とじて各分割点を求
めたか、例えば、t −1/2 、t −1/4  (
−1/2−1ハ)、t =3/8  (−1/2−1/
4+1/8)   t =5/16 (−1/2−1/
4+1/8−1/16 ) 、・・・・・・とじて各分
割点を求めてもよい。要するに、第に番めの分割点を求
める場合には、第(k−1)番めの分割点におけるn 
+− 1゛の値に対して、“1/2  を加算しても減算して
もよい。
Note that in the fourth method described above, (2a) to (2d)
In the formula, t = 1/2, t -3/4 (s/
2+1/4) t=7/8 (-1/2+1/4+
l#), t -15/1B(-1/2+1/4+1/
8 + 1/1B) ...... to find each division point, for example, t -1/2, t -1/4 (
-1/2-1c), t = 3/8 (-1/2-1/
4+1/8) t =5/16 (-1/2-1/
4+1/8-1/16) , . . . and each dividing point may be obtained. In short, when finding the th division point, n at the (k-1)th division point
You may add or subtract "1/2" to the value of +-1.

[効果コ 本発明によれば、予め曲線式のパラメータ関数の値を記
憶しておき、必要な数のパラメータ関数だけを用いて曲
線式の値を求めるため、曲線ブタを生成するたびに多大
な演算処理を必要とせず、アウトラインフォントの生成
に要する時間を大幅に短縮することができる。
[Effects] According to the present invention, the values of the parameter functions of the curve formula are stored in advance and the values of the curve formula are determined using only the necessary number of parameter functions. No arithmetic processing is required, and the time required to generate an outline font can be significantly reduced.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図〜第14図はいずれも本発明における実施例を説
明したものであり、第1図はブロック図、第2図(A)
、第2図(B)および第2図(C)は第1図の動作を示
したフローチャート、第3図、第4図(A)および第4
図(C)はアウトラインフォントの説明図、第5図はデ
ータテーブルの概念図、第6図〜第9図はRAMに記憶
された各ブタのアドレスマツプ、第10図は小曲線の分
割数を求める第1の方法に関する説明図、第11図は第
1の方法で分割数を求めたときの具体例を示した図、第
12図および第13図は小曲線の分割数を求める第2の
方法に関する説明図、第14図は小曲線の分割数を求め
る第3の方法に関する説明図である。 PA、PD・・・・・・アンカーポイントPB、PC・
・・・・・コントロールポイント以上 出願人  株式会社 精 工 舎
Figures 1 to 14 all illustrate embodiments of the present invention, with Figure 1 being a block diagram and Figure 2 (A)
, FIG. 2(B) and FIG. 2(C) are flowcharts showing the operation of FIG. 1, FIG. 3, FIG. 4(A), and FIG.
Figure (C) is an explanatory diagram of the outline font, Figure 5 is a conceptual diagram of the data table, Figures 6 to 9 are the address maps of each pig stored in the RAM, and Figure 10 is the number of divisions of the small curve. An explanatory diagram of the first method of determining the number of divisions. Figure 11 is a diagram showing a specific example of determining the number of divisions using the first method. Figures 12 and 13 are diagrams of the second method of determining the number of divisions of a small curve. FIG. 14 is an explanatory diagram regarding the third method of determining the number of divisions of a small curve. PA, PD・・・Anchor point PB, PC・
...Applicant for control points and above Seikosha Co., Ltd.

Claims (1)

【特許請求の範囲】 二つのアンカーポイントと少なくとも一つのコントロー
ルポイントとを用いてパラメトリック表現された曲線式
に基いて曲線を表し、上記曲線を複数の部分に分割して
互いに隣り合った分割点を直線で結び、上記曲線を近似
的に表す方法において、 上記曲線式のn個のパラメータ値についてそれぞれ定ま
る上記曲線式のパラメータ関数の値を予め記憶しておき
、 表現しようとする曲線に応じて、上記n個のパラメータ
値のうちm個(m<n)について、上記パラメータ関数
の値に基いて上記曲線式の値を求め、 上記m個のパラメータ値に対応して定まる分割点を直線
で結ぶ ことを特徴とする曲線近似方法。
[Claims] A curve is expressed based on a parametric curve formula using two anchor points and at least one control point, and the curve is divided into a plurality of parts and adjacent dividing points are defined. In the method of approximately representing the above-mentioned curve by connecting them with straight lines, the values of the parameter functions of the above-mentioned curve equation, which are determined for each of the n parameter values of the above-mentioned curve equation, are stored in advance, and depending on the curve to be expressed, For m of the above n parameter values (m<n), find the value of the above curve formula based on the value of the above parameter function, and connect the division points determined corresponding to the above m parameter values with a straight line. A curve approximation method characterized by:
JP2278101A 1990-10-17 1990-10-17 Curve fitting method Expired - Fee Related JP2522109B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2278101A JP2522109B2 (en) 1990-10-17 1990-10-17 Curve fitting method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2278101A JP2522109B2 (en) 1990-10-17 1990-10-17 Curve fitting method

Publications (2)

Publication Number Publication Date
JPH04153695A true JPH04153695A (en) 1992-05-27
JP2522109B2 JP2522109B2 (en) 1996-08-07

Family

ID=17592647

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2278101A Expired - Fee Related JP2522109B2 (en) 1990-10-17 1990-10-17 Curve fitting method

Country Status (1)

Country Link
JP (1) JP2522109B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07239679A (en) * 1994-02-25 1995-09-12 Kazuo Toraichi Device for forming signboard
CN115619894A (en) * 2021-07-08 2023-01-17 荣耀终端有限公司 Icon rounded angle processing method and device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07239679A (en) * 1994-02-25 1995-09-12 Kazuo Toraichi Device for forming signboard
CN115619894A (en) * 2021-07-08 2023-01-17 荣耀终端有限公司 Icon rounded angle processing method and device

Also Published As

Publication number Publication date
JP2522109B2 (en) 1996-08-07

Similar Documents

Publication Publication Date Title
US7903112B2 (en) Drawing processing apparatus, texture processing apparatus, and tessellation method
US5808619A (en) Real-time rendering method of selectively performing bump mapping and phong shading processes and apparatus therefor
US6049343A (en) Graphics processing unit and graphics processing system
JPH04152389A (en) Curve approximating method
US8482559B2 (en) Method and apparatus for triangle tessellation
JPH04153695A (en) Curve approximating method
US20010056440A1 (en) Parallel execution mechanism for spreadsheets
US8259122B1 (en) System, method and article of manufacture for a programmable processing model with instruction set
JPH04152390A (en) Curve approximating method
JPH04152391A (en) Curve approximating method
CN114722343A (en) Clutch position signal filtering method and device, storage medium and terminal
EP1233617B1 (en) Arithmetic unit and arithmetic processing method
JPH10207694A (en) Digital power arithmetic unit and graphics system using the same
JPH0991447A (en) Device for approximating bezier curve
JP2538645B2 (en) Curved line approximation device
JP3059739B2 (en) Information processing apparatus with curve drawing function and processing method
JP2006503356A (en) How to determine values for combinations of eigenvalues
US6697077B2 (en) Method and apparatus for computing a computer graphics image
JPH01120685A (en) Apparatus and method for shading vector and curve on display device
JPH0293772A (en) Contour approximating system
JPH0561981A (en) Curve approximation method
JPH03223977A (en) Graphic processor
JP2022055120A (en) Calculation method, calculation device, calculation program, and recording medium
JPH074670Y2 (en) Small electronic calculator with ratio calculation function
JPH08123785A (en) Method and device for preparing approximate calculation table and method and device for approximate calculation

Legal Events

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