JP2683239B2 - Curve interpolation generator - Google Patents
Curve interpolation generatorInfo
- Publication number
- JP2683239B2 JP2683239B2 JP26994887A JP26994887A JP2683239B2 JP 2683239 B2 JP2683239 B2 JP 2683239B2 JP 26994887 A JP26994887 A JP 26994887A JP 26994887 A JP26994887 A JP 26994887A JP 2683239 B2 JP2683239 B2 JP 2683239B2
- Authority
- JP
- Japan
- Prior art keywords
- curve
- control
- control point
- position coordinates
- points
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Image Generation (AREA)
Description
【発明の詳細な説明】
〔発明の属する技術分野〕
本発明は,制御点列から補間曲線により補間点を求
め,これらの補間点を接続して当該曲線を生成する曲線
補間生成処理装置に関する。
〔従来の技術〕
以下、補間関数として2次元座標空間における3次ス
プライン関数を例にとり従来の曲線補間生成処理装置を
説明する。
第5図は従来の曲線補間生成処理装置の処理概要を示
す図,第6図は2次元座標空間での従来の曲線補間生成
処理装置における制御点と補間生成された曲線形状を示
す図である。
第6図に示すP1,P2,……,P7は制御点,制御点列間を
結ぶ実線は後述する3次スプライン関数により補間生成
された曲線を示す。
2次元X−Y空間の曲線Cは一般的に次に示す関数で
表現できる。
C:f(X,Y)=0
ここにXは曲線CのX座標,Yは曲線CのY座標を,fは
曲線Cの形状を表す関数を示す。この曲線Cを表現する
一手法として3次スプライン関数による補間方法があ
る。3次スプライン関数は2次までの微分係数が制御点
において連続であるような滑らかな曲線表現に適した関
数であり,CAD等の分野で使用されている。曲線Cに沿っ
て取った制御点をP1(X1,Y1),P2(X2,Y2),……,Pi
(Xi,Yi),……,Pn(Xn,Yn)とすると,3次スプライン
関数による曲線Cの表現は以下のようになる。
X(t)=A0+A1t+A2t2+A3t3
Y(t)=B0+B1t+B2t2+B3t3
ここに,tは 0tTi (Ti:定数)
の範囲で変化するパラメータであり,
t=0のとき X(t)=Xi,Y(t)=Yi
t=Tiのとき X(t)=Xi+1,Y(t)=Yi+1
(i=1,2,……,n−1)
また,A0,A1,A2,A3およびB0,B1,B2,B3は定数である。
これらの定数は,制御点P1,P2,……,Pnの座標値および
曲線の端点(始点)P1および(終点)Pnにおける接線ベ
クトル値(1次微分係数)あるいは2次微分係数を規定
する終端条件を与えることにより決定される。
終端条件としては,始点P1および終点Pnの接線ベクト
ルと2次微分係数とを夫々簡略表現でP1′,Pi″およびP
n′,Pn″とすると
自由条件(P1″=Pn″=0の場合),
周期適条件(P1′=Pn′,P1″=Pn″の合成),
反周期的条件(P1′=−Pn′,P1″=−Pn″の場
合),
固定条件(P1′およびPn′の値を特定の値に指令す
る場合)
がある。
具体的に3次スプライン関数を用いて第6図の実線20
2で示すような曲線を生成するには,第5図図示フロー
チャートに示すように,先ず制御点P1,P2,……,P7の位
置座標および端点P1,P7における前記に示すような終端
条件を与えて,各々の制御点間の曲線を3次スプライン
関数により表現する。次に表示装置などにより生成した
曲線を表示することにより,生成した曲線の形状を確認
する。当該曲線の形状がフィットしていない場合は,不
適切と思われる制御点の位置座標を修正した後,再度3
次スプライン関数で制御点間の曲線形状を表現する。第
6図に制御点P4の位置をP4′に変更した場合に同じ終端
条件で3次スプライン関数により生成した曲線を点線21
2で示す。曲線の形状がフィットするまで前記修正を繰
り返す。
このように従来の曲線補間生成処理装置では,第5図
に示すように,生成された曲線形状が意図した曲線形状
にフィットしないときに,単にフィットしていない曲線
区間にある制御点の位置座標を修正して,修正した位置
座標を用いて再度補間関数により曲線形状を算出してい
たため,第6図から明らかなような位置座標を修正した
制御点の両側の区間の曲線部分のみならず,曲線全体の
形状に前記制御点の位置座標修正の影響が現れてしまう
問題があった。この問題は,グラフィックディスプレイ
等を用いて物体の形状曲線などを補間関数で会話的に生
成する際に,生成した曲線のフィットしていない部分の
制御点の位置を変更して曲線全体をうまくフィットさせ
ようとしたときに,逆にいままでうまくフィットしてい
た部分がフィットしなくなるという現象として現れる。
このため,従来補間関数で曲線を補間表現する際に制御
点のとりかたに専門的な知識を必要としたり,補間関数
そのものが曲線補間生成の方法としては使いにくい等の
原因となっていた。
〔発明の目的〕
本発明の目的は,この様な問題を解決し,使いやすい
曲線補間生成処理装置を提供することにある。
〔発明の構成及び作用〕
本発明は,曲線を生成する際に制御点における接線ベ
クトル値を予め算出記憶しておき,生成した前記曲線の
形状を修正する際に,形状を修正する曲線区間の制御点
(列)の新たな位置座標および該曲線区間の両端点とな
る制御点における前記記憶してある接線ベクトル値を用
いて,固定の終端条件で当該曲線区間のみ曲線形状を算
出するようにしたことをもっとも大きな特徴とし,従来
の曲線補間生成処理装置とは,形状を修正する前記曲線
区間の両端点の接線ベクトルを用いて該曲線区間のみの
形状を算出するようにした点が異なる。
以下図面に基づいて,2次元座標空間において補間関数
による曲線補間生成処理装置を例にとり説明する。
第1図は本発明による曲線補間生成処理装置の一実施
例の処理概要を示す図,第2図は本発明により生成され
た曲線の例を示す図である。
具体的に補間関数を用いて第2図の実線402で示すよ
うな曲線を生成するには,第1図に示すように,先ず制
御点P1,2,……,P7の位置座標および端点P1,P7における
前述したような終端条件を与えて,各々の制御点間の曲
線を補間関数により表現する。この際,各制御点におけ
る接線ベクトル値を算出して記憶しておく。この時の補
間関数として3次スプライン関数を用いることが出来
る。次に表示装置などにより生成した曲線を表示するこ
とにより,生成した曲線の形状を確認する。当該曲線の
形状がフィットしていない場合には,該曲線の形状を修
正すべき区間(修正区間)に含まれる不適切と思われる
制御点の位置座標を修正した後,該修正区間を新たな曲
線生成区間として,該曲線生成区間に含まれる制御点の
位置座標および該曲線生成区間の両端点における制御点
の前記記憶してある接線ベクトル値を与えて固定終端条
件(即ち,端点における接線ベクトル値を指定する終端
条件)で,再度補間関数で前記修正区間の曲線形状を算
出する。そして当該修正区間の曲線形状と非修正部分と
を結合するようにする。この際,修正区間の各制御点に
おける接線ベクトル値を算出して記憶しておく。このよ
うに動作するので,修正区間の制御点位置座標を変更し
ても修正区間以外の曲線形状を変えないようにすること
が出来,かつ修正区間の両端点において滑らかな曲線の
接続を可能とする。曲線の形状がフィットしていない場
合は前述の操作を繰り返すことができる。
第2図は制御点P4の位置をP4′に変更した場合に本発
明の処理装置で補間関数により生成した曲線を点線412
で示す。第2図に示す従来の処理装置の結果と比べて違
いが明らかなように,本発明では制御点をP4からP4′の
位置に変更してもP1とP3に挟まれた曲線およびP5とP7に
挟まれた曲線の形状には変化が無い。
第1図および第2図では,一つの制御点の修正を例に
取り説明したが,複数の制御点(即ち,制御点列)の修
正の場合でも,該制御点列の修正位置座標と,該制御点
列の1つ前の制御点および1つ後の制御点における位置
座標と接線ベクトルとを用いて,前記制御点列の1つ前
の制御点および1つ後の制御点に挟まれた曲線区間のみ
の形状修正をすることが,同様にして出来ることは明ら
かである。
第3図は本発明による曲線補間生成処理装置の一実施
例の構成を示す図である。501はデータの入力や各種処
理のコマンド情報を入力する会話端末装置,502は生成し
た曲線等を表示するグラフィックディスプレイ,504は制
御点の位置座標・接線ベクトル値,終端条件,曲線形状
等を記憶するデータ記憶装置,505は制御点列の位置座標
及び生成曲線終端条件を与えることにより補間関数を用
いて曲線を生成する曲線生成演算装置,503は前記装置お
よび全体の処理の制御をする制御装置,506は装置間を接
続するバス(あるいは通信回線)である。
これを動作させるには,初期設定した後,制御装置50
3の指示に基づいて,先ず会話端末501より制御点の個
数,それぞれの位置座標,終端条件を入力し,制御装置
503を介してデータ記憶装置504に記憶する。データの記
憶形式は例えば第4図の様に夫々の制御点に対応して接
線ベクトルを保持するものでよい。制御装置503は曲線
生成演算装置505に指示して,データ記憶装置504に記憶
されている制御点の個数・位置座標,終端条件を読み出
し,曲線形状を算出させ,その曲線形状データおよび曲
線形状を算出する過程で求めた各制御点における接線ベ
クトル値を制御装置503を介してデータ記憶装置504に記
憶しておく。制御装置503はグラフィックディスプレイ5
02に指示してデータ記憶装置504から該曲線形状データ
を読みださせ,曲線を表示させる。グラフィックディス
プレイ502に表示された曲線形状を見て,操作者は曲線
形状が一部分フィットしていないと判断した場合は,会
話端末501から予め決められた情報を入力することによ
り制御装置503にその旨を通知する。この後,制御装置5
03からの指示に基づいて会話端末501よりフィットして
いない曲線区間(修正区間)に含まれる位置を修正すべ
き制御点あるいは制御点列(これをPi〜Pi+jとする;
i,jは数字)情報(例えば前記の場合はi,i+j),修正
後の制御点(列)の修正位置座標を入力する(この際,
修正区間の一部に位置座標が変更されない場合があって
もかまわない)。制御装置503は入力された修正区間制
御点番号i,i+jを曲線生成区間制御点番号として,ま
た制御点(列)Pi,……,Pi+jの修正位置座標をデータ
記憶装置504の該当アドレスに書き込む。制御装置503は
曲線生成演算装置505に修正区間の曲線形状の算出を指
示すると,曲線生成演算装置505はデータ記憶装置504か
ら曲線生成区間制御点番号i,i+jを読み出し,これに
基づいて制御点Pi−1,Pi,……,Pi+j,Pi+j+1(i−
1≧1,i+j+1≦7)の位置座標,および制御点Pi−
1およびPi+j+1の接線ベクトル値を読み出し,終端
条件として固定条件(即ち,端点における接線ベクトル
値を指定する終端条件)で制御点Pi−1と制御点Pi+j
+1に挟まれた曲線の形状を算出する。曲線生成演算装
置505からの曲線形状算出完了に基づいて,制御装置503
はデータ記憶装置504から既に算出した曲線形状データ
を読み出し,制御点Pi−1とPi+j+1に挟まれた曲線
形状データを曲線生成演算装置505で新たに算出された
修正区間の曲線形状データと入れ換えてデータ記憶装置
504の曲線形状データに再度記憶する(この修正区間の
曲線形状データの“入れ換え”は,形状データの形式に
より,制御装置503の指示により曲線生成演算装置505か
らデータ記憶装置504に直接書き込むことにより行うこ
ともできる)。また曲線生成演算装置505において修正
区間の曲線形状算出の過程で求められた制御点Pi,……,
Pi+jの接線ベクトル値は,データ記憶装置504の該当
の位置に記憶させる。この後,制御装置503はグラフィ
ックディスプレイ502に指示してデータ記憶装置504から
該曲線形状データを読みだし,曲線を表示させる。
以後,操作者が曲線形状が適当であると判断するまで
曲線の修正動作を繰り返す。
前記説明では,生成した曲線の一部を修正する際に,
位置を修正する制御点(列)Pi,……,Pi+jの1つ前お
よび1つ後の制御点Pi−1,Pi+j+1の接線ベクトルを
用いて制御点Pi−1と制御点Pi+j+1に挟まれた曲線
を修正する方法を説明したが,位置を修正する制御点
(列)Pi,……,Pi+jのm1個前およびm2個後の制御点Pi
−m1(i−m1≧1),Pi+j+m2(i+j+m2≦7)の
接線ベクトルを用いて制御点Pi−m1と制御点Pi+j+m2
に挟まれて曲線を修正する場合も,以下のようにして可
能である。
曲線を最初に生成し,グラフィックディスプレイに該
曲線を表示するところまでは前記説明と同様である。
グラフィックディスプレイ502に表示された曲線形状
を見て,操作者が曲線形状が一部分フィットしていない
と判断した場合は,会話端末501から予め決められた情
報を入力することにより制御装置503にその旨を通知す
る。この後,制御装置503からの指示に基づいて会話端
末501よりフィットしていない曲線区間(修正区間)に
含まれる位置を修正すべき制御点あるいは制御点列(Pi
〜Pi+j)情報(例えばi,i+j),該制御点(列)の
修正位置座標(この際,修正区間の一部に位置座標が変
更されない場合があってもかまわない)および新たな曲
線生成区間制御点番号i−m1+1,i+j+m2−1を入力
する。制御装置503は入力された修正すべき制御点
(列)情報i,i+jに基づいてから,制御点Pi,……,Pi
+jの修正位置座標を,および曲線生成区間制御点番号
i−m1+1,i+j+m2−1をデータ記憶装置504の該当ア
ドレスにそれぞれ書き込む。制御装置503は曲線生成演
算装置505に修正区間の曲線形状の算出を指示すると,
曲線生成演算装置505はデータ記憶装置504から曲線生成
区間制御点番号i−m1+1,i+j+m2−1を読み出し,
これに基づいて制御点Pi−m1,Pi−m1+1,……,Pi+j+
m2−1,Pi+j+m2(i−m1≧1,i+j+m2≦7)の位置
座標,および制御点Pi−m1およびPi+j+m2の接線ベク
トル値を読み出し,終端条件として固定条件(即ち,端
点における接線ベクトル値を指定する終端条件)で制御
点Pi−m1と制御点Pi+j+m2に挟まれた曲線の形状を算
出する。
曲線生成してから再度グラフィックディスプレイ502
に表示するところまでは前記説明と同様である。以後,
操作者が曲線形状が適当であると判断するまで曲線の修
正動作を繰り返す。
以上では2次元座標空間への適用を例に取り説明した
が,本発明はN次元座標空間で一般的に適用できる。
〔発明の効果〕
以上説明したような,本発明によれば,一度指定した
制御点から補間関数により曲線形状を算出した後で,一
部の制御点(列)の位置座標を修正しても,該修正制御
点を除いた他の制御点間では曲線形状が変化しないかも
しくは変化を小さく抑えることが出来る。このため,会
話的に曲線を生成したり,形状を修正したりすることが
容易であり,かつ特別な知識がなくとも補間関数の曲線
形状表現への直感的な適用を可能とする。Description: TECHNICAL FIELD The present invention relates to a curve interpolation generation processing device for obtaining interpolation points from a control point sequence by an interpolation curve and connecting these interpolation points to generate the curve. [Prior Art] A conventional curve interpolation generation processing device will be described below by taking a cubic spline function in a two-dimensional coordinate space as an example of an interpolation function. FIG. 5 is a diagram showing a processing outline of a conventional curve interpolation generation processing device, and FIG. 6 is a diagram showing control points and curve shapes generated by interpolation in the conventional curve interpolation generation processing device in a two-dimensional coordinate space. . P1, P2, ..., P7 shown in FIG. 6 indicate solid lines connecting control points and control point sequences, which are curves generated by interpolation by a cubic spline function described later. The curve C in the two-dimensional XY space can be generally expressed by the following function. C: f (X, Y) = 0 where X is the X coordinate of the curve C, Y is the Y coordinate of the curve C, and f is a function representing the shape of the curve C. One method of expressing the curve C is an interpolation method using a cubic spline function. The cubic spline function is a function suitable for a smooth curve expression in which differential coefficients up to quadratic are continuous at control points and are used in the field of CAD and the like. The control points taken along the curve C are P1 (X1, Y1), P2 (X2, Y2), ..., Pi
Letting (Xi, Yi), ..., Pn (Xn, Yn), the expression of the curve C by the cubic spline function is as follows. X (t) = A0 + A1t + A2t 2 + A3t 3 Y (t) = B0 + B1t + B2t 2 + B3t 3 herein, t is 0TTi: a parameter that varies in the range of (Ti constant), when t = 0 X (t) = Xi, When Y (t) = Yi t = Ti X (t) = Xi + 1, Y (t) = Yi + 1 (i = 1,2, ..., n-1) Also, A0, A1, A2, A3 and B0, B1, B2, B3 are constants.
These constants are the coordinate values of the control points P1, P2, ..., Pn and the tangent vector values (first derivative) or the second derivative of the curve end points (start point) P1 and (end point) Pn. It is determined by giving conditions. As terminating conditions, the tangent vectors of the starting point P1 and the ending point Pn and the second derivative are respectively expressed in simplified expressions as P1 ′, Pi ″ and P
Let n ′ and Pn ″ be free conditions (when P1 ″ = Pn ″ = 0), periodic appropriate conditions (combination of P1 ′ = Pn ′, P1 ″ = Pn ″), antiperiodic conditions (P1 ′ = − Pn) ′, P1 ″ = − Pn ″), and fixed conditions (when the values of P1 ′ and Pn ′ are commanded to specific values). Specifically, using the cubic spline function, the solid line 20 in FIG.
In order to generate a curve as shown in 2, the position coordinates of the control points P1, P2, ..., P7 and the termination conditions as described above at the end points P1, P7 are first set as shown in the flowchart of FIG. Given, the curve between each control point is represented by a cubic spline function. Next, the shape of the generated curve is confirmed by displaying the curve generated by a display device or the like. If the shape of the curve does not fit, correct the position coordinates of the control point that seems to be inappropriate and then repeat 3
The curve shape between the control points is expressed by the quadratic spline function. In Fig. 6, the curve generated by the cubic spline function under the same termination condition when the position of the control point P4 is changed to P4 'is the dotted line 21.
Shown in 2. The above modification is repeated until the shape of the curve fits. Thus, in the conventional curve interpolation generation processing device, as shown in FIG. 5, when the generated curve shape does not fit the intended curve shape, the position coordinates of the control points in the curve section that is not fitted are simply Was corrected, and the curve shape was calculated again by the interpolation function using the corrected position coordinates. Therefore, not only the curved parts of the sections on both sides of the control point whose position coordinates were corrected, as is clear from FIG. There is a problem in that the shape of the entire curve is affected by the correction of the position coordinates of the control points. This problem is that when interactively generating a shape curve of an object using a graphic display using an interpolation function, changing the position of the control point of the non-fitted part of the generated curve to fit the entire curve well. On the contrary, when trying to do so, it appears as a phenomenon that the part that has been fitted well until now does not fit.
For this reason, in the past, when the curve was interpolated by the interpolation function, specialized knowledge was required in the way of the control points, and the interpolation function itself was difficult to use as a method for generating the curve interpolation. . [Object of the Invention] An object of the present invention is to solve such a problem and to provide an easy-to-use curve interpolation generation processing device. [Configuration and Operation of the Invention] In the present invention, the tangent vector value at a control point is calculated and stored in advance when a curve is generated, and when the shape of the generated curve is corrected, Using the new position coordinates of the control point (column) and the stored tangent vector values at the control points that are the end points of the curve section, the curve shape is calculated only for the curve section under a fixed termination condition. This is the most significant feature, and differs from the conventional curve interpolation generation processing device in that the shape of only the curved section is calculated by using the tangent vectors at both end points of the curved section whose shape is corrected. Hereinafter, a curve interpolation generation processing device using an interpolation function in a two-dimensional coordinate space will be described as an example with reference to the drawings. FIG. 1 is a diagram showing a processing outline of an embodiment of a curve interpolation generation processing device according to the present invention, and FIG. 2 is a diagram showing an example of a curve generated according to the present invention. To specifically generate a curve as shown by the solid line 402 in FIG. 2 using an interpolation function, first, as shown in FIG. 1, the position coordinates of the control points P1, 2, ... Then, the above-mentioned termination condition in P7 is given and the curve between each control point is expressed by an interpolation function. At this time, the tangent vector value at each control point is calculated and stored. A cubic spline function can be used as the interpolation function at this time. Next, the shape of the generated curve is confirmed by displaying the curve generated by a display device or the like. If the shape of the curve does not fit, the position coordinates of the control points that are considered to be inappropriate and are included in the section (correction section) in which the shape of the curve should be corrected are corrected, and then the correction section is newly updated. As the curve generation section, the position coordinates of the control points included in the curve generation section and the stored tangent vector values of the control points at both end points of the curve generation section are given to give a fixed termination condition (that is, a tangent vector at the end point). Under the end condition for specifying the value), the curve shape of the modified section is calculated again by the interpolation function. Then, the curved shape of the correction section and the non-correction portion are combined. At this time, the tangent vector value at each control point in the correction section is calculated and stored. Since it operates in this way, even if the control point position coordinates of the correction section are changed, it is possible to keep the curve shape other than the correction section unchanged, and it is possible to connect smooth curves at both end points of the correction section. To do. If the shape of the curve does not fit, the above operation can be repeated. FIG. 2 shows a curve generated by the interpolation function in the processing apparatus of the present invention when the position of the control point P4 is changed to P4 ', which is indicated by a dotted line 412.
Indicated by As is apparent from the comparison with the result of the conventional processing apparatus shown in FIG. 2, in the present invention, even if the control point is changed from P4 to P4 ', the curve between P1 and P3 and P5 and P7. There is no change in the shape of the curve sandwiched between. In FIGS. 1 and 2, the correction of one control point is described as an example, but even in the case of correction of a plurality of control points (that is, a control point sequence), the correction position coordinates of the control point sequence, It is sandwiched between the control point one before and the control point one after the control point sequence by using the position coordinates and the tangent vector at the control point one before and one control point after the control point sequence. It is obvious that the shape modification of only the curved section can be done in the same way. FIG. 3 is a diagram showing the configuration of an embodiment of the curve interpolation generation processing device according to the present invention. 501 is a conversation terminal device for inputting data and command information for various processes, 502 is a graphic display for displaying a generated curve, etc., 504 is storage of position coordinates and tangent vector values of control points, end conditions, curve shape, etc. 505 is a data storage device, 505 is a curve generation calculation device that generates a curve using an interpolation function by giving position coordinates of a control point sequence and a generation curve end condition, and 503 is a control device that controls the device and the overall processing Reference numeral 506 is a bus (or communication line) that connects the devices. To make it work, after initializing,
Based on the instruction of 3, the number of control points, each position coordinate, and the end condition are first input from the conversation terminal 501, and the control device
Data is stored in the data storage device 504 via 503. The data storage format may be such as to hold tangent vectors corresponding to respective control points as shown in FIG. The control device 503 instructs the curve generation calculation device 505 to read the number / position coordinates of the control points and the termination condition stored in the data storage device 504, calculate the curve shape, and calculate the curve shape data and the curve shape. The tangent vector value at each control point obtained in the calculation process is stored in the data storage device 504 via the control device 503. The controller 503 has a graphic display 5
02 is instructed to read the curve shape data from the data storage device 504 and display the curve. If the operator sees the curved shape displayed on the graphic display 502 and determines that the curved shape does not partially fit, the operator inputs the predetermined information from the conversation terminal 501 to the controller 503 to that effect. To notify. After this, the controller 5
Based on an instruction from 03, a control point or a control point sequence to be corrected in a position included in a curved section (correction section) not fitted by the conversation terminal 501 (this is defined as Pi to Pi + j;
i, j is a number) information (for example, i, i + j in the above case), and the corrected position coordinates of the corrected control point (column) are input (in this case,
It does not matter if the position coordinates are not changed in part of the correction section). The control device 503 writes the input correction section control point number i, i + j as the curve generation section control point number, and writes the correction position coordinates of the control point (column) Pi, ..., Pi + j to the corresponding address of the data storage device 504. . When the control device 503 instructs the curve generation calculation device 505 to calculate the curve shape of the correction section, the curve generation calculation device 505 reads the curve generation section control point numbers i, i + j from the data storage device 504, and based on this, the control points. Pi-1, Pi, ..., Pi + j, Pi + j + 1 (i-
Position coordinates of 1 ≧ 1, i + j + 1 ≦ 7) and control point Pi−
The tangent vector values of 1 and Pi + j + 1 are read, and the control point Pi-1 and the control point Pi + j are set as fixed end conditions (that is, the end condition that specifies the tangent vector value at the end point).
The shape of the curve sandwiched by +1 is calculated. Based on the completion of the curve shape calculation from the curve generation calculation device 505, the control device 503
Reads out the already calculated curve shape data from the data storage device 504, and replaces the curve shape data sandwiched between the control points Pi-1 and Pi + j + 1 with the curve shape data of the correction section newly calculated by the curve generation calculation device 505. Data storage
It is stored again in the curve shape data of 504 ("replacement" of the curve shape data of this correction section is performed by writing directly from the curve generation arithmetic unit 505 to the data storage unit 504 according to the instruction of the control unit 503 according to the form of the shape data. You can also do this). Further, in the curve generation calculation device 505, the control points Pi ,.
The tangent vector value of Pi + j is stored in the corresponding position of the data storage device 504. Thereafter, the control device 503 instructs the graphic display 502 to read the curve shape data from the data storage device 504 and display the curve. After that, the curve correcting operation is repeated until the operator determines that the curve shape is appropriate. In the above explanation, when modifying a part of the generated curve,
The control point (column) whose position is to be corrected is sandwiched between the control point Pi-1 and the control point Pi + j + 1 by using the tangent vector of the control point Pi-1 and Pi + j + 1 before and after Pi, ..., Pi + j. The method of modifying the curve has been explained, but the control points (rows) Pi, ..., Pi + j that modify the position are control points Pi one m1 before and two m2 after.
-M1 (i-m1 ≧ 1), Pi + j + m2 (i + j + m2 ≦ 7) using the tangent vector Pi-m1 and control point Pi + j + m2
If you want to modify the curve sandwiched between, you can do the following. The procedure is the same as the above description until the curve is first generated and then displayed on the graphic display. If the operator sees the curved shape displayed on the graphic display 502 and determines that the curved shape does not partially fit, the operator inputs the predetermined information from the conversation terminal 501 to the controller 503 to that effect. To notify. After this, based on an instruction from the control device 503, the control point or control point sequence (Pi
-Pi + j) information (for example, i, i + j), corrected position coordinates of the control point (column) (at this time, the position coordinates may not be changed in part of the corrected section) and a new curve generation section Input the control point number i-m1 + 1, i + j + m2-1. Based on the input control point (column) information i, i + j to be corrected, the control device 503 determines that the control point Pi ,.
The corrected position coordinates of + j and the curve generation section control point numbers i-m1 + 1 and i + j + m2-1 are written to the corresponding addresses of the data storage device 504, respectively. When the control device 503 instructs the curve generation calculation device 505 to calculate the curve shape of the correction section,
The curve generation calculation device 505 reads the curve generation section control point numbers i-m1 + 1, i + j + m2-1 from the data storage device 504,
Based on this, control points Pi-m1, Pi-m1 + 1, ..., Pi + j +
The position coordinates of m2-1, Pi + j + m2 (i-m1≥1, i + j + m2≤7) and the tangent vector value of control points Pi-m1 and Pi + j + m2 are read, and the fixed condition (that is, the tangent vector value at the end point is specified) as the termination condition. Under the terminating condition), the shape of the curve sandwiched between the control point Pi-m1 and the control point Pi + j + m2 is calculated. Generate curves and then graphic display 502 again
The description up to the point is the same as that described above. Since then
The curve correcting operation is repeated until the operator determines that the curve shape is appropriate. In the above, the application to the two-dimensional coordinate space has been described as an example, but the present invention can be generally applied to the N-dimensional coordinate space. [Effect of the Invention] According to the present invention as described above, even if the position coordinates of some control points (columns) are corrected after the curve shape is calculated from the once specified control points by the interpolation function. The curve shape does not change or can be suppressed to be small between the control points other than the modified control point. For this reason, it is easy to interactively generate a curve and modify the shape, and it is possible to intuitively apply the interpolation function to the curve shape expression without special knowledge.
【図面の簡単な説明】
第1図は本発明の曲線補間生成処理装置の一実施例の処
理概要を示す図,第2図は本発明により生成された曲線
の例を示す図,第3図は本発明の一実施例の構成を示す
図,第4図はデータ記憶装置504のデータの記憶形式の
例を示す図,第5図は従来の曲線補間生成処理装置の処
理概要を示す図,第6図は従来処理装置により生成され
た曲線形状を示す図である。
201,401……制御点,
202,402……補間生成曲線,
211,411……修正制御点,
212,412……修正補間生成曲線。BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a diagram showing a processing outline of an embodiment of a curve interpolation generation processing device of the present invention, FIG. 2 is a diagram showing an example of a curve generated by the present invention, and FIG. Is a diagram showing a configuration of an embodiment of the present invention, FIG. 4 is a diagram showing an example of a data storage format of a data storage device 504, FIG. 5 is a diagram showing a processing outline of a conventional curve interpolation generation processing device, FIG. 6 is a diagram showing a curve shape generated by a conventional processing device. 201,401 …… Control point, 202,402 …… Interpolation generation curve, 211,411 …… Modified control point, 212,412 …… Corrected interpolation generation curve.
Claims (1)
あるいはその近傍に制御点列P1,P2,……,Peをとり、こ
れらの制御点列から補間関数により前記制御点間に位置
する点を補間することにより当該曲線あるいは当該曲線
の近似曲線を生成する曲線補間生成処理装置において、 前記曲線の制御点列位置座標と、該制御点列の始点P1,
終点Peにおける曲線終端条件とを用いて、各々の制御点
間の曲線を補間関数によって表現するよう、当該各々の
制御点間の曲線を生成する曲線生成演算装置をそなえる
と共に、 生成された曲線の形状の一部を修正する際に、該曲線の
制御点列位置座標と、該制御点列の始点P1,終点Peにお
ける曲線終端条件とを用いて算出された各々の制御点の
接線ベクトル値の内、前記曲線の修正する必要のある区
間に含まれる制御点列Pi,Pi+1,……,Pi+jについての
1つ前の制御点Pi−1(i−1≧1)および1つ後の制
御点Pi+j+1(i+j+1≦e)における接線ベクト
ル値とを記憶するデータ記憶装置と、 前記曲線生成演算装置とデータ記憶装置とを制御する制
御装置とをそなえ、 前記制御装置は、前記修正を必要とする制御点Pi,Pi+
1,……,Pi+iの修正後の位置座標と前記データ記憶装
置により記憶された制御点Pi−1,Pi+j+1の接線ベク
トル値とを前記曲線生成演算装置に供給するよう構成さ
れ、 かつ前記曲線生成演算装置は、当該供給された位置座標
と接線ベクトル値とにより、制御点Pi−1,Pi+j+1に
挟まれた曲線区間の曲線形状を修正曲線として生成する
よう構成されたことを特徴とする曲線補間生成処理装
置。 2.N次元座標空間において表現しようとする曲線の上
あるいはその近傍に制御点列P1,P2,……,Peをとり、こ
れらの制御点列から補間関数により前記制御点間に位置
する点を補間することにより当該曲線あるいは当該曲線
の近似曲線を生成する曲線補間生成処理装置において、 前記曲線の制御点列Pi,Pi+1,……,Pi+jの位置座標
と、該制御点列の始点P1,終点Peにおける曲線終端条件
とを用いて、各々の制御点間の曲線を補間関数によって
表現するよう、当該各々の制御点間の曲線を生成する曲
線生成演算装置をそなえると共に、 生成された曲線の形状の一部を修正する際に、該曲線の
制御点列位置座標および該制御点列の始点P1,終点Peに
おける曲線終端条件を用いて算出された各々の制御点の
接線ベクトル値の内、前記曲線の制御点の位置座標を修
正する必要のある区間に含まれる制御点列Pi,Pi+1,…
…,Pi+jについてのm1個前の制御点Pi−m1(i−m1≧
1)およびm2個後の制御点Pi+j+m2(j+j+m2≦
e)における接線ベクトル値を記憶し、かつ、該曲線の
制御点列Pi−m1,Pi−m1+1,……,Pi−1およびPi+j+
1,Pi+j+2,……,Pi+j+m2の位置座標を記憶するデ
ータ記憶装置と、 前記曲線生成演算装置とデータ記憶装置とを制御する制
御装置とをそなえ、 前記制御装置は、前記位置座標の修正を必要とする制御
点列Pi,Pi+1,……,Pi+jの修正後の位置座標と、前記
制御点列Pi−m1,Pi−m1+1,……,Pi−1およびPi+j+
1,Pi+j+2,……,Pi+j+m2の位置座標と、前記制御
点Pi−m1,Pi+j+m2の接線ベクトル値とを、前記曲線
生成演算装置に供給するよう構成され、 かつ前記曲線生成演算装置は、当該供給された各位置座
標と接線ベクトル値とにより、前記制御点Pi−m1と制御
点Pi+j+m2に挟まれた区間の曲線形状を修正曲線とし
て生成するよう構成されたことを特徴とする曲線補間生
成処理装置。(57) [Claims] A control point sequence P1, P2, ..., Pe is set on or near the curve to be represented in the N-dimensional coordinate space, and the points located between the control points are interpolated from these control point sequences by an interpolation function. In the curve interpolation generation processing device for generating the curved line or the approximated curve of the curved line, the control point sequence position coordinates of the curved line and the starting point P1, of the control point sequence
Using the curve end condition at the end point Pe and a curve generation arithmetic unit that generates a curve between the control points so that the curve between the control points is represented by an interpolation function, When correcting a part of the shape, the control point sequence position coordinates of the curve and the tangent vector value of each control point calculated using the curve termination condition at the start point P1 and the end point Pe of the control point sequence Of the control point sequences Pi, Pi + 1, ..., Pi + j included in the section of the curve that needs to be modified, the control point Pi-1 (i-1 ≧ 1) before and the control point one after The data storage device stores a tangent vector value at Pi + j + 1 (i + j + 1 ≦ e), and a control device that controls the curve generation calculation device and the data storage device, and the control device is a control that requires the correction. Point Pi, Pi +
1, ..., Pi + i after correction, and the tangent vector values of the control points Pi−1, Pi + j + 1 stored by the data storage device are configured to be supplied to the curve generation calculation device, and the curve generation The arithmetic unit is configured to generate a curve shape of a curve section sandwiched between the control points Pi−1, Pi + j + 1 as a correction curve based on the supplied position coordinates and the tangent vector value. Generation processing device. 2. A control point sequence P1, P2, ..., Pe is set on or near the curve to be represented in the N-dimensional coordinate space, and the points located between the control points are interpolated from these control point sequences by an interpolation function. In the curve interpolation generation processing device for generating the curve or the approximate curve of the curve, the position coordinates of the control point sequence Pi, Pi + 1, ..., Pi + j of the curve and the start point P1, the end point Pe of the control point sequence A curve generation arithmetic unit for generating a curve between the control points is provided so that the curve between the control points is represented by an interpolation function using the curve end condition and one of the shapes of the generated curves. When correcting the part, among the tangent vector values of each control point calculated using the control point sequence position coordinates of the curve and the curve termination condition at the start point P1 and the end point Pe of the control point sequence, of the curve Correct the position coordinates of control points Control point sequence Pi, Pi + 1, ...
..., control point Pi-m1 (i-m1 ≧ m1) before Pi + j
1) and the control point after m2 pieces Pi + j + m2 (j + j + m2 ≦
e) storing the tangent vector value and controlling the sequence of control points Pi-m1, Pi-m1 + 1, ..., Pi-1 and Pi + j + of the curve.
1, Pi + j + 2, ..., Pi + j + m2 is provided with a data storage device for storing the position coordinates and a control device for controlling the curve generation operation device and the data storage device, and the control device needs to correct the position coordinates. The corrected position coordinates of the control point sequence Pi, Pi + 1, ..., Pi + j and the control point sequence Pi-m1, Pi-m1 + 1, ..., Pi-1 and Pi + j +
1, Pi + j + 2, ..., Pi + j + m2 position coordinates and tangent vector values of the control points Pi-m1, Pi + j + m2 are configured to be supplied to the curve generating and calculating device, and the curve generating and calculating device is provided A curved line interpolation generation processing device, which is configured to generate a curved shape of a section sandwiched between the control point Pi-m1 and the control point Pi + j + m2 as a corrected curve by the respective position coordinates and the tangent vector value. .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP26994887A JP2683239B2 (en) | 1987-10-26 | 1987-10-26 | Curve interpolation generator |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP26994887A JP2683239B2 (en) | 1987-10-26 | 1987-10-26 | Curve interpolation generator |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01112384A JPH01112384A (en) | 1989-05-01 |
| JP2683239B2 true JP2683239B2 (en) | 1997-11-26 |
Family
ID=17479438
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP26994887A Expired - Fee Related JP2683239B2 (en) | 1987-10-26 | 1987-10-26 | Curve interpolation generator |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2683239B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2683114B2 (en) * | 1989-10-04 | 1997-11-26 | キヤノン株式会社 | Curve control device |
| US5635700A (en) * | 1994-07-27 | 1997-06-03 | Symbol Technologies, Inc. | Bar code scanner with multi-channel light collection |
| DE60141273D1 (en) * | 2000-12-15 | 2010-03-25 | Japan U Pica Co Ltd | FRP PRECISION FILTER MEDIUM AND METHOD FOR THE PRODUCTION THEREOF |
-
1987
- 1987-10-26 JP JP26994887A patent/JP2683239B2/en not_active Expired - Fee Related
Non-Patent Citations (1)
| Title |
|---|
| 情報処理学会第27回(昭和58年後期)全国大会講演論文集 P.P.1529−1530 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH01112384A (en) | 1989-05-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH08152909A (en) | Position error correcting system | |
| WO2007010729A1 (en) | Device and method for composing image | |
| JP2683239B2 (en) | Curve interpolation generator | |
| JPS61136177A (en) | Apparatus for use in calculation of image data | |
| JP3985321B2 (en) | Arithmetic apparatus and image processing apparatus | |
| JPH06333006A (en) | Image processor | |
| JPH0443395A (en) | Character font memory and character pattern generating device using same | |
| JP3280160B2 (en) | Document processing apparatus and document processing method | |
| JP2833654B2 (en) | Graphic processing unit | |
| JP3807571B2 (en) | Shape conversion method, recording medium on which program for executing the method is recorded, and shape conversion device | |
| JP2675169B2 (en) | Graphic processing system | |
| JPS6172305A (en) | Display method for teaching point locus of industrial robot | |
| JP3057768B2 (en) | Drawing equipment | |
| JP2969798B2 (en) | Flow diagram creation device | |
| JPH1153513A (en) | Method and apparatus for setting area in image | |
| JPH03229379A (en) | Data processor | |
| JP2641790B2 (en) | Vector raster converter | |
| JP2000268067A (en) | Three-dimensional cad data corrector | |
| JPS6257077A (en) | Object picture display device | |
| JPH04178886A (en) | Graphic display device | |
| JPH07255060A (en) | Registration adjusting device and registration adjusting method | |
| JPH1166352A (en) | Method and apparatus for generating skinning curved surface, and recording medium recording program for generating the curved surface | |
| JPH0636049A (en) | Graphic highlighting method and graphics device | |
| JPH0877372A (en) | Outline painting-out device | |
| JPH0480428B2 (en) |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |