B-スプライン曲線
出典: フリー百科事典『ウィキペディア(Wikipedia)』
B-スプライン曲線(B-スプラインきょくせん、B-spline curve)とは、与えられた複数の制御点から定義される滑らかな曲線である。区分多項式により表現されているため、一部を変更しても曲線全体に影響は及ばない等の性質がある。ベジエ曲線とともに、コンピュータグラフィックスの世界で広く利用されている。なお、B-splineはBasis spline(Basis=基底)の省略形である(en:B-Spline)。基本的に曲線は制御点を通らない。
目次 |
[編集] 定義
制御点をPiとすると、n次のB-spline曲線は
.
と表される。ここで、tiはノット(knot)と呼ばれるm 個の実数である。
また、bi,nはB-スプライン基底関数(B-spline basis function)と呼ばれ、de Boor Coxの漸化式 によって次のように定義される。
[編集] 例
[編集] 一様2次B-スプライン曲線
一様なノットにおける2次B-スプライン曲線において、B-スプライン基底関数は次のようになる。
これを行列形式にすると、
for ![t \in [0,1], i = 1,2 \ldots m-2](//upload.wikimedia.org/math/4/9/8/498b8146ef4aa12311e0873d737fd5ab.png)
となる。
[編集] 制御点と曲線
基本的に曲線は制御点を通らないが、例えば
のように連続した複数のノットに対し、同一の値を与えることで、対応する制御点に曲線を通すことができる。 上式の場合、以下のようになり、曲線の始点が0番目の制御点と一致する。
.
.



for ![t \in [0,1], i = 1,2 \ldots m-2](http://upload.wikimedia.org/math/4/9/8/498b8146ef4aa12311e0873d737fd5ab.png)

.