JPH09179992A - Method and device for generating splined curve and spline-curved surface - Google Patents

Method and device for generating splined curve and spline-curved surface

Info

Publication number
JPH09179992A
JPH09179992A JP7350140A JP35014095A JPH09179992A JP H09179992 A JPH09179992 A JP H09179992A JP 7350140 A JP7350140 A JP 7350140A JP 35014095 A JP35014095 A JP 35014095A JP H09179992 A JPH09179992 A JP H09179992A
Authority
JP
Japan
Prior art keywords
spline
input
data
generating
curve
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
JP7350140A
Other languages
Japanese (ja)
Other versions
JP2785784B2 (en
Inventor
Mamoru Hashimoto
守 橋本
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP7350140A priority Critical patent/JP2785784B2/en
Publication of JPH09179992A publication Critical patent/JPH09179992A/en
Application granted granted Critical
Publication of JP2785784B2 publication Critical patent/JP2785784B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)
  • Numerical Control (AREA)
  • Complex Calculations (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce the influence of an error in inputted numeric data on a shape. SOLUTION: An oversampling means 101 oversamples the numeric data inputted through an input means 105 or the error calculated by an error calculating means 104 and a filtering means 102 performs a filtering process; and an interpolated curve generating means 103 generates a splined curve interpolating generated data and an error calculating means 104 calculates the error based upon numeric data on the generated curves. When this error exceeds a prescribed value, the error is inputted to the oversampling means 101, but when not, an output means 106 outputs a single splined curve in a generated splined curve group.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、コンピュータグラ
フィクスまたはCAD(計算機支援型設計)において用
いられるスプライン曲線及び曲面の生成方式に関し、特
に計測によって得られた数値データからのスプライン曲
線及び曲面の生成方法及び生成装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for generating spline curves and surfaces used in computer graphics or CAD (computer-aided design), and more particularly to a method for generating spline curves and surfaces from numerical data obtained by measurement. And a generating device.

【0002】[0002]

【従来の技術】アナログ信号を計測しこれをデジタル信
号等に変換して得られる数値データをスプライン曲線ま
たは曲面に変換する従来の技術を、図13から図21を
参照して説明する。
2. Description of the Related Art A conventional technique for measuring an analog signal and converting it into a digital signal or the like to convert numerical data into a spline curve or a curved surface will be described with reference to FIGS.

【0003】まず、概要を図13から図16までを参照
して説明する。
First, an outline will be described with reference to FIGS.

【0004】気温・気圧などの観測値や、アナログ信号
をサンプリングしたデジタル信号等の数値データ130
1に対して、値が与えられていない位置(サンプリング
されない点)における値1302を推定したり、値全体
の分布を見るためにグラフ化するために、数値データを
補間する関数を求める必要がしばしばおこる。
[0004] Numerical data 130 such as observation values such as temperature and pressure, and digital signals obtained by sampling analog signals.
For 1, it is often necessary to find a function that interpolates the numerical data in order to estimate the value 1302 at a position where no value is given (point not sampled) or to graph to see the distribution of the entire value. Get offended.

【0005】また、物体の2次元又は3次元像を測定器
を用いて計測し、得られた点列を曲線又は曲面に変換し
て、製品モデルの設計に用いる要求もある。
There is also a demand for measuring a two-dimensional or three-dimensional image of an object using a measuring instrument, converting the obtained point sequence into a curve or a curved surface, and using it for designing a product model.

【0006】最も簡単にこの要求を満たす補間方法とし
ては、図14に示すように、相隣る2つのサンプリング
データ(数値データ)を直線で結ぶやり方がある。しか
し、この方法では、得られる関数1401の形状が滑ら
かにならない。図14は、図13の数値データ1301
を直線で接続した結果1401を示している。
As an interpolation method that satisfies this requirement most simply, there is a method of connecting two adjacent sampling data (numerical data) with a straight line as shown in FIG. However, in this method, the shape of the obtained function 1401 is not smooth. FIG. 14 shows the numerical data 1301 of FIG.
Are connected by a straight line to show a result 1401.

【0007】入力された数値データは多くの場合、滑ら
かな信号(例えば連続するアナログ信号)からサンプリ
ングされたものと考えられるので、直線補間により生成
された関数(図14の1401)は元の関数(元信号を
表す関数)とかなり違ったものになってしまう。
The input numerical data is often considered to have been sampled from a smooth signal (for example, a continuous analog signal), so the function generated by linear interpolation (1401 in FIG. 14) is the original function. (Function representing the original signal).

【0008】これに対して多項式を用いて補間する方法
は、サンプリングデータを滑らかに接続するための一つ
の方法である。図15は、図13の数値データ1301
を多項式で接続した曲線を示している。しかし、この方
法では、データの数が増えるに従って多項式の次数が高
くなり、生成される多項式1501は振動が激しいた
め、実用に適さないことが多い。
On the other hand, a method of interpolating using a polynomial is one method for smoothly connecting sampling data. FIG. 15 shows the numerical data 1301 of FIG.
Are connected by a polynomial. However, in this method, the degree of the polynomial increases as the number of data increases, and the generated polynomial 1501 vibrates violently, so that it is often unsuitable for practical use.

【0009】そこで、区間ごとに異なる多項式を接続し
た区分的多項式であるスプライン関数がよく用いられ
る。
Therefore, a spline function which is a piecewise polynomial in which different polynomials are connected for each section is often used.

【0010】スプライン関数の多項式の接続部分では、
用いる多項式の次数に応じた連続性をもつ。例えば、3
次の多項式を用いる場合、接続部分では2階までの導関
数が連続性をもつ。このため、一つの多項式で補間した
場合に比べると、連続性に関する条件が緩いため、滑ら
かでかつ振動の少ない関数1601が得られる。
At the connection of the polynomial of the spline function,
It has continuity according to the degree of the polynomial used. For example, 3
When the following polynomial is used, the derivatives up to the second order have continuity at the connection part. For this reason, the condition regarding continuity is looser than the case where interpolation is performed by one polynomial, so that a smooth function 1601 with less vibration is obtained.

【0011】スプライン関数を用いた補間を行なうに
は、各区間の多項式を決めればよいが、多項式の係数を
直接求めるのは計算誤差の点で好ましくない。
In order to perform interpolation using a spline function, a polynomial in each section may be determined. However, directly obtaining coefficients of the polynomial is not preferable in terms of calculation errors.

【0012】そこで、通常は、スプライン関数をB−ス
プライン関数の線形結合として表現し、その係数に関す
る連立方程式を解く。
Therefore, normally, the spline function is expressed as a linear combination of B-spline functions, and simultaneous equations regarding the coefficients are solved.

【0013】B−スプライン関数は局所的な台を持つの
で、連立方程式の係数行列で0でない要素が現われるの
は対角線の近くに限られ、解が安定かつ高速に求められ
る。
Since the B-spline function has a local support, non-zero elements appear in the coefficient matrix of the simultaneous equations only near the diagonal, and the solution can be obtained stably and at high speed.

【0014】次に、具体的な計算方法を図17から図2
1を参照して説明する。
Next, a specific calculation method will be described with reference to FIGS.
This will be described with reference to FIG.

【0015】nを正の整数として、入力された数値デー
タを(xi、yi)、xi<xi+1、i=0、…、nとおく
(図17参照)。スプライン関数の多項式の接続部を
「ノット」または「節点」と呼ぶが、以下では、各xi
をノットとしてもち、入力された数値データを補間する
スプライン関数を求める方法を説明する。また、説明の
都合上、3次スプライン関数についてのみ説明する。
Assuming that n is a positive integer, the input numerical data is (x i , y i ), x i <x i + 1 , i = 0,..., N (see FIG. 17). The connection of the polynomial spline function is referred to as a "knot" or "nodes", but in the following, each x i
A method of obtaining a spline function for interpolating input numerical data, with k as a knot, will be described. For convenience of explanation, only the cubic spline function will be described.

【0016】まず、ノットを左右に拡張する。すなわ
ち、x-3=x-2=x-1=x0、xn+3=xn+2=xx+1=x
nとおく。このとき、ノットベクトル(x-3、x-2
…、xn+3)に対して、(m−1)次のB−スプライン
関数Bm、j(x)は次式(1)、(2)で定義される。
First, the knot is expanded right and left. That, x -3 = x -2 = x -1 = x 0, x n + 3 = x n + 2 = x x + 1 = x
Set n . At this time, the knot vectors (x −3 , x −2 ,
.., X n + 3 ), the (m−1) -order B-spline function B m, j (x) is defined by the following equations (1) and (2).

【0017】[0017]

【数1】 [Equation 1]

【0018】ただし、分母に0が現われるときは、その
項を0とおく。
However, when 0 appears in the denominator, the term is set to 0.

【0019】ここでは、3次のスプライン関数1801
(図18参照)のみを扱うので、B−スプライン関数B
4、j(x)を「Bj(x)」と略記する。
Here, a cubic spline function 1801
Since only (see FIG. 18) is handled, the B-spline function B
4, j (x) is abbreviated as " Bj (x)".

【0020】すると、スプライン関数F(x)は、B−
スプライン関数Bj(x)の線形結合として次式(3)
のように表現される。
Then, the spline function F (x) becomes B-
As a linear combination of the spline function B j (x),
It is expressed as

【0021】[0021]

【数2】 [Equation 2]

【0022】上式(3)の係数piを求めることによ
り、求めるスプライン関数が定まる。
The spline function to be obtained is determined by obtaining the coefficient p i in the above equation (3).

【0023】そこで、係数piについての連立方程式を
立てる。まず、各ノットにおいて、入力データの値とス
プライン関数の値が等しいとおく(次式(4)参照)。
Therefore, a simultaneous equation for the coefficient p i is established. First, it is assumed that the value of the input data is equal to the value of the spline function at each knot (see the following equation (4)).

【0024】[0024]

【数3】 (Equation 3)

【0025】未知数piの数はn+3であるのに対し、
入力データの個数はn+1であるから、上式(4)だけ
では条件が2個不足する。そこで、両端における2階の
導関数が0であるという端点条件である次式(5)、
(6)を加える。
While the number of unknowns p i is n + 3,
Since the number of input data is n + 1, two conditions are insufficient with only the above equation (4). Therefore, the following equation (5), which is an end point condition that the second derivative at both ends is 0,
Add (6).

【0026】[0026]

【数4】 (Equation 4)

【0027】上式(4)、(5)、(6)を連立方程式
として解けばpiが求まる。
By solving the above equations (4), (5) and (6) as simultaneous equations, p i can be obtained.

【0028】2次元以上の場合についても、1次元に帰
着して解くことができる。より高次元についても同様で
あるため、2次元の場合について説明する。
In the case of two or more dimensions, it is possible to solve by reducing to one dimension. Since the same applies to higher dimensions, a two-dimensional case will be described.

【0029】入力されたデータは格子状に並んでいるも
のとする。すなわち、xi、i=0、…、mとyj、j=
0、…、nに対して、(xi、yj)に値zijが与えられ
ているものとする(図19参照)。
It is assumed that the input data is arranged in a lattice. That is, x i , i = 0,..., M and y j , j =
It is assumed that a value z ij is given to (x i , y j ) for 0,..., N (see FIG. 19).

【0030】ノットの拡張を、x方向、y方向それぞれ
について1次元の場合と同様にして行ない、3次のスプ
ライン関数をB−スプライン関数を用いて表現すると、
次式(7)で与えられる。
If knots are expanded in the same manner as in the one-dimensional case in each of the x and y directions, and a cubic spline function is expressed using a B-spline function,
It is given by the following equation (7).

【0031】[0031]

【数5】 (Equation 5)

【0032】ただし、Cj(y)はyjに対応するB−ス
プライン関数である。
Where C j (y) is a B-spline function corresponding to y j .

【0033】このとき、まず各iに対して1次元の場合
の補間を行なう。すなわち、変数yの関数Fi(y)
を、入力データzijに対して、上記の1次元の場合のよ
うにして求める(図20参照)。
At this time, first, one-dimensional interpolation is performed for each i. That is, the function F i (y) of the variable y
Is obtained for the input data z ij as in the one-dimensional case described above (see FIG. 20).

【0034】[0034]

【数6】 (Equation 6)

【0035】上式(8)の解qijに対して、今度は各j
について1次元の補間を行なう。すなわち、変数xの関
数Fj(x)を、qijに対して、1次元の場合の方法で
求める(図21参照)。
With respect to the solution q ij of the above equation (8), each j
Is subjected to one-dimensional interpolation. That is, the function F j (x) of the variable x is obtained for q ij by the one-dimensional method (see FIG. 21).

【0036】[0036]

【数7】 (Equation 7)

【0037】上式(9)で得られるpijが、求める2次
元スプライン関数のB−スプライン関数表現の係数とな
る。
P ij obtained by the above equation (9) is a coefficient of the B-spline function expression of the two-dimensional spline function to be obtained.

【0038】[0038]

【発明が解決しようとする課題】上記した従来のスプラ
イン関数による補間法の問題点を図22と図23を参照
して以下に説明する。
Problems of the above-mentioned conventional interpolation method using a spline function will be described below with reference to FIGS. 22 and 23. FIG.

【0039】上記した従来のスプライン(B−スプライ
ン)関数による補間方法では、多項式による補間と比較
して、生成される関数の振動が抑えられる。
In the above-described conventional interpolation method using a spline (B-spline) function, vibration of the generated function is suppressed as compared with interpolation using a polynomial.

【0040】しかし、それでも入力データのわずかな変
動に対して大きく変化してしまう場合がある。
However, even in this case, a slight change in the input data may cause a large change.

【0041】この現象を、データの位置が不均等の場合
について説明する。例えば、図22に示すように、入力
データの値が全て同じ値であれば、補間の結果は当然直
線状の関数2201になる。
This phenomenon will be described for a case where data positions are unequal. For example, as shown in FIG. 22, if the values of the input data are all the same, the result of the interpolation is naturally a linear function 2201.

【0042】ところが、データの関数が短い区間に変動
が含まれる場合、生成されるスプライン関数2301
(図23参照)ではその誤差が増幅され、データの間隔
が開いている区間において関数2201(図22参照)
と関数2301の値を比較すると、大きな違い(誤差)
が出てしまう。
However, if the data function has a variation in a short section, the generated spline function 2301
In FIG. 23, the error is amplified, and a function 2201 (see FIG. 22) is performed in a section where data intervals are wide.
Large difference (error) when comparing the value of
Comes out.

【0043】また、スプライン関数のノットの位置が、
入力された数値データによって決まってしまい、等間隔
のノットが望ましいときにも等間隔にできないことにな
る。
The position of the knot of the spline function is
It is determined by the input numerical data, so that evenly spaced knots are not possible evenly when knots are desired.

【0044】また、2次元データが格子状に分布してい
ないと、スプライン関数を一意に決めることができな
い。
If the two-dimensional data is not distributed in a grid pattern, the spline function cannot be uniquely determined.

【0045】従って、本発明は、上記した従来技術の問
題点に鑑みて為されたものであって、入力データの変動
がわずかである場合には、生成する関数の変動もわずか
な量に抑えることができると共に 、スプライン関数の
ノットを入力された数値データに依存せずに自由に選べ
ることを可能とする、スプライン曲線または曲面の生成
方法及び装置を提供することを目的とする。
Therefore, the present invention has been made in view of the above-mentioned problems of the prior art, and when the input data has a small change, the change of the function to be generated is suppressed to a small amount. It is another object of the present invention to provide a method and an apparatus for generating a spline curve or a curved surface, which can freely select a knot of a spline function without depending on input numerical data.

【0046】[0046]

【課題を解決するための手段】前記目的を達成するた
め、本発明は、アナログ信号を計測して得られた数値デ
ータからスプライン曲線を生成する方法であって、数値
データを補間するスプライン曲線の生成を、入力された
数値データの近似曲線を生成するステップを繰り返して
数値データからの誤差を0に近づけていくことで行な
い、近似曲線を生成するステップでは、前記数値データ
または前記誤差をオーバーサンプリングし、さらにフィ
ルタリングして新たなデータを生成し、この生成された
データを補間するスプライン曲線を求める。
In order to achieve the above-mentioned object, the present invention is a method for generating a spline curve from numerical data obtained by measuring an analog signal, wherein a spline curve for interpolating numerical data is used. The generation is performed by repeating the step of generating an approximate curve of the input numerical data to bring the error from the numerical data closer to 0, and in the step of generating the approximate curve, the numerical data or the error is oversampled. Then, further filtering is performed to generate new data, and a spline curve that interpolates the generated data is obtained.

【0047】前記数値データとして、1次元空間内の点
に対するスカラー値として表わされたものをとることが
できる。
As the numerical data, data represented as a scalar value for a point in a one-dimensional space can be taken.

【0048】または、前記数値データとして、1次元空
間内の点に対するベクトル値として表わされたものをと
ることもできる。
Alternatively, the numerical data may be data represented as vector values for points in a one-dimensional space.

【0049】本発明のスプライン曲線の生成方法におい
ては、隣接する2点を1次関数で補間することでオーバ
ーサンプリングを行なうことができる。
In the spline curve generation method of the present invention, oversampling can be performed by interpolating two adjacent points with a linear function.

【0050】さらに、本発明のスプライン曲線の生成方
法においては、ノットにおけるB−スプライン関数の値
をフィルタリングに用いることができる。
Further, in the spline curve generating method of the present invention, the value of the B-spline function at the knot can be used for filtering.

【0051】本発明のスプライン曲面の生成方法は、ア
ナログ信号を計測して得られた数値データからスプライ
ン曲面を生成する方法であって、数値データを補間する
スプライン曲面の生成を、入力された数値データに対し
て近似曲面を生成するステップを繰り返して数値データ
からの誤差を0に近づけていくことで行ない、近似曲面
を生成するステップでは、前記数値データまたは前記誤
差をオーバーサンプリングし、さらにフィルタリングし
て新たなデータを生成し、生成されたデータを補間する
スプライン曲面を求める。
The method of generating a spline curved surface of the present invention is a method of generating a spline curved surface from numerical data obtained by measuring an analog signal, and generating a spline curved surface for interpolating numerical data The step of generating an approximate curved surface for data is repeated to bring the error from the numerical data closer to 0. In the step of generating the approximate curved surface, the numerical data or the error is oversampled and further filtered. Then, new data is generated, and a spline curved surface that interpolates the generated data is obtained.

【0052】前記数値データとして、2次元空間内の点
に対するスカラー値として表わされたものをとることが
できる。
As the numerical data, data expressed as a scalar value for a point in the two-dimensional space can be taken.

【0053】または、前記数値データとして、2次元空
間内の点に対するベクトル値として表わされたものをと
ることもできる。
Alternatively, the numerical data may be data represented as vector values for points in a two-dimensional space.

【0054】本発明のスプライン曲面の生成方法におい
ては、隣接する3点に対する値を1次関数で補間するこ
とでオーバーサンプリングを行なうことができる。
In the method for generating a spline surface according to the present invention, oversampling can be performed by interpolating values for three adjacent points with a linear function.

【0055】さらに、本発明のスプライン曲面の生成方
法においては、ノットにおけるB−スプライン関数の値
をフィルタリングに用いることができる。
Further, in the method for generating a spline surface according to the present invention, the value of the B-spline function at the knot can be used for filtering.

【0056】本発明のスプライン曲線の生成装置は、ア
ナログ信号を計測した数値データを入力する入力手段
と、前記入力手段で入力された数値データをオーバーサ
ンプリングして新たなデータを生成するオーバーサンプ
リング手段と、前記オーバーサンプリング手段で生成さ
れたデータをフィルタリングするフィルタリング手段
と、前記フィルタリング手段でフィルタリングされたデ
ータを補間するスプライン曲線を生成する補間曲線生成
手段と、前記補間曲線生成手段で生成されたスプライン
曲線の前記数値データに対する誤差を計算する誤差計算
手段と、前記補間曲線生成手段で生成されたスプライン
曲線群を単一のスプライン曲線に変換して出力する出力
手段とからなる。
The spline curve generating apparatus according to the present invention comprises: an input means for inputting numerical data obtained by measuring an analog signal; and an oversampling means for oversampling the numerical data input by the input means to generate new data. Filtering means for filtering the data generated by the oversampling means; interpolation curve generating means for generating a spline curve for interpolating the data filtered by the filtering means; and spline generated by the interpolation curve generating means Error calculation means for calculating an error of the curve with respect to the numerical data, and output means for converting a spline curve group generated by the interpolation curve generation means into a single spline curve and outputting the result.

【0057】前記入力手段は、数値データとして1次元
空間内の点に対するスカラー値を入力することができ
る。
The input means can input a scalar value for a point in a one-dimensional space as numerical data.

【0058】または、前記入力手段は、数値データとし
て1次元空間内の点に対するベクトル値を入力すること
もできる。
Alternatively, the input means may input a vector value for a point in a one-dimensional space as numerical data.

【0059】本発明のスプライン曲線の生成装置におい
ては、前記オーバーサンプリング手段が隣接する2点に
対する値を1次関数で補間することでオーバーサンプリ
ングを行なうことができる。
In the spline curve generating apparatus according to the present invention, the oversampling means can perform oversampling by interpolating values for two adjacent points with a linear function.

【0060】さらに、本発明のスプライン曲線の生成装
置においては、前記フィルタリング手段がノットにおけ
るB−スプライン関数の値をフィルタリングに用いるこ
とができる。
Further, in the spline curve generating device according to the present invention, the filtering means can use the value of the B-spline function at the knot for filtering.

【0061】本発明のスプライン曲面の生成装置は、ア
ナログ信号を計測した数値データを入力する入力手段
と、前記入力手段で入力された数値データをオーバーサ
ンプリングして新たなデータを生成するオーバーサンプ
リング手段と、前記オーバーサンプリング手段で生成さ
れたデータをフィルタリングするフィルタリング手段
と、前記フィルタリング手段でフィルタリングされたデ
ータを補間するスプライン曲面を生成する補間曲面生成
手段と、前記補間曲面生成手段で生成されたスプライン
曲面の前記数値データに対する誤差を計算する誤差計算
手段と、前記補間曲面生成手段で生成されたスプライン
曲面群を単一のスプライン曲面に変換して出力する出力
手段とからなる。
An apparatus for generating a spline surface according to the present invention comprises an input means for inputting numerical data obtained by measuring an analog signal, and an oversampling means for oversampling the numerical data input by the input means to generate new data. Filtering means for filtering the data generated by the oversampling means; interpolated surface generation means for generating a spline surface for interpolating the data filtered by the filtering means; and spline generated by the interpolated surface generation means Error calculation means for calculating an error of the surface with respect to the numerical data, and output means for converting the spline surface group generated by the interpolation surface generation means into a single spline surface and outputting the same.

【0062】前記入力手段は、数値データとして2次元
空間内の点に対するスカラー値を入力することができ
る。
The input means can input a scalar value for a point in a two-dimensional space as numerical data.

【0063】または、前記入力手段は、数値データとし
て2次元空間内の点に対するベクトル値を入力すること
もできる。
Alternatively, the input means can input a vector value for a point in a two-dimensional space as numerical data.

【0064】本発明のスプライン曲面の生成装置におい
ては、前記オーバーサンプリング手段が隣接する3点に
対する値を1次関数で補間することでオーバーサンプリ
ングを行なうことができる。
In the spline curved surface generating apparatus according to the present invention, the oversampling means can perform oversampling by interpolating values of three adjacent points by a linear function.

【0065】さらに、本発明のスプライン曲面の生成装
置においては、前記フィルタリング手段がノットにおけ
るB−スプライン関数の値をフィルタリングに用いるこ
とができる。
Further, in the spline surface generating apparatus of the present invention, the filtering means can use the value of the B-spline function at the knot for filtering.

【0066】[0066]

【作用】本発明の原理及び作用を図7から図12を参照
して以下に詳細に説明する。
The principle and operation of the present invention will be described below in detail with reference to FIGS.

【0067】まず、入力されたデータ(図7参照)から
オーバーサンプリングしたデータを生成する(図8参
照)。一般に、オーバーサンプリングとは、入力したデ
ータ(サンプリングデータ)の標本化点(サンプリング
ポイント)の間隔を細分して、細分された点におけるデ
ータを作り出すことであるが、ここでは入力したデータ
のサンプリング間隔が均等の場合のみならず、サンプリ
ング間隔が不均等な配置であった場合に均等な配置にお
けるデータを作り出すことも含めてオーバーサンプリン
グと呼ぶものとする。
First, oversampled data is generated from the input data (see FIG. 7) (see FIG. 8). In general, oversampling refers to subdividing the interval between sampling points (sampling points) of input data (sampling data) to create data at the subdivided points. Here, the sampling interval of input data is used. Is called oversampling, not only when the sampling intervals are uneven, but also when the data is created in an even layout when the sampling intervals are uneven.

【0068】オーバーサンプリングには様々な方法があ
るが、ここではデータ間を1次関数で補間した後、求め
たい位置におけるデータの値を計算するやり方を例とし
て説明する。
There are various methods for oversampling. Here, a method of calculating a data value at a desired position after interpolating between data by a linear function will be described as an example.

【0069】オーバーサンプリングによって生成された
データを、フィルタリングする。フィルタリング処理
は、例えば、元のデータから、周囲のデータに関する重
み付き平均を求めて新しいデータを得るものである。フ
ィルタリング処理により生成されたデータは、元のデー
タよりも起伏の緩やかなものとなる(図9参照)。
The data generated by the oversampling is filtered. In the filtering process, for example, new data is obtained by obtaining a weighted average of surrounding data from original data. The data generated by the filtering process has undulations more gentle than the original data (see FIG. 9).

【0070】フィルタリングしたデータから、補間に用
いるスプライン関数のノットに対応する点における値を
選ぶ(図10参照)。そして、上記従来の技術として説
明した方法等を用いて、スプライン関数を生成する(図
11参照)。
A value at a point corresponding to a knot of a spline function used for interpolation is selected from the filtered data (see FIG. 10). Then, a spline function is generated using the method described as the above-described conventional technique (see FIG. 11).

【0071】補間に用いたデータは、オーバーサンプリ
ングとフィルタリングの処理を経由したことによってそ
の起伏は緩やかなものとされており、生成されるスプラ
イン関数にも大きな変動は現われない。
The undulations of the data used for the interpolation are made gentle by passing through the processing of oversampling and filtering, and the generated spline function does not show a large variation.

【0072】しかし、スプライン関数を生成した際に用
いられるデータは、入力データをオーバサンプリング及
びフィルタリング処理して得られたデータであって、入
力データそのものではないので、元の入力データ(サン
プリングデータ)と、その位置(サンプリングポイン
ト)におけるスプライン関数の値には差(誤差)がある
(図12参照)。
However, the data used when generating the spline function is data obtained by oversampling and filtering the input data, and is not the input data itself, so the original input data (sampling data) And a difference (error) in the value of the spline function at that position (sampling point) (see FIG. 12).

【0073】この差に対して、再びオーバーサンプリン
グとフィルタリングを行なう。
The difference is again subjected to oversampling and filtering.

【0074】このとき、処理結果がノットにおいて値と
して現われるならば、誤差に対する補間を行ない、スプ
ライン関数の精度を向上させる。一方、ノットにおいて
値として現われないときには、ノットの間隔を縮小し、
スプライン関数の生成を行なう。
At this time, if the processing result appears as a value at the knot, the error is interpolated to improve the accuracy of the spline function. On the other hand, if it does not appear as a value in knots, reduce the knot interval,
Generate spline functions.

【0075】本発明は、このようにして、補間により得
られたデータと元の入力データ(サンプリングデータ)
との誤差を段階的に縮減していくことにより、最終的に
は入力データに対する所望の補間を達成するものであ
る。
According to the present invention, the data obtained by interpolation and the original input data (sampling data)
Finally, a desired interpolation for the input data is achieved by reducing the error step by step.

【0076】[0076]

【発明の実施の形態】本発明の実施の形態を図面を参照
して以下に詳細に説明する。
Embodiments of the present invention will be described in detail below with reference to the drawings.

【0077】[0077]

【実施形態1】図1を参照して、本発明の第1の実施形
態を説明する。図1に示すように、本実施形態は、1次
元空間内の点に対するスカラー値を入力する入力手段1
05と、入力手段105を介して入力された数値データ
をオーバーサンプリングするオーバーサンプリング手段
101と、オーバーサンプリング手段101から出力さ
れたされたデータをフィルタリング処理するフィルタリ
ング手段102と、フィルタリング手段102から出力
された新たなデータに対する補間としてスプライン関数
を生成する補間曲線生成手段103と、補間曲線生成手
段103により生成されたスプライン曲線の入力された
数値データに対する誤差を求める誤差計算手段104
と、補間曲線生成手段103で生成されたスプライン曲
線群を単一のスプライン曲線に変換して出力する出力手
段106と、を備え、誤差計算手段104により求めら
れた入力データの値とその標本点に対する補間データと
の誤差はオーバーサンプリング手段101に供給され、
オーバーサンプリング手段101はこの誤差をオーバー
サンプリングして出力する。
Embodiment 1 A first embodiment of the present invention will be described with reference to FIG. As shown in FIG. 1, the present embodiment employs an input unit 1 for inputting a scalar value for a point in a one-dimensional space.
05, an oversampling unit 101 for oversampling the numerical data input via the input unit 105, a filtering unit 102 for filtering the data output from the oversampling unit 101, and an output from the filtering unit 102. Interpolation curve generating means 103 for generating a spline function as interpolation for the new data, and error calculating means 104 for calculating an error of the spline curve generated by the interpolation curve generating means 103 with respect to the input numerical data.
And output means 106 for converting the spline curve group generated by the interpolation curve generation means 103 into a single spline curve and outputting the single spline curve. The value of the input data obtained by the error calculation means 104 and the sample points thereof Is supplied to the oversampling means 101.
The oversampling means 101 oversamples this error and outputs it.

【0078】次に、図1と図2に示す流れ図を参照し
て、本実施形態の処理動作を説明する。以下では、nを
所定の正整数として、入力された1次元の数値データを
(ti,xi)、i=0,…,nとおく。これは、例えば
サンプリング点tiにおけるサンプル値がxiであること
を示している。また、補間曲線生成手段103において
生成されるスプライン曲線は、等間隔のノットを持つも
のとし、そのノットの間隔をdとおく。説明の都合上、
ここではdの初期値を1とおく。
Next, the processing operation of this embodiment will be described with reference to the flowcharts shown in FIGS. Hereinafter, the input one-dimensional numerical data is set to (t i , x i ), i = 0,..., N, where n is a predetermined positive integer. This indicates that the sample value at the sampling point t i is x i , for example. The spline curve generated by the interpolation curve generating means 103 has knots at equal intervals, and the knot interval is d. For the sake of explanation,
Here, the initial value of d is set to 1.

【0079】オーバーサンプリング手段101は、各ノ
ットにおける値を入力データの1次関数による補間で求
める(ステップ201)。すなわち、kを整数とすると
き、ノットt=kdに対する値akを、tj≦t<tj+1
なるjに対して次式(10)で求める。
The oversampling means 101 determines the value at each knot by interpolation of the input data using a linear function (step 201). That is, when k is an integer, the value a k for the knot t = kd is defined as t j ≦ t <t j + 1
Is determined by the following equation (10).

【0080】[0080]

【数8】 (Equation 8)

【0081】説明の都合上、0≦t0、tn≦ndd(nd
は正の整数)とおく。また、t<t0であるt=kdに
対してはak=x0、t≧tnであるt=kdに対しては
k=xnとする。
[0081] For convenience of explanation, 0 ≦ t 0, t n ≦ n d d (n d
Is a positive integer). Also, for a t <t 0 t = kd and a k = x n for a k = x 0, t ≧ t n a is t = kd.

【0082】フィルタリング手段102は、オーバーサ
ンプリング手段101で求めた各ノットkdに対する値
の列{ak}に対して、好ましくはフィルタ係数との積
和演算(畳み込み演算)を行うデジタルフィルタリング
処理を行う(ステップ202)。フィルタは、ノットに
対するB−スプライン関数の値を用いる。具体的には、
次式(11)によって新しい値bkを計算する。次式
(11)において入力データ列ak-1,ak,ak+1に乗
算される係数1/6,2/3,1/6がフィルタ係数を
示している。
The filtering means 102 performs a digital filtering process of preferably performing a product-sum operation (convolution operation) with a filter coefficient on the value sequence {a k } for each knot kd obtained by the oversampling means 101. (Step 202). The filter uses the value of the B-spline function for the knots. In particular,
A new value b k is calculated by the following equation (11). In the following equation (11), coefficients 1/6, 2/3, and 1/6 by which the input data strings a k-1 , a k , and a k + 1 are multiplied indicate filter coefficients.

【0083】[0083]

【数9】 [Equation 9]

【0084】次に、フィルタリング手段102で得られ
た値bkの大きさを調べる(ステップ203)。
Next, the magnitude of the value b k obtained by the filtering means 102 is checked (step 203).

【0085】もしbkの値が予め定めた所定の値(規定
値)以下であれば、ノットの間隔がdであるスプライン
曲線ではそれ以上近似の精度が向上しないことから、ノ
ットの間隔dをd/2で置き換える(ステップ20
4)。
If the value of b k is equal to or smaller than a predetermined value (specified value), the accuracy of approximation is not further improved in a spline curve having a knot interval of d. d / 2 (Step 20)
4).

【0086】一方、規定値より大きければ、補間曲線生
成手段103による補間スプライン曲線の生成を行う
(ステップ205)。
On the other hand, if it is larger than the specified value, an interpolation spline curve is generated by the interpolation curve generation means 103 (step 205).

【0087】すなわち、ステップ205において、補間
曲線生成手段103は、ノット{kd}に対するフィル
タ演算結果bkを用いてスプライン曲線を生成する。そ
の際、スプライン曲線F(t)を、{kd}をノットとし
てもつB−スプライン関数Bk(t)の線形結合として次式
(12)のように表現し、係数pkに関する連立方程式
(13)、(14)、(15)を解く。
That is, in step 205, the interpolation curve generation means 103 generates a spline curve using the filter operation result b k for the knot {kd}. At that time, a spline curve F a (t), the {kd} having a knot B- expressed by the following equation as a linear combination of the spline function B k (t) (12) , simultaneous equations for coefficients p k (13 ), (14) and (15) are solved.

【0088】[0088]

【数10】 (Equation 10)

【0089】同じノットの間隔dに対応するB−スプラ
イン関数の係数{pi}は、順次加算していく。一方、
ノット間隔dが変わった場合(ステップ204の処理)
には、別の配列(Array)に格納する。
The coefficient {p i } of the B-spline function corresponding to the same knot interval d is sequentially added. on the other hand,
When the knot interval d has changed (the processing of step 204)
Is stored in another array (Array).

