スプライン曲線

提供: miniwiki
2018/8/19/ (日) 17:34時点におけるAdmin (トーク | 投稿記録)による版 (1版 をインポートしました)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先:案内検索

スプライン曲線(スプラインきょくせん、英語: spline curve)とは、スプラインを使用して表現された曲線のこと。スプラインとは区分多項式(区分的に定義された多項式)の事。数学的な背景や曲線あてはめのようなモデルの推定といった側面もあるが、図学造形デザインで使われることが多い。

由来

由来であるスプラインは、バネ性のあるしなやかな金属製あるいは薄い木や竹製の細く長い定規で、現在「自在定規」などといった名称で市販されている任意の曲線に曲げるとその形が保持される(すなわち、塑性変形的な)ものと似ているが少し異なり、その弾性変形を利用して、自然な曲線を得るという点に特徴がある。

1次スプライン曲線

1次スプライン曲線は、一般に、線形補間である折れ線グラフとなる。

高次のスプライン曲線

ファイル:Qspline.svg
7区間からなる3次スプライン曲線の例

コンピュータグラフィックス等では、ここで述べる伝統的なスプラインに沿った手法ではなく、次節のB-スプライン曲線が使われていることが多いので、そちらを参照のこと。

一般にN個(N≧3)の制御点がある時、その全てを通るN-1次多項式による多項式補間が可能であるが、ルンゲ現象などといったうまくない現象が伴うことが知られている。

そこで、前述のようなスプライン、あるいは雲形定規による作図のことを考えてみると、それらによる近似では必ずしも曲線全体をいっぺんに(高次的に)近似しているのではないことがわかる。そこで、ある制御点や区間に対し、その前後の数点だけから近似し、全体としてはいくつもの多項式による曲線をつなぎ合わるようにした(もちろん、そのつなぎ目もできれば滑らかなほうが望ましいわけであるが)曲線が、スプライン曲線である。なお、そのようにして望む点を通る曲線を得る補間法をスプライン補間(en:Spline interpolation)という。

一般に、n次スプライン曲線は、最高次としてn次の多項式を用いたものである。n次スプライン曲線の、0次からn-1次までの導関数は、全ての点において連続である(滑らかな関数の記事も参照)。3次スプライン曲線の場合、端点における2次導関数を0とすることにより、各多項式における全ての係数が求まる。これらの係数を求めるには、連立方程式を解く必要があるが、三重対角行列を扱う問題に帰着するので、計算量は少なくて済む。

また特に、由来であるスプラインは、曲率の2乗積分が最小となるような3次曲線と考えられ、その意味で特に3次スプライン曲線[1]が代表的であるとも言える。

B-スプライン曲線

コンピュータグラフィックス等では、こちらのほうが専ら多用されている。B-スプライン曲線は、前節までで述べたような(伝統的な)スプラインとは異なり、制御点を必ずしも通らないスプライン曲線である。「ベジェ曲線とB-スプライン曲線」といったように対比される場合、3次B-スプライン曲線のことが多い(ベジェ曲線もスプライン曲線の一種と言えなくもないが)。また、端の制御点が曲線の端点でもあるような場合は、端の制御点(制御ノット)を多重ノットとした、一種の非一様B-スプライン曲線である(NURBSの記事も参照)。

有理B-スプライン

NURBS(非一様有理B-スプライン)は、B-スプライン曲線をさらに一般化したもので、CADツール等ではNURBSがサポートされていることが多い。

脚注

関連項目