コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

スプライン曲線

出典: フリー百科事典『ウィキペディア(Wikipedia)』

スプライン曲線(スプラインきょくせん、英語: spline curve)とは、スプラインを使用して表現された曲線のこと。スプラインとは区分多項式(区分的に定義された多項式)の事。

数学的な背景や曲線あてはめのようなモデルの推定といった側面もあるが、図学造形デザインで使われることが多い(⇒#利用)。スプライン曲線の数式表現には様々な形式がある(区分多項式、切断べき関数、差分商とB–スプライン、バーンスタイン・ベジェ形式など)[1]

由来

[編集]
スプライン

製図用具におけるスプライン: spline)はしなやかで弾力のある細長い板である。

真っ直ぐで弾力のある板をたわませ複数の重しで支えると、板はその弾力により滑らかに曲がる。これを製図に応用すれば、板と重しによって「重しの位置を通る滑らかな曲線」を得られる。この用途で用いられるしなやかで弾力のある細い板がスプラインであり、重しは : spline weights と呼ばれた。スプラインは自在定規の一種であるといえる[2]

スプライン曲線の物理的形状は弾力あるスプラインの弾性エネルギー最小化により規定される。これを数学的に模倣した関数が三次スプライン曲線である[3]

1次スプライン曲線

[編集]

1次スプライン曲線は、線形補間であり、折れ線グラフである。

高次のスプライン曲線

[編集]
7区間からなる3次スプライン曲線の例

一般にN個(N≧3)の制御点がある時、その全てを通るN-1次多項式により一括の多項式補間が可能であるが、ルンゲ現象をはじめとする不都合を伴う。

これに対し、より低次の多項式により、対象線を区間ごとに近似/補間する方法が考えられる。すなわち、各制御点ごとの前後数点からの近似による小曲線要素の集団が一本に連なった曲線が、スプライン曲線である。

N次スプライン」の「N」は、多項式の最高次元数である。また、由来であるスプラインは、曲率の2乗積分が最小となるような3次曲線と考えられ、その意味で特に3次スプライン曲線[4]が典型的かつ代表的なものと言える。

算出方法

[編集]

N次のスプライン曲線について、その区間ごと多項式の0次からN-1次までの各微係数を隣接区間に対して接続点上で同値とする。これにより全体で連続した関数/曲線とみなされる(滑らかな関数の記事も参照)。接続先の無い端点については、微係数を0とするといった処理がとられる。以上をもって全多項式の係数が一意に定まる。実際の係数算出は連立方程式を解くもので、多重対角行列問題に帰着する。

B-スプライン曲線

[編集]

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

有理B-スプライン

[編集]

NURBS(非一様有理B-スプライン)は、B-スプライン曲線をさらに一般化したものである。

利用

[編集]

スプライン曲線は様々な場面で利用されている。

設計

[編集]

スプライン曲線は建築インダストリアルデザインで利用される。製図用具としてのスプラインの時代から曲線表現のために利用されており、現代ではCADNURBS等のスプライン曲線が多用される。

芸術

[編集]

スプライン曲線は芸術で利用される。コンピュータグラフィックスを用いた作品での曲線表現に用いられる。CG分野ではB-スプライン曲線がよく用いられる。

数値計算

[編集]

スプライン曲線は数値計算で利用される。有限要素法などにおいてスプライン補間スプラインほかん: spline interpolation)の形で利用されている[5]

脚注

[編集]
  1. ^ "スプライン関数の数式表現には,本稿で用いた式 (8) 及び式 (9) 以外にも,切断べき関数,差分商とB–スプライン,バーンスタイン・ベジェ形式など様々なものがあり" 北原 2022, p. 575 より引用。
  2. ^ "データ点を滑らかに結ぶ曲線を引くための道具として「自在定規」という定規が存在する ... その一種に「スプライン」と呼ばれるものがあり" 北原 2022, p. 570 より引用。
  3. ^ "「スプライン」と呼ばれるものがあり ... これを使って引いた曲線を関数として再現したものが「3 次スプライン関数」である" 北原 2022, pp. 570–571 より引用。
  4. ^ Wolfram MathWorld, Cubic Spline
  5. ^ 山本哲朗『数値解析入門』(増訂版)サイエンス社〈サイエンスライブラリ 現代数学への入門 14〉、2003年6月。ISBN 4-7819-1038-6 

参考文献

[編集]

学習参考書等

[編集]
  • 市田浩三、吉本富士市:「スプライン関数とその応用」、教育出版、ISBN 4-316-37710-8 (1979年6月1日).
  • 桜井明(編著):「スプライン関数入門」、東京電機大学出版局、ISBN 4-501-50250-9 (1981年6月30日).
  • チャールズ K.チュウイ著:「マルチスプライン」、東京電機大学出版局、ISBN 4-501-51720-4 (1991年9月10日). ※ 多変数版のスプライン
  • 桜井明(監修)、菅野敬祐、吉村和美、高山文雄:「Cによるスプライン関数」、東京電機大学出版局、ISBN 4-501-52040-X (1993年3月20日).
  • B.D.Bojanov, H.A.Hakopian and A.A.Sahakian: Spline Functions and Mutivariate Interpolations, Springer, ISBN 978-94-015-8169-1 (1993).
  • C.de Boor, K. Höllig and S. Riemenschneider: Box Splines, Springer-Verlag, ISBN 978-1-4757-2244-4 (1993).
  • Rémi Arcandéli, María Cruz López de Silanes and Juan José Torrens: Multidimensional Minimizing Splines :Theory and Applications, Kluwer Academic Publications, ISBN 1-4020-7787-4 (2004).
  • Sorín G. Gal: Shape-Preserving Approximation by Real and Complex Polynomials, Birkhäuser, ISBN 978-0-8176-4703-2 (2008).

関連項目

[編集]