【0090】誤差計算手段104は、生成したスプライ
ン曲線F(t)の各tiにおける値F(ti)とxiとの差d
iを計算する(ステップ206)。
The error calculating means 104 calculates the difference d (x) between the value F (t i ) at each t i of the generated spline curve F (t) and x i.
x i is calculated (step 206).

【0091】そして、差dxiの大きさを調べる(ステ
ップ207)。
[0091] Then, examine the magnitude of the difference dx i (step 207).

【0092】ステップ207の判定処理において、差d
iが予め定めた所定の値(規定値)以下であれば、入
力データが補間できたことから、出力手段106による
以下に説明する手順でスプライン曲線の出力を行う(ス
テップ209)。そうでなければ、誤差dxiを新たな
データxiとして、オーバーサンプリング手段101に
入力する(ステップ208)。
In the determination processing of step 207, the difference d
If x i is preset predetermined value (predetermined value) or less, since the input data can be interpolated to output the spline curve by the procedure described below by the output unit 106 (step 209). Otherwise, the error dx i is input to the oversampling means 101 as new data x i (step 208).

【0093】出力手段106は、補間曲線生成手段10
3により生成された、d=1、1/2、1/22、…、
1/2lに対応するスプライン曲線群を、ノットの間隔
が1/2lであるスプライン曲線に変換し、B−スプラ
イン関数の係数piを加えて1つのスプライン曲線を作
り、出力する(ステップ209)。
The output means 106 outputs the interpolation curve generating means 10
, D = 1, 1/2, 1/2 2 , ...
The spline curves corresponding to 1/2 l, spacing knot is converted to a spline curve is a 1/2 l, B- added coefficients p i spline function creates one spline curve, and outputs (step 209).

