JP2854035B2 - Curve generator - Google Patents
Curve generatorInfo
- Publication number
- JP2854035B2 JP2854035B2 JP1243645A JP24364589A JP2854035B2 JP 2854035 B2 JP2854035 B2 JP 2854035B2 JP 1243645 A JP1243645 A JP 1243645A JP 24364589 A JP24364589 A JP 24364589A JP 2854035 B2 JP2854035 B2 JP 2854035B2
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- curve
- max
- total number
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Image Generation (AREA)
Description
【発明の詳細な説明】 [目次] 概要 産業上の利用分野 従来の技術 発明が解決しようとする課題 課題を解決するための手段 作用 実施例 発明の効果 [概要] 差分マトリクス法の利用で曲線を生成する装置に関
し、 高品質な曲線を高速に生成できる装置の提供を目的と
し、 曲線を形成する各点のいずれかと対応したマトリクス
を微分演算して該マトリクスから所定の時間間隔だけ離
れた次のマトリクスまでの増分量を算出し、算出された
増分量と算出基準のマトリクスとの加算で次のマトリク
スを求める処理が前記曲線の始点と対応したマトリクス
を初期値として該曲線の終点と対応したマトリクスの得
られるまで繰り返される曲線生成装置において、前記初
期値のマトリクスに含まれた誤差が前記加算の繰り返し
により前記終点までに累積する量を示し曲線形成点の総
数が変数となる関数を定め、該関数の値が許容値以下で
最大となる曲線形成点の総数を算出し、曲線の始点から
終点までの時間的な長さと選択された総数とから前記時
間間隔を求める、ことを特徴とする。Detailed Description of the Invention [Table of Contents] Overview Industrial application Field of the Invention Prior Art Problems to be Solved by the Invention Means for Solving the Problems Action Embodiment Effect of the Invention [Summary] Curve by using difference matrix method With respect to the generating device, the object of the present invention is to provide a device capable of generating a high-quality curve at a high speed, and to perform a differential operation on a matrix corresponding to any of the points forming the curve and perform a next operation separated from the matrix by a predetermined time interval. The process of calculating the increment amount up to the matrix and obtaining the next matrix by adding the calculated increment amount and the matrix of the calculation reference is performed using the matrix corresponding to the start point of the curve as an initial value and the matrix corresponding to the end point of the curve. In the curve generation device which is repeated until the above is obtained, the errors included in the matrix of the initial values are accumulated by the repetition of the addition up to the end point. Determine the function that indicates the amount to be accumulated and the total number of curve forming points is a variable, calculate the total number of curve forming points where the value of the function is less than or equal to the allowable value, and calculate the time length from the start point to the end point of the curve And calculating the time interval from the selected total number.
[産業上の利用分野] 本発明は、差分マトリクス法の利用で曲線を生成する
装置に関する。[Industrial application field] The present invention relates to an apparatus for generating a curve by using a difference matrix method.
CG,CADの分野においては品質の高い曲線を生成するこ
とが必要とされる。In the fields of CG and CAD, it is necessary to generate high quality curves.
そして、高品質な曲線をソフトウェアで生成する場合
にはその生成速度が低いので、ハードウェアで曲線を生
成する方式がCG装置やCAD装置で採用される。When a high-quality curve is generated by software, the generation speed is low. Therefore, a method of generating a curve by hardware is adopted in a CG device or a CAD device.
[従来の技術] 中点分割法を適用したハードウェアで曲線が生成され
る場合には、全ての曲線をBezier曲線に変換することが
必要となり、また、その変換を行うハードウェアの構成
が著しく複雑化し、さらに、中点座標を繰り返して記憶
するスタックの容量が膨大となる。[Prior Art] When curves are generated by hardware to which the midpoint division method is applied, it is necessary to convert all curves into Bezier curves, and the configuration of the hardware for performing the conversion is remarkably large. It becomes complicated, and the capacity of the stack for repeatedly storing the midpoint coordinates becomes enormous.
そこで、マトリクスの微分演算で算出された増分量を
そのマトリクスに加算する処理が繰り返されることによ
り曲線形成点を逐次求める差分マトリクス法が曲線生成
用のハードウェアに適用される。Therefore, a difference matrix method for sequentially obtaining curve forming points by repeating the process of adding the increment amount calculated by the differential operation of the matrix to the matrix is applied to hardware for generating a curve.
この差分マトリクス法によれば、前記の変換を行うこ
となく一般多項式,Bezier曲線,Spline曲線などを高速に
生成でき、しかも、スタック量が膨大となることはな
い。According to this difference matrix method, general polynomials, Bezier curves, Spline curves, and the like can be generated at high speed without performing the above-mentioned conversion, and the stack amount does not become enormous.
[発明が解決しようとする課題] しかしながら差分マトリクス法によれば、増分量の逐
次加算で曲線生成点のマトリクスが順に求められるの
で、その加算の繰り返しにより誤差が次第に累積する。[Problems to be Solved by the Invention] However, according to the difference matrix method, since the matrix of the curve generation points is obtained in order by the sequential addition of the increments, errors gradually accumulate by repeating the addition.
本発明は上記の従来の事情に鑑みてなされたものであ
り、その目的は、高品質な曲線を高速に生成できる装置
を提供することにある。The present invention has been made in view of the above-described conventional circumstances, and an object of the present invention is to provide an apparatus capable of generating a high-quality curve at high speed.
[課題を解決するための手段] 上記目的を達成するために、本発明では曲線(100)
を形成する各点(P0・・・Pi,Pi+1・・・Pn)のいず
れか(Pi)と対応したマトリクス(M(ti))を微分演
算して該マトリクス(M(ti))から所定の時間間隔
(δ)だけ離れた次のマトリクス(M(ti))までの増
分量(a)を算出する手段と、算出された増分量(a)
と算出基準のマトリクス(M(t+i))とを加算する
手段と、該加算値より次の曲線形成点(Pi+1)と対応
したマトリクス(M(ti+1))を求める処理を行う手
段と、該処理を前記曲線(100)の始点(P0)と対応し
たマトリクス(M(t0))を初期値として該曲線(10
0)の終点(Pn)と対応したマトリクス(M(tn))が
得られるまで繰り返す手段と、を備えた曲線生成装置に
おいて、前記初期値のマトリクス(M(t0))に含まれ
た誤差(ε)が前記加算の繰り返しにより前記終点(P
n)までに蓄積する量(E)を示し曲線形成点(P0・・
・Pi,Pi+1・・・Pn)の総数(n)が変数となる関数
(f)を定める手段(ステップ110)と、該関数(f)
の値(E)が許容値(E max)以下のときに最大となる
曲線形成点(P0・・・Pi,Pi+1・・・Pn)の総数(n m
ax)を選択する手段(ステップ120)と、曲線(100)の
始点(P0)から終点(Pn)までの時間的な長さ(tn〜t
0)と選択された総数(n max)とから前記時間間隔(δ
min)を求める手段(ステップ130)と、を有すること
を特徴とする。[Means for Solving the Problems] In order to achieve the above object, the present invention provides a curve (100)
Is computed by differentiating a matrix (M (ti)) corresponding to any of the points (P0... Pi, Pi + 1... Pn) forming the matrix (Pi). Means for calculating an increment (a) up to the next matrix (M (ti)) separated by a time interval (δ), and a calculated increment (a)
Means for adding the matrix (M (t + i)) to the calculation reference matrix, means for performing processing for obtaining a matrix (M (ti + 1)) corresponding to the next curve forming point (Pi + 1) from the added value, With the matrix (M (t0)) corresponding to the starting point (P0) of the curve (100) as the initial value.
Means for repeating until the matrix (M (tn)) corresponding to the end point (Pn) of (0) is obtained, the error (M (t0)) included in the matrix (M (t0)) of the initial value ε) is the end point (P
n) indicates the amount (E) accumulated up to the curve forming point (P0 ...
Means for determining a function (f) in which the total number (n) of (Pi, Pi + 1... Pn) is a variable (step 110); and the function (f)
The total number (nm) of the curve forming points (P0... Pi, Pi + 1... Pn) which becomes maximum when the value (E) of the
ax) (step 120), and the time length (tn to t) from the start point (P0) to the end point (Pn) of the curve (100)
0) and the selected total number (n max) from the time interval (δ
min) (step 130).
[作用] 本発明では、各曲線生成点P0・・・Pi,Pi+1・・・P
nを各々示すマトリクスM(t0)・・・M(ti),M(ti
+1)・・・M(tn)が差分マトリクス法で順に求めら
れる。[Operation] In the present invention, each curve generation point P0... Pi, Pi + 1.
Matrix M (t0)... M (ti), M (ti
+1)... M (tn) are sequentially obtained by the difference matrix method.
その差分マトリクス演算で使用される時間間隔δ min
は曲線100の始点P0から終点Pnまでの時間的な長さtn〜t
0曲線形成点P0・・・Pi,Pi+1・・・Pnの総数n maxか
ら求められる(ステップ130)。The time interval δ min used in the difference matrix operation
Is the time length tn to t from the start point P0 to the end point Pn of the curve 100
.., Pi + 1,..., Pn (step 130).
さらに、時間間隔δ minを求めるために使用される曲
線形成点P0・・・Pi,Pi+1・・・Pnの総数n maxは関数
fの解を選択することにより得られる(ステップ12
0)。Further, the total number n max of the curve forming points P0... Pi, Pi + 1... Pn used for obtaining the time interval δ min is obtained by selecting the solution of the function f (step 12).
0).
この関数fは曲線形成点P0・・・Pi,Pi+1・・・Pn
の総数nを変数としており、初期誤差εが与えられるこ
とで最終的な累積誤差Eが得られ、関数値Eが許容誤差
E max以下となる条件下で変数nが最大となる解として
総数n maxが選択される。This function f is represented by curve forming points P0... Pi, Pi + 1.
Is a variable, the final accumulated error E is obtained by giving the initial error ε, and the function value E is
The total number n max is selected as a solution that maximizes the variable n under the condition that it is equal to or less than E max.
そして、関数fはマトリクスM(t0),M(ti),M(ti
+1)・・・M(tn)と同様な形で表現できる。したが
って、最大総数n maxを差分マトリクス法の利用で選択
でき、このため、曲線形成点P0・・・Pi,Pi+1・・・P
nとともに時間間隔δ minをハードウェアで高速に求め
ることが可能となる。Then, the function f is defined as a matrix M (t0), M (ti), M (ti
+1)... M (tn). Therefore, the maximum total number n max can be selected by using the difference matrix method, and therefore, the curve forming points P0... Pi, Pi + 1.
The time interval δ min together with n can be obtained at high speed by hardware.
さらに、最終的な累積誤差Eが許容値E max以下とな
る最小の時間間隔δ minが求められるので、曲線100を
正確に表現することも可能となる。Further, since the minimum time interval δ min at which the final accumulated error E becomes equal to or smaller than the allowable value E max is obtained, the curve 100 can be accurately expressed.
[実施例] 以下、図面に基づいて本発明に係る方法の好適な実施
例を説明する。Hereinafter, preferred embodiments of the method according to the present invention will be described with reference to the drawings.
第2図では本発明が適用された曲線発生器の構成が説
明されており、この曲線発生器はデータ入力部20,累積
誤差算出部22,差分マトリクス算出部24,間隔決定部26,
増分値加算部28,曲線出力部30で構成されている。FIG. 2 illustrates the configuration of a curve generator to which the present invention is applied. This curve generator includes a data input unit 20, a cumulative error calculation unit 22, a difference matrix calculation unit 24, an interval determination unit 26,
It comprises an increment value adding section 28 and a curve output section 30.
本実施例では三次元曲線100(例えば、ユニフォーム
Bスプライン関数)が生成の対象とされており、一定の
時間的な長さt0〜tnの区間における曲線制御点Qi,Qi+
1,Qi+2,Qi+3のデータがデータ入力部20から取り込ま
れる。In the present embodiment, a three-dimensional curve 100 (for example, a uniform B-spline function) is to be generated, and the curve control points Qi, Qi + in a section with a certain temporal length t0 to tn.
Data of 1, Qi + 2 and Qi + 3 are taken in from the data input unit 20.
それら制御点Qi,Qi+1,Qi+2,Qi+3及び時間間隔δ
で初期値のマトリクスM(t0)=[A,B,C,D]を A=(1/6)Qi+(2/3)Qi+1+(1/6)Qi+2 B={(−1/6)δ2+(1/2)δ−1/2}Qi +{1/2)δ2−δ}Qi+1+{(−1/2)δ2 +(1/2)δ+1/2}Qi+2+(1/6)δ2Qi+3 C=(−δ+1)Qi+(3δ−2)Qi+1+(−3δ
+1)Qi+2+δQi+3 D=−Qi+3Qi+1−3Qi+2+Qi+3 ・・・第(1)式 により表現でき、このマトリクスM(t0)=[A,B,C,
D]の算出は差分マトリクス算出部24で行われる。These control points Qi, Qi + 1, Qi + 2, Qi + 3 and time interval δ
And the initial value matrix M (t0) = [A, B, C, D] is calculated as follows: A = (1/6) Qi + (2/3) Qi + 1 + (1/6) Qi + 2 B = {(− 1/6) δ 2 + (1/2) δ-1/2} Qi + {1/2) δ 2- δ} Qi +1 + {(-1/2) δ 2 + (1/2) δ + 1/2} Qi + 2 + (1/6 ) Δ 2 Qi + 3 C = (− δ + 1) Qi + (3δ−2) Qi + 1 + (− 3δ)
+1) Qi + 2 + δQi + 3 D = −Qi + 3Qi + 1−3Qi + 2 + Qi + 3 (Expression 1), and the matrix M (t0) = [A, B, C,
D] is calculated by the difference matrix calculation unit 24.
第3図では差分マトリクス算出部24と増分値加算部28
の作用が説明されており、マトリクスM(t0)=[A,B,
C,D]は曲線100の始点P0と対応している。In FIG. 3, the difference matrix calculation unit 24 and the increment value addition unit 28
Is explained, and the matrix M (t0) = [A, B,
[C, D] corresponds to the start point P0 of the curve 100.
そして、初期値のマトリクスM(t0)=[A,B,C,D]
は増分値加算部28に与えられ、始点P0を示すその第1要
素A=S(t0)は増分値加算部28から曲線出力部30に与
えられて外部へ出力される。Then, an initial value matrix M (t0) = [A, B, C, D]
Is given to the increment value adding section 28, and the first element A = S (t0) indicating the starting point P0 is given from the increment value adding section 28 to the curve output section 30 and outputted to the outside.
また、増分加算部28では現在のマトリクスM(t0)の
第2要素B=ΔS(t0)が一次微分され、第3要素C=
Δ2S(t0)が二次微分され、さらに第4要素D=Δ3S
(t0)が三次微分される。In addition, in the incremental adding unit 28, the second element B = ΔS (t0) of the current matrix M (t0) is first-order differentiated, and the third element C =
Δ 2 S (t0) is secondarily differentiated, and the fourth element D = Δ 3 S
(T0) is third-order differentiated.
その微分演算で増分量aを示すマトリクス[B,C,D,
0]=[ΔS(t0),Δ2S(t0),Δ3S(t0)]が算出
され、増分値加算部28では増分量aのマトリクス[B,C,
D,0]がそれまでのマトリクスM(t0)=[A,B,C,D]に
加算される。A matrix [B, C, D,
0] = [ΔS (t0) , Δ 2 S (t0), Δ 3 S (t0)] is calculated, the increment value addition unit 28 in increments of a matrix [B, C,
[D, 0] is added to the previous matrix M (t0) = [A, B, C, D].
これにより得られたマトリクスM(t1)=[A+B,B
+C,C+D,D]の第1要素A+Bが次の曲線形成点P1を示
すデータとして曲線出力部30へ送出される。The resulting matrix M (t1) = [A + B, B
+ C, C + D, D] is sent to the curve output unit 30 as data indicating the next curve forming point P1.
さらに、新たなマトリクスM(t1)=[A+B,B+C,C
+D,D]へそれまでのマトリクスM(t0)=[A,B,C,D]
が更新される。Further, a new matrix M (t1) = [A + B, B + C, C
+ D, D] to the previous matrix M (t0) = [A, B, C, D]
Is updated.
以上の処理は同様にして繰り返され、その結果、曲線
形成点P0,P1,P2・・・Pnを各々示すデータA,A+B,A+2B
+C・・・A+nB+n(n−1)C/2+n(n−1)
(n−2)D/6が外部へ順に出力される。The above processing is repeated in the same manner. As a result, data A, A + B, A + 2B indicating the curve forming points P0, P1, P2,.
+ C ... A + nB + n (n-1) C / 2 + n (n-1)
(N-2) D / 6 is sequentially output to the outside.
このときに求められるマトリクスM(t0)=[A,B,C,
D],M(t1)=[A+B,B+C,C+D,D],M(t2)=[A+
2B+C,B+2C+D,C+2D,D]・・・M(tn)=[A+nB+
n(n−1)C/2+n(n−1)(n−2)D/6,B+nC+
n(n−1)D/2,C+nD,D]の各要素S(ti+1),Δ
S(ti+1),Δ2S(ti+1),Δ3S(ti+1)は、次
の第(2)式で表現される。The matrix M (t0) obtained at this time = [A, B, C,
D], M (t1) = [A + B, B + C, C + D, D], M (t2) = [A +
2B + C, B + 2C + D, C + 2D, D] ... M (tn) = [A + nB +
n (n-1) C / 2 + n (n-1) (n-2) D / 6, B + nC +
n (n−1) D / 2, C + nD, D], each element S (ti + 1), Δ
S (ti + 1), Δ 2 S (ti + 1), Δ 3 S (ti + 1) is represented by the following the equation (2).
S(ti+1)=S(ti)+ΔS(ti) ΔS(ti+1)=ΔS(ti)+Δ2S(ti) Δ2S(ti+1)=Δ2S(ti)+Δ3S(ti) Δ3S(ti+1)=Δ3S(ti) ・・・第(2)式 それらのマトリクスM(t0),M(t1),M(t2)・・・
M(tn)が求められる時間間隔δは δ=ti+1−ti ・・・第(3)式 で示され、微分演算及び増分量加算の回数nは n=(tn+t0)/δ ・・・第(4)式 で示される。S (ti + 1) = S (ti) + ΔS (ti) ΔS (ti + 1) = ΔS (ti) + Δ 2 S (ti) Δ 2 S (ti + 1) = Δ 2 S (ti) + Δ 3 S (ti) Δ 3 S (Ti + 1) = Δ 3 S (ti) Equation (2) Their matrices M (t0), M (t1), M (t2) ...
The time interval δ at which M (tn) is obtained is represented by δ = ti + 1−ti... (3), and the number n of the differential operation and the addition of the increment amount is n = (tn + t0) / δ. 4) Formula:
ここで、差分マトリクスの演算に際し、3次微分増分
量Δ3S(ti)の初期値Dに含まれる誤差εと最終的に累
積する誤差Eの許容値E maxがデータ入力部20から予め
取り込まれる。Here, when calculating the difference matrix, the error ε included in the initial value D of the tertiary differential increment Δ 3 S (ti) and the allowable value E max of the error E to be finally accumulated are taken in from the data input unit 20 in advance. It is.
曲線100の終点Pnで最終的に累積する誤差Eは、第3
図におけるマトリクスM(tn)の第1要素S(tn)から
理解されるように、 E=n(n−1)(n−2)ε/6 ・・・第(5)式 で示される。The error E finally accumulated at the end point Pn of the curve 100 is
As understood from the first element S (tn) of the matrix M (tn) in the figure, E = n (n−1) (n−2) ε / 6...
その第(5)式は、曲線形成点Pi+1の間隔δが最も
密となる最大の形成点総数n maxを用いて E=n max(n max−1)(n max−2)ε/6 ・・・第(6)式 と表現でき、また、このときの時間間隔δ minは δ min=(tn−t0)/n max ・・・第(7)式 で示される。The equation (5) uses the maximum total number of forming points n max at which the interval δ between the curve forming points Pi + 1 is the densest, and E = n max (n max−1) (n max−2) ε / 6 · .Times..times..times..times..times..times..times..times..times..times..times..tim- es..times..times..times..times..times.
その累積誤差Eが許容値E max以上となる条件は、 n max(n max−1)(n max−2)>6E max/ε ・・・第(8)式 で示され、この第(8)式は累積算出部22で生成され
る。The condition that the accumulated error E is equal to or larger than the allowable value Emax is represented by nmax (nmax-1) (nmax-2)> 6Emax / ε (8). Expression) is generated by the accumulation calculating unit 22.
そして、差分マトリクス算出部24及び増分加算部28に
より第(8)式における左辺の値が差分マトリクス法で
求められ、第(8)式を満たす最大の形成点総数n max
が選択される。Then, the value of the left side in the expression (8) is obtained by the difference matrix method by the difference matrix calculation unit 24 and the increment addition unit 28, and the maximum total number of formed points n max satisfying the expression (8)
Is selected.
すなわち、最大の形成点総数n maxが0以上の整数で
あるので、その総数n maxに0,1,2・・・を第(8)式に
代入して左辺の値を求める処理が繰り返される。That is, since the maximum forming point total number n max is an integer of 0 or more, the process of substituting 0, 1, 2,... .
それら左辺の値は累積誤差算出部22に増分値加算部28
から逐次与えられ、第(8)式を満たす総数n maxが選
択される。The values on the left side are added to the accumulated error calculation unit 22 and the increment value addition unit 28.
, And a total number n max satisfying the expression (8) is selected.
さらに、累積誤差算出部22からこの総数n maxが間隔
決定部26に与えられ、間隔決定部26では n max=n max−1 ・・・第(9)式 に従って最大の形成点総数n maxが定められる。Further, the total number n max is given from the accumulated error calculating unit 22 to the interval determining unit 26, and the interval determining unit 26 calculates the maximum total number n max of forming points according to the following equation (9). Determined.
以上のように本実施例においては、第(8)式の左辺
が曲線100と同様な3次曲線式でこの式を満たす解が0
以上の整数であることに着目して最大総数n maxが差分
マトリクス法を用いてハードウェアで求められる。As described above, in the present embodiment, the solution on the left side of the equation (8) is a cubic curve equation similar to the curve 100 and the solution satisfying the equation is 0.
Paying attention to the above integers, the maximum total number n max is obtained by hardware using the difference matrix method.
したがって、ニュートン法などのように解の収束性や
算出所要時間の点で問題が生ずることはなく、第(8)
式の解が高速に算出される。Therefore, there is no problem in terms of the convergence of the solution and the time required for the calculation, unlike the Newton method or the like.
The solution of the equation is calculated at high speed.
しかも、差分マトリクス法による演算が整数演算であ
るので、誤差が皆無となり、このため、正確な解を求め
ることが可能となる。In addition, since the operation by the difference matrix method is an integer operation, there is no error, and an accurate solution can be obtained.
なお、増分値加算部28では S(n max)=n max(n max−1)(n max−2) ・・・第(10)式 が対象の曲線式として取り扱われる。 In the increment value adder 28, S (nmax) = nmax (nmax-1) (nmax-2) (Equation (10)) is treated as the target curve equation.
また、その際に第3図の値A,B,C,Dで示されるマトリ
クス要素は、 S(n maxi+1)=S(n maxi) ・・・第(11)式 ΔS(n maxi+1)=ΔS(n maxi)+Δ2S(n max
i) ・・・第(12)式 Δ2S(n maxi+1)=Δ2S(n maxi)+Δ3S(n max
i) ・・・第(13)式 Δ3S(n maxi+1)=Δ3S(n maxi) ・・・第(14)式 で各々示され、第(10)式から値A,B,C,Dの相当値An,B
n,Cn,Dnが次の第(15)式から求められる。At this time, the matrix elements indicated by the values A, B, C, and D in FIG. 3 are: S (n maxi + 1) = S (n maxi)... Equation (11) ΔS (n maxi + 1) = ΔS (N maxi) + Δ 2 S (n max
i) · · · No. (12) Δ2S (n maxi + 1) = Δ 2 S (n maxi) + Δ 3 S (n max
i) ··· Expression (13) Δ 3 S (n maxi + 1) = Δ 3 S (n maxi) ··· Expression (14), and values A, B and C from expression (10) , D equivalent value An, B
n, Cn, and Dn are obtained from the following equation (15).
An=Bn=Cn=0 Dn=6 ・・・第(15)式 このようにして間隔決定部26で最小の時間間隔δ min
が求められると、第3図の値A,B,C,Dが完全に定まり、
以下は第(2)式に従って差分マトリクスの演算がn ma
x回繰り返えされる。An = Bn = Cn = 0 Dn = 6 Expression (15) Thus, the minimum time interval δ min in the interval determination unit 26 is obtained.
Is obtained, the values A, B, C, D in FIG. 3 are completely determined,
In the following, the operation of the difference matrix is n ma according to the equation (2).
Repeated x times.
ただし、実際にはシフト数γを用いて次の第(16)式
で示される演算が行われ、これにより演算精度が高めら
れる。However, in practice, the calculation represented by the following expression (16) is performed using the shift number γ, thereby increasing the calculation accuracy.
S(ti+1)=S(ti)+γ*(1/γ)ΔS(ti)
(1/γ)ΔS(ti+1) =(1/γ)ΔS(ti)+γ*(1/γ2) Δ2S(ti)(1/γ2)Δ2S(ti+1) =(1/γ2)Δ2S(ti)+γ*(1/γ3)Δ3S(t
i)(1/γ3) Δ3S(ti+1) =(1/γ3)Δ3S(ti) ・・・第(16)式 また、曲線形成点Piの間隔が1ドットとなる場合に
は、それらの間を結ぶ直線は直線発生器で生成できる。S (ti + 1) = S (ti) + γ * (1 / γ) ΔS (ti)
(1 / γ) ΔS (ti + 1) = (1 / γ) ΔS (ti) + γ * (1 / γ2) Δ 2 S (ti) (1 / γ2) Δ 2 S (ti + 1) = (1 / γ2) Δ 2 S (ti) + γ * (1 / γ3) Δ 3 S (t
i) (1 / γ3) Δ 3 S (ti + 1) = (1 / γ3) Δ 3 S (ti) ··· first (16) Further, when the distance between the curve forming point Pi is 1 dot, The straight line connecting them can be generated by a straight line generator.
以上説明したように本実施例によれば、初期誤差εと
誤差許容値E maxが与えられることにより最終的な累積
誤差Eが誤差許容値E max以下となるので、差分マトリ
クス法で高品質な曲線100を生成できる。As described above, according to the present embodiment, the final accumulated error E is equal to or less than the error allowable value Emax by giving the initial error ε and the error allowable value Emax. A curve 100 can be generated.
また、最小の時間間隔δ minも差分マトリクス法で求
められるので、高品質な曲線100を高速に生成できる。Further, since the minimum time interval δ min is also obtained by the difference matrix method, a high quality curve 100 can be generated at high speed.
このため、CG,CADの処理が行われる装置を著しく高性
能化することが可能となる。For this reason, it is possible to remarkably improve the performance of an apparatus for performing CG and CAD processing.
なお、初期誤差ε,誤差許容値E maxが大きな場合に
は、時間間隔δ maxもこれに応じて拡大するので、曲線
100の生成速度が極めて高くなる。When the initial error ε and the allowable error value Emax are large, the time interval δmax also increases accordingly.
The production rate of 100 becomes extremely high.
したがって、初期誤差ε及び誤差許容値E maxの指定
により、曲線100の生成速度と生成精度のいずれを優先
すべきかを用途に応じて選択できる。Therefore, by specifying the initial error ε and the error allowable value Emax, it is possible to select which of the generation speed and the generation accuracy of the curve 100 should be prioritized according to the application.
[発明の効果] 以上説明したように本発明によれば、最終的な累積誤
差が誤差許容値以下となる時間間隔を用いて差分マトリ
クスの演算が行われ、その時間間隔も差分マトリクス法
で算出できるので、高品質な曲線を航測に生成するハー
ドウェアを構成することが可能となる。[Effects of the Invention] As described above, according to the present invention, a difference matrix is calculated using a time interval at which the final accumulated error is equal to or less than the error allowable value, and the time interval is also calculated by the difference matrix method. Therefore, it is possible to configure hardware for generating a high-quality curve for navigation.
第1図は発明の原理説明図、 第2図は実施例の構成説明図、 第3図は差分マトリクス算出部及び増分値加算部の作用
説明図、 である。 20……データ入力部 22……累積誤差算出部 24……差分マトリクス算出部 26……間隔決定部 28……増分値加算部 30……曲線出力部FIG. 1 is a diagram illustrating the principle of the invention, FIG. 2 is a diagram illustrating the configuration of an embodiment, and FIG. 3 is a diagram illustrating the operation of a difference matrix calculation unit and an increment value addition unit. 20 data input unit 22 cumulative error calculation unit 24 difference matrix calculation unit 26 interval determination unit 28 increment value addition unit 30 curve output unit
フロントページの続き (56)参考文献 特開 昭64−41077(JP,A) 特開 昭62−297984(JP,A) 特開 昭64−82281(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06T 11/00 - 11/20Continuation of front page (56) References JP-A-64-41077 (JP, A) JP-A-62-297984 (JP, A) JP-A-64-82281 (JP, A) (58) Fields investigated (Int) .Cl. 6 , DB name) G06T 11/00-11/20
Claims (1)
Pi+1・・・Pn)のいずれか(Pi)と対応したマトリク
ス(M(ti))を微分演算して該マトリクス(M(t
i))から所定の時間間隔(δ)だけ離れた次のマトリ
クス(M(ti))までの増分量(a)を算出する手段
と、 算出された増分量(a)と算出基準のマトリクス(M
(t+i))とを加算する手段と、 該加算値より次の曲線形成点(Pi+1)と対応したマト
リクス(M(ti+1)を求める処理を行う手段と、 該処理を前記曲線(100)の始点(P0)と対応したマト
リクス(M(t0))を初期値として該曲線(100)の終
点(Pn)と対応したマトリクス(M(tn))が得られる
まで繰り返す手段と、を備えた曲線生成装置において、 前記初期値のマトリクス(M(t0))に含まれた誤差
(ε)が前記加算の繰り返しにより前記終点(Pn)まで
に蓄積する量(E)を示し曲線形成点(P0・・・Pi,Pi
+1・・・Pn)の総数(n)が変数となる関数(f)を
定める手段(ステップ110)と、 該関数(f)の値(E)が許容値(Emax)以下のときに
最大となる曲線形成点(P0・・・Pi,Pi+1・・・Pn)
の総数(n max)を選択する手段(ステップ120)と、 曲線(100)の始点(P0)から終点(Pn)までの時間的
な長さ(tn〜t0)と選択された総数(n max)とから前
記時間間隔(δmin)を求める手段(ステップ130)と、 を有する ことを特徴とする曲線生成装置。1. Each point (P0... Pi,
Pi + 1... Pn), the matrix (M (ti)) corresponding to any of (Pi) is differentiated, and the matrix (M (t)
means for calculating an increment (a) from the i)) to the next matrix (M (ti)) separated by a predetermined time interval (δ), and a matrix of the calculated increment (a) and a calculation reference ( M
(T + i)), means for obtaining a matrix (M (ti + 1)) corresponding to the next curve forming point (Pi + 1) from the added value, and starting the curve (100). Means for repeating until a matrix (M (tn)) corresponding to the end point (Pn) of the curve (100) is obtained using a matrix (M (t0)) corresponding to (P0) as an initial value. In the apparatus, an error (ε) included in the matrix of initial values (M (t0)) indicates an amount (E) accumulated up to the end point (Pn) by repeating the addition, and a curve forming point (P0...)・ Pi, Pi
Means for determining a function (f) in which the total number (n) of (+1... Pn) is a variable (Step 110); and a maximum when the value (E) of the function (f) is equal to or less than an allowable value (Emax). Curve forming point (P0 ... Pi, Pi + 1 ... Pn)
Means (step 120) for selecting the total number (n max) of the curves, the time length (tn to t0) from the start point (P0) to the end point (Pn) of the curve (100), and the total number (n max ) And a means (Step 130) for obtaining the time interval (δmin) from the above.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1243645A JP2854035B2 (en) | 1989-09-20 | 1989-09-20 | Curve generator |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1243645A JP2854035B2 (en) | 1989-09-20 | 1989-09-20 | Curve generator |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH03105579A JPH03105579A (en) | 1991-05-02 |
| JP2854035B2 true JP2854035B2 (en) | 1999-02-03 |
Family
ID=17106902
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1243645A Expired - Lifetime JP2854035B2 (en) | 1989-09-20 | 1989-09-20 | Curve generator |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2854035B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117075612A (en) * | 2023-09-13 | 2023-11-17 | 东南大学 | A fast path planning based on improved visualization and a trajectory optimization method based on ESDF map |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2712078B2 (en) * | 1987-09-25 | 1998-02-10 | 株式会社東芝 | Δt determination method suitable for plotting a Bezier cubic curve |
| JPH01154292A (en) * | 1987-12-10 | 1989-06-16 | Fujitsu Ltd | Curve generating system |
-
1989
- 1989-09-20 JP JP1243645A patent/JP2854035B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH03105579A (en) | 1991-05-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112889219A (en) | Variable phase and frequency pulse width modulation technique | |
| WO1990004818A1 (en) | Spline interpolation system | |
| JPH0373883B2 (en) | ||
| JPS6367680A (en) | Curved line generating method | |
| CN109164759B (en) | Curve interpolation method, equipment and computer readable storage medium | |
| US3806713A (en) | Method and apparatus for maximizing the length of straight line segments approximating a curve | |
| US4581698A (en) | Method and system for generating interpolation pulses | |
| JPH09294393A (en) | Equipment and method for force correction in reluctance motor | |
| JP2854035B2 (en) | Curve generator | |
| JPS63229506A (en) | Output system for axis speed | |
| EP0349182B1 (en) | Method and apparatus for approximating polygonal line to curve | |
| JP2677273B2 (en) | A polygonal line approximation device for cubic Bezier curves | |
| WO1989009954A1 (en) | Method and apparatus for generating spatial curve | |
| CN112068487B (en) | Interpolation control method, interpolation control device and readable storage medium | |
| US5231340A (en) | Servomotor control method | |
| JPH01217562A (en) | System for generating computing grid | |
| JPH01292405A (en) | Digital position servo device | |
| JP2000056822A (en) | Trajectory control device | |
| US5917301A (en) | Method for generating a motion profile of a motor | |
| JP2538645B2 (en) | Curved line approximation device | |
| CN117226193B (en) | Wire-cut electric discharge machine hardware interpolation method, device and storage medium | |
| JP3513989B2 (en) | Command interpolation method for positioning control system | |
| JP3078273B2 (en) | Ultrasonic motor speed control method and apparatus | |
| JP2995812B2 (en) | Tool path generation method by numerical controller | |
| JPS6350722B2 (en) |