3次ベジェ曲線アニメ

3次ベジェ曲線の原理

それでは、3次ベジェ曲線上の各点の座標 [X(t),Y(t)] の計算方法を考えていきます。
それには、3次ベジェ曲線の原理について理解する必要があります。
まずは基礎的事項を理解します。
中学生でもわかるベジェ曲線

を参照してください。

3次ベジェ関数式

ベジェ関数式は、

3次ベジェ関数式

で記述されます。
ウィキペディアベジェ曲線
を参照してください。

  1. Bi は制御(ハンドル)点です。
  2. t は 0~1 できざみ 0.02 とすると 50 ポイント位置指定します。
  3. N = 2 の時

    2点を直線で結びます。
    i = 0,1 で終わりです。

  4. N = 3 の時

    始点と終点の間に制御点(片ハンドル)1個を含む曲線です。
    i = 0,1,2 で終わりです。
    あまり自由度はありません。

  5. N = 4(3次ベジェ曲線)の時

    始点と終点の間に制御点(片ハンドル)2個を含む曲線です。
    i = 0,1,2,3 で終わりです。

3次ベジェ関数式

これはブレディング関数で n = N-1 とすると

ブレディング関数
ブレディング関数展開

となります。
二項定理 階乗
については、各リンクを参照してください。
0 ! = 1
1 ! = 1
2 ! = 2
3 ! = 6

N=4(3次ベジェ曲線)の解析

i = 0 ,1,2,3 について解析していきます。
n = N-1 = 3

3次ベジェ関数展開

一旦整理

P(t)
= B0・J30(t) + B1・J31(t) + B2・J32(t) + B3・J33(t)
= B0 (1-t)3 + B1・3t (1-t)2 + B2・3t2(1-t) + B3・t3

Bi の解析

始点  B0 (X0,Y0)
制御点 B1 (X1,Y1)
制御点 B2 (X2,Y2)
終点  B3 (X3,Y3)
とすると
X(t) = X0 (1-t)3 + X1・3t (1-t)2 + X2・3t2(1-t) + X3・t3
Y(t) = Y0 (1-t)3 + Y1・3t (1-t)2 + Y2・3t2(1-t) + Y3・t3
となり、これが3次ベジェ関数となります。
即ち、t を0~1まで刻みを 0.02 程度にして、%を t×100 にすれば、 3次ベジェ曲線関数 function を記述できます。

イラストレータによるシミュレーション

それでは、この3次ベジェ関数で書いた図形が具体的にどうなるのかイラストレータで確認します。
使用する Illustrator ファイルは
3次ベジェ曲線運動 Ai ファイルダウンロ-ド
から入手することができます。
圧縮されていますので、解凍してから使用してください。

  1. ダウンロ-ドファイルを参照

    ダウンロ-ドした 3_bezier0.zip を解凍し、AI ファイル 3_bezier0.ai を開きます。
    心配な方はあらかじめウィルスチェックをしましょう。
    これを見ながらここからの説明を読んでください。

  2. アンカ

    B0 、B3 、2個のアンカを打ちます。
    B0 が始点、B3 が終点となります。

  3. ハンドル

    始点、終点にそれぞれハンドルを設定します。
    ハンドル先端が、B1 ~ B2 となります。
    B0 始点、B3 終点にはそれぞれ片ハンドルを設定します。

  4. まとめ

    イラストレ-タで描写しハンドル先端位置を決めれば、 それと同じ曲線を関数化し移動軌跡を作成することができます。


3次ベジェ曲線アニメファイル作成に進む
3次ベジェ曲線アニメ作成概要に戻る

Move Imageに戻る