【0094】[0094]

【実施形態2】本発明の第2の実施形態を以下に説明す
る。図3は、本発明の第2の実施形態の構成を示すブロ
ック図である。
Embodiment 2 A second embodiment of the present invention will be described below. FIG. 3 is a block diagram showing a configuration of the second exemplary embodiment of the present invention.

【0095】図3を参照して、本実施形態においては、
入力手段305は1次元空間内の点tiに対するベクト
ル値Viを入力する。オーバーサンプリング手段30
1、フィルタリング手段302、補間曲線生成手段30
3、誤差計算手段304、及び出力手段306の各々の
処理は、ベクトル値の各成分の値(すなわちスカラー
値)に関して、前記第1の実施形態におけるオーバーサ
ンプリング手段101、フィルタリング手段102、補
間曲線生成手段103、誤差計算手段104、及び出力
手段106と同様の処理を行なう。このため、これらの
手段の処理の説明は省略する。
Referring to FIG. 3, in the present embodiment,
Input means 305 for inputting a vector value V i for a point t i in one-dimensional space. Oversampling means 30
1. Filtering means 302, interpolation curve generating means 30
3. The processing of each of the error calculation means 304 and the output means 306 is based on the value of each component of the vector value (that is, the scalar value). The same processing as the means 103, the error calculation means 104, and the output means 106 is performed. Therefore, the description of the processing of these means is omitted.

