コンピュータグラフィックス

目次


第1節 パラメトリック曲線とは?

第2節 代表的なパラメトリック曲線

第3節 パラメトリック曲線の微分

第4節 Ferguson / Coons曲線

第5節 Catmull-Romスプライン曲線

第6節 パラメトリック曲面


実演 Catmull-Romスプライン曲線


テスト

Logをみる

Back
 

第3章 第5節 Catmull-Romスプライン曲線

  第3章 パラメトリック曲線 

第5節  Catmull-Romスプライン曲線

 Catmull-Romスプライン曲線は通過点だけから滑らかな曲線を定義する方法の一つです。
 Edwin CatmullとRaphael Romによって開発されました。
 Ferguson / Coons 曲線のように速度を与える必要がなく、制御点だけで曲線を決めることができるので、こちらの方がよく使われます。

 上の図のようにP2とP3の間の曲線を求めたい場合、初期位置、最終位置は前回と同じくP2,P3になります。
 初期速度はP2の前後の点であるP1,P3によって決定されます。
 その値はベクトルP1P3の半分になります。
 最終速度も同じくベクトルP2P4の半分となっています。
 これで、初期位置と最終位置、及び初期速度、最終速度が分かったので、先ほどのFerguson / Coons 曲線のようにして解けるはずです。

 実際に例題を解いてみたいと思います。
 上の図のBC間のCatmull-romスプライン曲線を求めます。
 まず速度を求めます。

 あとは、前回求めた

 に代入して求めると


 となります。これでtを0から1に動かすとBC間に曲線を描きます。
 実際にグラフに書いてみると下のようになります。