curveVertex()関数は、Catmull-Romスプラインの実装です。
立方体多項式スプラインは、コンピュータグラフィックスやジオメトリックモデリングにおいて、平面や3次元空間の特定の点を通る曲線や運動軌跡を得るために広く用いられている。三次多項式スプラインは、オイラー・ベルヌーイの梁理論などの構造解析にも広く用いられている。
スプライン曲線:
スプライン曲線は、一般的に「区分的に定義される多項式曲線」として表されるものです。
スプラインは、複数の制御点を通る曲線として生成されますが、それぞれの区間で異なる多項式で定義されることが一般的です。
この曲線の有名なタイプとして「Bスプライン」や「NURBS」があります。
スプライン曲線の主な特徴として、滑らかさを維持しながら曲線を構築できる点が挙げられます。
ベジェ曲線:
ベジェ曲線は、定義に用いる制御点の位置に基づいて、特定の数学的定義(ベジェの定義)に従って形成される曲線です。
ベジェ曲線は、制御点によって形状が決まり、これらの制御点を動かすことで曲線の形を変えることができます。
この曲線の特性として、始点と終点は制御点の最初と最後の点を通るが、その他の制御点は必ずしも曲線上を通るわけではない点が挙げられます。
ベジェ曲線の最も基本的な形は、2つの制御点を持つ線形ベジェ、3つの制御点を持つ2次ベジェ、4つの制御点を持つ3次ベジェなどがあります。