【0096】[0096]

【実施形態3】本発明の第3の実施形態を以下に説明す
る。図4は、本発明の第3の実施形態の構成を示すブロ
ック図である。
Third Embodiment A third embodiment of the present invention will be described below. FIG. 4 is a block diagram showing a configuration of the third exemplary embodiment of the present invention.

【0097】図4を参照して、本発明の第3の実施形態
は、2次元空間内の点に対するスカラー値を入力する入
力手段405と、入力手段405によって入力された数
値データ、または誤差計算手段404で計算された誤差
を、入力データとしてオーバーサンプリングするオーバ
ーサンプリング手段401と、オーバーサンプリング手
段401で計算されたデータをフィルタリングするフィ
ルタリング手段402と、フィルタリング手段402で
計算された新たなデータを補間するスプライン関数を生
成する補間曲面生成手段403と、補間曲面生成手段4
03で生成されたスプライン関数とデータとの誤差を計
算する誤差計算手段404と、生成されたスプライン曲
面のデータを出力する出力手段406と、を備えてい
る。
Referring to FIG. 4, in the third embodiment of the present invention, input means 405 for inputting a scalar value for a point in a two-dimensional space, numerical data input by the input means 405, or error calculation. Oversampling means 401 for oversampling the error calculated by means 404 as input data, filtering means 402 for filtering the data calculated by oversampling means 401, and new data calculated by filtering means 402 are interpolated. Interpolation surface generating means 403 for generating a spline function for
There is provided an error calculation unit 404 for calculating an error between the spline function generated in step 03 and the data, and an output unit 406 for outputting data of the generated spline surface.

【0098】図4及び図5の流れ図を参照して、本発明
の第4の実施形態の動作を以下に詳細に説明する。
The operation of the fourth embodiment of the present invention will be described below in detail with reference to the flowcharts of FIGS.

【0099】ここでは、説明の都合上、入力された数値
データは格子状(2次元マトリクス)に並んでいるもの
とする。すなわち、ui,i=0,…,mと、vj,j=
0,…,nに対して、格子点(ui,vj)に値xijが与
えられているものとする。
Here, for convenience of explanation, it is assumed that the input numerical data is arranged in a lattice (two-dimensional matrix). That is, u i , i = 0,..., M and v j , j =
It is assumed that a grid point (u i , v j ) is given a value x ij for 0,..., N.

【0100】そして、4点(ui,vj)、(ui+1
j)、(ui,vj+1)、(ui+1,vj+1)からなる各
格子に対して、(ui+1,vj)と(ui,vj+1)とを結
ぶ対角線が引かれ、三角形分割されているものとする。
Then, the four points (u i , v j ), (u i + 1 ,
v j ), (u i , v j + 1 ), and (u i + 1 , v j + 1 ), (u i + 1 , v j ) and (u i , v j + It is assumed that a diagonal line connecting 1 ) is drawn and triangulated.

【0101】格子状に並んでいない場合でも、ドロネー
三角形分割等の三角形分割を行なえば同様に処理するこ
とができるため、格子状に並んでいない場合の詳細は省
略する。
Even if they are not arranged in a lattice, the same processing can be performed by performing triangulation such as Delaunay triangulation, so that the details when they are not arranged in a lattice are omitted.

【0102】スプライン関数のノットの間隔は、u方
向、v方向ともにdとおく。dの初期値は1とする。
The knot interval of the spline function is d in both the u and v directions. The initial value of d is 1.

【0103】オーバーサンプリング手段401は、各ノ
ット格子点における値を、入力データの1次関数による
補間で求める(ステップ501)。すなわち、k、lを
整数とするとき、ノットの格子点(u,v)=(kd,
ld)における値cklは、(u,v)が含まれる三角形
の頂点での値を1次関数で補間した値とする。
The oversampling means 401 obtains a value at each knot grid point by interpolation using a linear function of the input data (step 501). That is, when k and l are integers, knot lattice point (u, v) = (kd,
The value c kl in ld) is a value obtained by interpolating a value at a vertex of a triangle including (u, v) with a linear function.

【0104】そのために、まず(u,v)が含まれる三
角形の頂点を、(ui,vj)、(ui+1,vj)、
(ui,vj+1)とするとき、重心座標b0、b1、b2
次式(16)、(17)、(18)から求める。
For this purpose, first, the vertices of a triangle including (u, v) are defined as (u i , v j ), (u i + 1 , v j ),
When (u i , v j + 1 ), the barycentric coordinates b 0 , b 1 , b 2 are obtained from the following equations (16), (17), (18).

【0105】b0i+b1i+1+b2i=u …(16) b0j+b1j+b2j+1=v …(17) b0+b1+b2=1 …(18)B 0 u i + b 1 u i + 1 + b 2 u i = u (16) b 0 v j + b 1 v j + b 2 v j + 1 = v (17) b 0 + b 1 + b 2 = 1… (18)

【0106】このようにして求めた重心座標b0、b1
2 を使って、値cklは次式(19)のようにして求め
る。
The barycentric coordinates b 0 , b 1 , thus obtained,
Using b 2 , the value c kl is obtained as in the following equation (19).

【0107】 ckl=b0ij+b1i+1,j+b2i,j+1 …(19)C kl = b 0 x ij + b 1 x i + 1, j + b 2 x i, j + 1 (19)

【0108】説明の都合上、0≦u0、um≦mdd、0
≦v0、vn≦ndd(md、ndは正の整数)とおく。
For convenience of explanation, 0 ≦ u 0 , u mmd d, 0
≦ v 0, v n ≦ n d d (m d, n d is a positive integer) is denoted by.

【0109】入力データの格子の外部では、u座標が格
子の範囲内にあれば、最外周の辺で最も近いものを選
び、u座標が同じ点の値とする。また、v座標について
も同様に扱う。
Outside the grid of the input data, if the u coordinate is within the range of the grid, the nearest outermost side is selected and the u coordinate is set to the value of the same point. The v coordinate is handled in the same manner.

【0110】u座標、v座標ともに格子の範囲外であれ
ば、格子の最外周の4頂点のうち、最も近いものに対す
る値とする。
If both the u coordinate and the v coordinate are outside the range of the grid, the value is set to the closest one of the four vertices on the outermost periphery of the grid.

【0111】フィルタリング手段402は、オーバーサ
ンプリング手段401で求めた各ノットの格子点(k
d,ld)に対する値の配列{ckl}に対して、2次元
フィルタ演算(フィルタ係数と配列{ckl}との積和演
算)を行う(ステップ502)。フィルタは、ノット格
子点に対するB−スプライン関数の値の積を用いる。具
体的には、次式(20)で新しい値{ekl}を計算す
る。
The filtering means 402 calculates the grid point (k) of each knot obtained by the oversampling means 401.
A two-dimensional filter operation (sum-of-products operation of the filter coefficient and the array {c kl }) is performed on the array of values {c kl } for (d, ld) (step 502). The filter uses the product of the values of the B-spline function for the knot grid points. Specifically, a new value {e kl } is calculated by the following equation (20).

【0112】[0112]

【数11】 [Equation 11]

