MATLAB運動プログラム(一様なBスプライン)

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 = 00.011    
        
        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 + 21 ); 
        Y = B0 * P(I、2)+ B1 * P(I + 12)+ B2 * P(I + 22 );         
        
        RE2 = [RE2、XY];
     エンド
エンド
キュービックB-スプライン
RE3 = [];
 ため、私は= 。1:長さ(P) - 3   
    のために T = 00.011    
  
        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 + 11)+ B2 * P(I + 21)+ B3 * P(I + 31 )。    
        Y = B0 * P(I、2)+ B1 * P(I + 12)+ B2 * P(I + 22)+ B3 * P(I + 32 )。     

        RE3 = [RE3; XY]。
    エンド
エンド
四次均匀样条B 
RE4 =[]。
にとって私= 1:長さ(P) - 4   
    のために T = 00.011    
  
        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 +11)+ B2 * P(I + 21)+ B3 * P(I + 31)+ B4 * P(I + 41 )。    
        Y = B0 * P(I、2)+ B1 * P(I + 12)+ B2 * P(I + 22)+ B3 * P(I + 32)+ B4 * P(I + 42 ) ;     

        RE4 = [RE4、XY]。
    エンド・
エンド

、上のホールド  
プロット(RE2(:、1)、RE2(:、2)、' R ' );
プロット(RE3(:、1)、RE3(:、2)、' G ' )。
プロット(RE4(:、1)、RE4(:、2)、' B ')。

結果は以下の通りであります:

 

次スプライン、キュービックスプライン緑色、青色の4つのスプライン赤コントロールポイントは、ここで黒です。

おすすめ

転載: www.cnblogs.com/tiandsp/p/12232392.html