Bスプラインは、ベジエ曲線の利点を有していない2つのベジェ曲線を含む拡張:
1. Bスプライン多項式は、制御点の数とは無関係であってもよく、ベジェ曲線と制御点の数は、密接に関連しています。
第2条B COMPはローカル制御曲線又は表面の生成を可能にします。
キーBスプライン曲線の生成は、基底関数、第二、3と4のBスプライン曲線を生成するために3つの基本的な機能を以下のように構成されています。
次のようにMathWorks社のMATLABコードは次のとおりです。
すべてクリア; すべて閉じる; CLC; P =関数ginput();% 、少なくとも5つのポイントは、ポイント以下があるため、4ストリップ状 プロット(P(:、1)、P(:、2)、' コ' ); %B-スプライン二均一 RE2 = []; のために、私は= 1:長さ(P) - 2 のための T = 0:0.01:1 B0 = 1 / 2 *(1 -t)^ 2 ; B1 = 1 / 2 * ( - 2 * T ^ 2+ 2 * T + 1 ); B2 = 1 / 2 * T ^ 2 ; X = B0 * P(I、1)+ B1 * P(I + 1、。1)+ B2 * P(I + 2、1 ); Y = B0 * P(I、2)+ B1 * P(I + 1、2)+ B2 * P(I + 2、2 ); RE2 = [RE2、XY]; エンド エンド %キュービックB-スプライン RE3 = []; ため、私は= 。1:長さ(P) - 3 のために T = 0:0.01:1 B0 = 1 / 6 *(1 -t)^ 3 。 B1 = 1 / 6 *(3 * T ^ 3 - 6 * T ^ 2 + 4 )。 B2 = 1 / 6 *( - 3 * T ^ 3 + 3 * T ^ 2 + 3 * T + 1 )。 B3 = 1 / 6 * T ^ 3 。 X = B0 * P(I、1)+ B1 * P(I + 1、1)+ B2 * P(I + 2、1)+ B3 * P(I + 3、1 )。 Y = B0 * P(I、2)+ B1 * P(I + 1、2)+ B2 * P(I + 2、2)+ B3 * P(I + 3、2 )。 RE3 = [RE3; XY]。 エンド エンド %四次均匀样条B RE4 =[]。 にとって私= 1:長さ(P) - 4 のために T = 0:0.01:1 B0 = 1 / 24 *(T ^ 4 - 4 * T ^ 3 + 6 * T ^ 24 * T + 1 )。 B1 = 1 / 24 *( - 4 * T ^ 4 + 12 * T ^ 3 - 6 * T ^ 2 - 12 * T + 11 )。 B2 =1 / 24 *(6 * T ^ 4 - 12 * T ^ 3 - 6 * T ^ 2 + 12 * T + 11 )。 B3 = 1 / 24 *( - 4 * T ^ 4 + 4 * T ^ 3 + 6 * T ^ 2 + 4 * T + 1 )。 B4 = 1 / 24 * T ^ 4 。 X = B0 * P(I、1)+ B1 * P(I +1、1)+ B2 * P(I + 2、1)+ B3 * P(I + 3、1)+ B4 * P(I + 4、1 )。 Y = B0 * P(I、2)+ B1 * P(I + 1、2)+ B2 * P(I + 2、2)+ B3 * P(I + 3、2)+ B4 * P(I + 4、2 ) ; RE4 = [RE4、XY]。 エンド・ エンド 、上のホールド プロット(RE2(:、1)、RE2(:、2)、' R ' ); プロット(RE3(:、1)、RE3(:、2)、' G ' )。 プロット(RE4(:、1)、RE4(:、2)、' B ')。
結果は以下の通りであります:
次スプライン、キュービックスプライン緑色、青色の4つのスプライン赤コントロールポイントは、ここで黒です。