【0113】次に、フィルタリング手段402で得られ
た値eklの大きさを調べる(ステップ503)。もし、
値eklの大きさが予め定めた所定の値(規定値)以下で
あれば、ノットの間隔がdであるスプライン関数ではそ
れ以上近似の精度が向上しないので、ノットの間隔dを
1/2dで置き換える(ステップ504)。一方、規定
値より大きければ、ステップ505において補間曲面生
成手段403による補間スプライン曲面の生成を行う。
Next, the magnitude of the value e kl obtained by the filtering means 402 is checked (step 503). if,
If the magnitude of the value e kl is equal to or less than a predetermined value (specified value), the knot interval d is reduced to 1 / 2d because the approximation accuracy is not further improved by the spline function having the knot interval d. (Step 504). On the other hand, if it is larger than the specified value, in step 505, the interpolation surface generating unit 403 generates an interpolation spline surface.

【0114】補間曲面生成手段403は、(kd,l
d)に対するeklを用いてスプライン関数を生成する。
3次のスプライン曲面F(u,v)をB−スプライン関
数を用いて表現すると、次式(21)になる。
The interpolation surface generating means 403 calculates (kd, l
Generate a spline function using e kl for d).
Expressing the cubic spline surface F (u, v) using a B-spline function results in the following equation (21).

【0115】[0115]

【数12】 (Equation 12)

【0116】ただし、Bi(u)、Cj(v)はそれぞれ
ノットが{kd}、{ld}に対応するB−スプライン
関数である。
However, B i (u) and C j (v) are B-spline functions whose knots correspond to {kd} and {ld}, respectively.

【0117】このとき、まず各iに対して1次元の場合
の補間を行なう。すなわち、変数vの関数Fi(v)
を、入力データeijに対して、上記の1次元の場合のよ
うにして求める。
At this time, first, the interpolation in the one-dimensional case is performed for each i. That is, the function F i (v) of the variable v
Is obtained for the input data e ij as in the above-described one-dimensional case.

【0118】[0118]

【数13】 (Equation 13)

【0119】上式(22)の解qijに対して、今度は各
jについて1次元の補間を行なう。すなわち、変数uの
関数Fj(u)を、qijに対して、1次元の場合の方法
で求める。
For the solution q ij of the above equation (22), one-dimensional interpolation is performed for each j this time. That is, the function F j (u) of the variable u is obtained with respect to q ij by the one-dimensional method.

【0120】[0120]

【数14】 [Equation 14]

【0121】上式(23)で得られるpijが求める値で
ある。
P ij obtained by the above equation (23) is a value to be obtained.

【0122】同じノット間隔dに対応するB−スプライ
ン曲面の係数{pij}は、順次加算していく。dが変わ
った場合は、別の配列に格納する。
The coefficients {p ij } of the B-spline curved surface corresponding to the same knot interval d are sequentially added. If d has changed, it is stored in another array.

【0123】誤差計算手段404は、生成したスプライ
ン曲面F(u,v)の各(ui,vj)における値F(u
i,vj)とxijとの差dxij(誤差)を計算する(ステ
ップ506)。
The error calculating means 404 calculates a value F (u, v) for each (u i , v j ) of the generated spline surface F (u, v).
The difference dx ij (error) between i , v j ) and x ij is calculated (step 506).

【0124】そして、dxijの値を調べる(ステップ5
07)。dxijが規定値以下であれば、入力データが補
間できたので、出力手段406に進む。そうでなけれ
ば、誤差dxijを新たなデータxijとしてオーバーサン
プリング手段401に入力する(ステップ508)。
Then, the value of dx ij is checked (step 5).
07). If dx ij is equal to or less than the specified value, the input data has been successfully interpolated, and the process proceeds to the output unit 406. If not, the error dx ij is input to the oversampling means 401 as new data x ij (step 508).

【0125】出力手段406は、補間曲線生成手段40
3で生成された、d=1、1/2、1/22、…、1/
lに対応するスプライン曲面群を、ノットの間隔が1
/2lであるスプライン曲面に変換し、B−スプライン
関数の係数pijを加えて1つのスプライン曲面を作り、
出力する(ステップ509)。
The output means 406 outputs the interpolation curve generation means 40
3, d = 1, 1/2, 1/2 2 ,..., 1 /
A group of spline surfaces corresponding to 2 l is defined as having a knot interval of 1
/ 2 l to a spline surface, add a coefficient p ij of a B-spline function to create one spline surface,
Output (Step 509).

【0126】[0126]

【実施形態4】図6を参照して、本発明の第4の実施形
態を説明する。本発明の第4の実施形態においては、入
力手段605が2次元空間内の点(ui,vj)に対する
ベクトル値Vijを入力する。
Fourth Embodiment A fourth embodiment of the present invention will be described with reference to FIG. In the fourth embodiment of the present invention, the input means 605 inputs a vector value V ij for a point (u i , v j ) in a two-dimensional space.

【0127】オーバーサンプリング手段601、フィル
タリング手段602、補間曲面生成手段603、誤差計
算手段604、出力手段606の各々の処理は、ベクト
ル値の各成分に関して第3の実施形態においてそれぞれ
対応するオーバーサンプリング手段401、フィルタリ
ング手段402、補間曲面生成手段403、誤差計算手
段404、出力手段406と同様の処理を行なうので、
詳細は省略する。
The processing of each of the oversampling means 601, the filtering means 602, the interpolation surface generating means 603, the error calculating means 604, and the output means 606 corresponds to the oversampling means corresponding to each component of the vector value in the third embodiment. Since the same processing as that of 401, filtering means 402, interpolation surface generation means 403, error calculation means 404, and output means 406 is performed,
Details are omitted.

【0128】[0128]

【発明の効果】以上説明したように、本発明に係る数値
データの補間方法及び装置によれば、入力された数値デ
ータに対して、オーバーサンプリングしたデータをフィ
ルタリング処理して得られた値についてスプライン補間
するように構成したことにより、小さな変動に対して
は、結果として得られる関数の変動も小さく抑えること
ができるという効果を有する。このため、従来の手法よ
り、滑らかな補間関数を得ることができる。
As described above, according to the method and apparatus for interpolating numerical data according to the present invention, the spline is applied to the value obtained by filtering the oversampled data with respect to the input numerical data. Due to the configuration for interpolation, there is an effect that, for a small change, the change of the function obtained as a result can be suppressed to a small value. Therefore, a smoother interpolation function can be obtained than in the conventional method.

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

【図1】本発明の第1の実施形態の構成を示す図であ
る。
FIG. 1 is a diagram showing a configuration of a first exemplary embodiment of the present invention.

【図2】図1に示した実施形態の動作を説明する流れ図
である。
FIG. 2 is a flowchart for explaining the operation of the embodiment shown in FIG. 1;

【図3】本発明の第2の実施形態の構成を示す図であ
る。
FIG. 3 is a diagram showing a configuration of a second exemplary embodiment of the present invention.

【図4】本発明の第3の実施形態の構成を示す図であ
る。
FIG. 4 is a diagram showing a configuration of a third exemplary embodiment of the present invention.

【図5】図4に示した実施形態の動作を説明する流れ図
である。
FIG. 5 is a flowchart for explaining the operation of the embodiment shown in FIG. 4;

【図6】本発明の第4の実施形態の構成を示す図であ
る。
FIG. 6 is a diagram showing a configuration of a fourth embodiment of the present invention.

【図7】本発明の原理・作用を説明するための図であ
る。
FIG. 7 is a diagram for explaining the principle and operation of the present invention.

【図8】本発明の原理・作用を説明するための図であ
る。
FIG. 8 is a diagram for explaining the principle and operation of the present invention.

【図9】本発明の原理・作用を説明するための図であ
る。
FIG. 9 is a diagram for explaining the principle and operation of the present invention.

【図10】本発明の原理・作用を説明するための図であ
る。
FIG. 10 is a diagram for explaining the principle and operation of the present invention.

【図11】本発明の原理・作用を説明するための図であ
る。
FIG. 11 is a diagram for explaining the principle and operation of the present invention.

【図12】本発明の原理・作用を説明するための図であ
る。
FIG. 12 is a diagram for explaining the principle and operation of the present invention.

【図13】従来の技術を説明するための図である。FIG. 13 is a diagram for explaining a conventional technique.

【図14】従来の技術を説明するための図である。FIG. 14 is a diagram for explaining a conventional technique.

【図15】従来の技術を説明するための図である。FIG. 15 is a diagram for explaining a conventional technique.

【図16】従来の技術を説明するための図である。FIG. 16 is a diagram for explaining a conventional technique.

【図17】従来の技術を説明するための図である。FIG. 17 is a diagram for explaining a conventional technique.

【図18】従来の技術を説明するための図である。FIG. 18 is a diagram for explaining a conventional technique.

【図19】従来の技術を説明するための図である。FIG. 19 is a diagram for explaining a conventional technique.

【図20】従来の技術を説明するための図である。FIG. 20 is a diagram for explaining a conventional technique.

【図21】従来の技術を説明するための図である。FIG. 21 is a diagram for explaining a conventional technique.

【図22】従来の技術の問題点を説明するための図であ
る。
FIG. 22 is a diagram for explaining a problem of the conventional technique.

【図23】従来の技術の問題点を説明するための図であ
る。
FIG. 23 is a diagram for explaining a problem of the conventional technique.

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

