このコードは2次元版の自由形状変形(FFD)を実装したインタラクティブなデモです。主な機能は以下の通りです:
FFDの実装:
バーンスタイン多項式を使用した双三次ベジェ曲面による変形
4x4の制御点(格子点)を自由に動かせる設計
変形計算は applyFFD() 関数で実装
インタラクティブな操作:
青い格子点をドラッグして形状を変形
リセットボタンで初期状態に戻せる
格子の表示/非表示を切り替えられる
変形対象の画像:
日本国旗、富士山、チェック柄の3種類から選択可能
「画像変更」ボタンで切り替え
このデモでは、マウスで格子点をドラッグすると、格子点の移動に合わせて画像が滑らかに変形します。これがトム・シーダーバーグの提唱した自由形状変形(FFD)の基本的な仕組みです。