101 オーバーサンプリング手段 102 フィルタリング手段 103 補間曲線生成手段 104 誤差計算手段 105 入力手段 106 出力手段 301 オーバーサンプリング手段 302 フィルタリング手段 303 補間曲線生成手段 304 誤差計算手段 305 入力手段 306 出力手段 401 オーバーサンプリング手段 402 フィルタリング手段 403 補間曲面生成手段 404 誤差計算手段 405 入力手段 406 出力手段 601 オーバーサンプリング手段 602 フィルタリング手段 603 補間曲面生成手段 604 誤差計算手段 605 入力手段 606 出力手段 1301 入力された数値データ 1302 対応する値を求めたい点 1401 区分的1次関数 1501 多項式 1601 スプライン関数 1801 3次のB−スプライン関数 2201 スプライン関数 2301 スプライン関数 101 oversampling means 102 filtering means 103 interpolation curve generation means 104 error calculation means 105 input means 106 output means 301 oversampling means 302 filtering means 303 interpolation curve generation means 304 error calculation means 305 input means 306 output means 401 oversampling means 402 filtering Means 403 Interpolation surface generation means 404 Error calculation means 405 Input means 406 Output means 601 Oversampling means 602 Filtering means 603 Interpolation surface generation means 604 Error calculation means 605 Input means 606 Output means 1301 Input numerical data 1302 Obtain corresponding value Points 1401 Piecewise linear function 1501 Polynomial 1601 Spline function 1801 Third-order B-sp In function 2201 spline function 2301 spline function

Claims (22)

【特許請求の範囲】[Claims] 【請求項1】入力された数値データからスプライン曲線
を生成する方法であって、 数値データを補間するためのスプライン曲線を生成する
際に、前記入力された数値データの近似曲線を生成する
工程を繰り返すことにより、前記入力された数値データ
と前記近似曲線との誤差が0に近づくように制御すると
共に、 前記近似曲線を生成する際に、前記入力された数値デー
タまたは前記入力された数値データと前記近似曲線との
前記誤差をオーバーサンプリングし、該オーバーサンプ
リングされた値をフィルタリング処理して新たなデータ
を生成し、該新たなデータを補間するスプライン曲線を
求める、 ことを特徴とするスプライン曲線の生成方法。
1. A method of generating a spline curve from input numerical data, comprising the step of generating an approximate curve of the input numerical data when generating a spline curve for interpolating numerical data. By repeating, the error between the input numerical data and the approximate curve is controlled so as to approach 0, and at the time of generating the approximate curve, the input numerical data or the input numerical data is Oversampling the error from the approximate curve, generating new data by filtering the oversampled value, and obtaining a spline curve that interpolates the new data. Generation method.
【請求項2】前記入力された数値データが、1次元空間
内の点に対するスカラー値として表わされたものからな
ることを特徴とする請求項1記載のスプライン曲線の生
成方法。
2. The method according to claim 1, wherein the input numerical data is represented as a scalar value for a point in a one-dimensional space.
【請求項3】前記入力された数値データが、1次元空間
内の点に対するベクトル値として表わされたものからな
ることを特徴とする請求項1記載のスプライン曲線の生
成方法。
3. The spline curve generating method according to claim 1, wherein the input numerical data is represented as a vector value with respect to a point in a one-dimensional space.
【請求項4】前記入力された数値データの相隣る2つの
点を所定の1次関数で補間して前記オーバーサンプリン
グを行うことを特徴とする請求項1から3のいずれか一
に記載のスプライン曲線の生成方法。
4. The oversampling is performed by interpolating two adjacent points of the input numerical data with a predetermined linear function. Spline curve generation method.
【請求項5】ノットにおけるB−スプライン関数の値を
前記フィルタリング処理に用いることを特徴とする請求
項1から3のいずれか一に記載のスプライン曲線の生成
方法。
5. The spline curve generation method according to claim 1, wherein a value of a B-spline function at the knot is used for the filtering process.
【請求項6】入力された数値データからスプライン曲面
を生成する方法であって、 数値データを補間するためのスプライン曲面を生成する
際に、前記入力された数値データの近似曲面を生成する
工程を繰り返すことにより、前記入力された数値データ
と前記近似曲面との誤差が0に近づくように制御すると
共に、 前記近似曲面を生成する際に、前記入力された数値デー
タまたは前記入力された数値データと前記近似曲面との
前記誤差をオーバーサンプリングし、該オーバーサンプ
リングされた値をフィルタリング処理して新たなデータ
を生成し、該新たなデータを補間するスプライン曲面を
求める、 ことを特徴とするスプライン曲面の生成方法。
6. A method for generating a spline curved surface from input numerical data, comprising the step of generating an approximate curved surface of the input numerical data when generating a spline curved surface for interpolating numerical data. By repeating, the error between the input numerical data and the approximate curved surface is controlled so as to approach 0, and at the time of generating the approximate curved surface, the input numerical data or the input numerical data is Oversampling the error with the approximated curved surface, filtering the oversampled value to generate new data, and obtaining a spline curved surface that interpolates the new data. Generation method.
【請求項7】前記入力された数値データが、2次元空間
内の点に対するスカラー値として表わされたものからな
ることを特徴とする請求項6記載のスプライン曲面の生
成方法。
7. The spline surface generating method according to claim 6, wherein said input numerical data is represented as a scalar value for a point in a two-dimensional space.
【請求項8】前記入力された数値データが、2次元空間
内の点に対するベクトル値として表わされたものからな
ることを特徴とする請求項6記載のスプライン曲面の生
成方法。
8. A method according to claim 6, wherein said input numerical data is represented as a vector value for a point in a two-dimensional space.
【請求項9】前記入力された数値データの相隣る3点を
所定の1次関数で補間して前記オーバーサンプリングを
行なうことを特徴とする請求項6から8のいずれか一に
記載のスプライン曲面の生成方法。
9. The spline according to claim 6, wherein the oversampling is performed by interpolating three adjacent points of the input numerical data with a predetermined linear function. How to generate a surface.
【請求項10】ノットにおけるB−スプライン関数の値
をフィルタリング処理に用いることを特徴とする請求項
6から8のいずれか一に記載のスプライン曲面の生成方
法。
10. The method for generating a spline curved surface according to claim 6, wherein a value of a B-spline function at the knot is used for a filtering process.
【請求項11】入力手段を介して入力された入力データ
をオーバーサンプリングして新たなデータを生成出力す
るオーバーサンプリング手段と、 前記オーバーサンプリング手段から出力されたデータを
入力し該データに対して所定のフィルタリング処理を行
うフィルタリング手段と、 前記フィルタリング手段から出力されたデータを補間す
るためのスプライン曲線を生成する補間曲線生成手段
と、 前記補間曲線生成手段で生成されたスプライン曲線の前
記入力データに対する誤差を計算する誤差計算手段と、 前記補間曲線生成手段で生成されたスプライン曲線群を
単一のスプライン曲線に変換して出力する出力手段と、 を備えたことを特徴とするスプライン曲線の生成装置。
11. Oversampling means for oversampling input data input via input means to generate and output new data, and inputting data output from said oversampling means and applying predetermined data to said data. Filtering means for performing a filtering process, interpolation curve generating means for generating a spline curve for interpolating data output from the filtering means, and error of the spline curve generated by the interpolation curve generating means with respect to the input data An spline curve generation device comprising: an error calculation unit that calculates the spline curve group; and an output unit that converts the spline curve group generated by the interpolation curve generation unit into a single spline curve and outputs the result.
【請求項12】前記入力手段を介して入力される前記入
力データが、1次元空間内の点に対するスカラー値から
なることを特徴とする請求項11記載のスプライン曲線
の生成装置。
12. The spline curve generating apparatus according to claim 11, wherein said input data input via said input means comprises a scalar value for a point in a one-dimensional space.
【請求項13】前記入力手段を介して入力される前記入
力データが、1次元空間内の点に対するベクトル値から
なることを特徴とする請求項11記載のスプライン曲線
の生成装置。
13. The spline curve generating device according to claim 11, wherein the input data input via the input means is a vector value for a point in a one-dimensional space.
【請求項14】前記オーバーサンプリング手段が、前記
入力データの相隣る2つの点を所定の1次関数で補間し
てオーバーサンプリングを行なうことを特徴とする請求
項11から13のいずれか一に記載のスプライン曲線の
生成装置。
14. The apparatus according to claim 11, wherein said oversampling means performs oversampling by interpolating two adjacent points of said input data with a predetermined linear function. The described spline curve generator.
【請求項15】前記フィルタリング手段が、ノットにお
けるB−スプライン関数の値をフィルタ係数としてフィ
ルタ処理することを特徴とする請求項11から13のい
ずれか一に記載のスプライン曲線の生成装置。
15. The spline curve generating apparatus according to claim 11, wherein said filtering means performs a filtering process using a value of a B-spline function at the knot as a filter coefficient.
【請求項16】入力手段を介して入力された入力データ
をオーバーサンプリングして新たなデータを生成出力す
るオーバーサンプリング手段と、 前記オーバーサンプリング手段から出力されたデータを
入力し該データに対して所定のフィルタリング処理を行
うフィルタリング手段と、 前記フィルタリング手段から出力されたデータを補間す
るためのスプライン曲面を生成する補間曲面生成手段
と、 前記補間曲面生成手段で生成されたスプライン曲線の前
記入力データに対する誤差を計算する誤差計算手段と、 前記補間曲面生成手段で生成されたスプライン曲面群を
単一のスプライン曲面に変換して出力する出力手段と、 を備えたことを特徴とするスプライン曲面の生成装置。
16. Oversampling means for oversampling input data input via input means to generate and output new data, and inputting data output from said oversampling means and applying predetermined data to the data. Filtering means for performing a filtering process; interpolation surface generating means for generating a spline surface for interpolating data output from the filtering means; and an error of the spline curve generated by the interpolation surface generating means with respect to the input data. And an output unit that converts the group of spline surfaces generated by the interpolated surface generation unit into a single spline surface and outputs the single spline surface.
【請求項17】前記入力手段を介して入力された前記入
力データが、2次元空間内の点に対するスカラー値から
なることを特徴とする請求項16記載のスプライン曲面
の生成装置。
17. The spline surface generating apparatus according to claim 16, wherein said input data input via said input means comprises a scalar value for a point in a two-dimensional space.
【請求項18】前記入力手段を介して入力される前記入
力データが、2次元空間内の点に対するベクトル値から
なることを特徴とする請求項16記載のスプライン曲面
の生成装置。
18. The spline surface generating apparatus according to claim 16, wherein said input data input via said input means comprises vector values for points in a two-dimensional space.
【請求項19】前記オーバーサンプリング手段が、前記
入力手段を介して入力される前記入力データの互いに相
隣る3点を所定の1次関数で補間してオーバーサンプリ
ングを行なうことを特徴とする請求項16から18のい
ずれか一に記載のスプライン曲面の生成装置。
19. The oversampling means for performing oversampling by interpolating three mutually adjacent points of the input data input via the input means with a predetermined linear function. Item 19. An apparatus for generating a spline curved surface according to any one of Items 16 to 18.
【請求項20】前記フィルタリング手段が、ノットにお
けるB−スプライン関数の値をフィル係数としてフィル
タ処理することを特徴とする請求項16から18のいず
れか一に記載のスプライン曲面の生成装置。
20. The spline surface generating apparatus according to claim 16, wherein said filtering means performs a filtering process using a value of a B-spline function at the knot as a fill coefficient.
【請求項21】前記入力手段が、アナログ信号をサンプ
リングして得られるデジタル信号からなる数値データを
前記入力データとして入力することを特徴とする請求項
11から13のいずれか一に記載のスプライン曲線の生
成装置。
21. A spline curve according to claim 11, wherein said input means inputs, as said input data, numerical data consisting of a digital signal obtained by sampling an analog signal. Generator.
【請求項22】前記入力手段が、アナログ信号をサンプ
リングして得られるデジタル信号からなる数値データを
前記入力データとして入力することを特徴とする請求項
16から18のいずれか一に記載のスプライン曲面の生
成装置。
22. The spline surface according to claim 16, wherein said input means inputs numerical data consisting of a digital signal obtained by sampling an analog signal as said input data. Generator.
JP7350140A 1995-12-23 1995-12-23 Method and apparatus for generating spline curve and spline surface Expired - Lifetime JP2785784B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7350140A JP2785784B2 (en) 1995-12-23 1995-12-23 Method and apparatus for generating spline curve and spline surface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7350140A JP2785784B2 (en) 1995-12-23 1995-12-23 Method and apparatus for generating spline curve and spline surface

Publications (2)

Publication Number Publication Date
JPH09179992A true JPH09179992A (en) 1997-07-11
JP2785784B2 JP2785784B2 (en) 1998-08-13

Family

ID=18408501

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7350140A Expired - Lifetime JP2785784B2 (en) 1995-12-23 1995-12-23 Method and apparatus for generating spline curve and spline surface

Country Status (1)

Country Link
JP (1) JP2785784B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11296697A (en) * 1998-04-10 1999-10-29 Toyota Motor Corp Curved surface generation method
JP2001034774A (en) * 1999-07-21 2001-02-09 Ricoh Co Ltd Method, device, and recording medium for approximate conversion of free curve
EP1450485A2 (en) 2003-02-18 2004-08-25 Mitutoyo Corporation Signal processing method and program, recording medium storing the program and signal processor
JP2005201869A (en) * 2004-01-19 2005-07-28 Mitsutoyo Corp Signal-processing method, signal-processing program, recording medium with the program stored, and signal processing apparatus
JP2006518674A (en) * 2003-02-25 2006-08-17 ゼネラル・エレクトリック・カンパニイ On-demand adaptive control system
CN113791578A (en) * 2021-08-23 2021-12-14 五邑大学 Track filtering method and device based on numerical control machining system and electronic equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60205774A (en) * 1984-03-30 1985-10-17 Fujitsu Ltd On point calculating system of two-dimensional interpolated spline
JPH01217562A (en) * 1988-02-26 1989-08-31 Nec Corp System for generating computing grid
JPH0484267A (en) * 1990-07-26 1992-03-17 Seiko Epson Corp Interpolation system for discrete data
JPH0590896A (en) * 1991-09-27 1993-04-09 Fujitsu Ltd Oversampling transversal equalizer
JPH05314161A (en) * 1992-05-13 1993-11-26 Matsushita Electric Ind Co Ltd High precision position recognizing method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60205774A (en) * 1984-03-30 1985-10-17 Fujitsu Ltd On point calculating system of two-dimensional interpolated spline
JPH01217562A (en) * 1988-02-26 1989-08-31 Nec Corp System for generating computing grid
JPH0484267A (en) * 1990-07-26 1992-03-17 Seiko Epson Corp Interpolation system for discrete data
JPH0590896A (en) * 1991-09-27 1993-04-09 Fujitsu Ltd Oversampling transversal equalizer
JPH05314161A (en) * 1992-05-13 1993-11-26 Matsushita Electric Ind Co Ltd High precision position recognizing method

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11296697A (en) * 1998-04-10 1999-10-29 Toyota Motor Corp Curved surface generation method
JP2001034774A (en) * 1999-07-21 2001-02-09 Ricoh Co Ltd Method, device, and recording medium for approximate conversion of free curve
EP1450485A2 (en) 2003-02-18 2004-08-25 Mitutoyo Corporation Signal processing method and program, recording medium storing the program and signal processor
US6885980B2 (en) 2003-02-18 2005-04-26 Mitutoyo Corporation Signal-processing method, signal-processing program, recording medium, storing the signal-processing program and signal processor
JP2006518674A (en) * 2003-02-25 2006-08-17 ゼネラル・エレクトリック・カンパニイ On-demand adaptive control system
JP2005201869A (en) * 2004-01-19 2005-07-28 Mitsutoyo Corp Signal-processing method, signal-processing program, recording medium with the program stored, and signal processing apparatus
US7188054B2 (en) 2004-01-19 2007-03-06 Mitutoyo Corporation Signal processing method, signal processing program, recording medium storing the signal processing program and signal processor
CN113791578A (en) * 2021-08-23 2021-12-14 五邑大学 Track filtering method and device based on numerical control machining system and electronic equipment

Also Published As

Publication number Publication date
JP2785784B2 (en) 1998-08-13

Similar Documents

Publication Publication Date Title
EP1537539B1 (en) An interface and method of interfacing between a parametric modelling unit and a polygon based rendering system
Li et al. Adaptive knot placement in B-spline curve approximation
Ruprecht et al. Image warping with scattered data interpolation
US5636338A (en) Method for designing curved shapes for use by a computer
US8537158B2 (en) Parallel triangle tessellation
JPH076232A (en) System and method for execution of hybrid forward diffrence process so as to describe bezier spline
JP3174223B2 (en) Filter design method and filter
EP1548618A1 (en) Cad system and cad program
JPWO2009142037A1 (en) Approximation processing method and approximation processing apparatus
Campos et al. On the computational efficiency of different waveguide mesh topologies for room acoustic simulation
JP2785784B2 (en) Method and apparatus for generating spline curve and spline surface
WO2003067527A1 (en) Three-dimensional shape displaying program, three-dimensional shae displaying method, and three-dimensional shape displaying device
Rahim et al. An analysis of interpolation methods for super resolution images
JP4021058B2 (en) Data interpolation method
Jeong et al. B-Spline surface approximation to cross-sections using distance maps
Yang et al. A shape adaptive motion control system with application to robotic polishing
Prantl et al. Estimation of differential quantities using Hermite RBF interpolation
JP3463843B2 (en) Free-form surface generation apparatus and free-form surface generation method
JP2007156604A (en) Curved surface creation method, curved surface creation program and three-dimensional shape processor
JP2005149245A (en) Cad system, curved surface analysis device, curved surface reproducing device, and method and program therefor
Kolb et al. Fair surface reconstruction using quadratic functionals
JP2001273278A (en) Device and method for optimization
JPH0836653A (en) Method and device for generating free curved plane
Frank et al. Data—Dependent Surface Simplification
JP7036207B2 (en) Mesh generation system, mesh generation program and mesh generation method

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980428