| On this page | |
| Since | 21.0 |
複数の入力コントロール行列からスプラインを生成します。 コントロール行列の位置によって、生成されるスプラインの形状が定義され、その行列の上部の3×3トランスフォームによって、CV付近のスプラインの座標系が定義されます。
スプラインは、 splinetype ポートの値に応じて、ベジェ曲線またはNURBS曲線を作成することができます。 曲線の階数(次数+1)は、 order ポートを使用して設定されます。
各スプラインタイプには、それぞれ独自の利点があります。 ベジエ曲線は、最初のCV、最後のCV、すべてのノット(複合曲線内の曲線セグメントの接合点を表現したCV)を通過します。 しかし、ベジエ曲線は、有効な曲線を形成するために特定の数のCVを必要とする制約があります。 NURBS曲線は、有効な曲線を形成するために必要となるCVの数に関してはより柔軟です(最低でも order 個のCVが必要です)。 ただし、NURBS曲線は、最初のCVと最後のCVのみを通過し、他のCVの位置は近似されます。
ベジエ曲線の構築
ベジエ曲線の各セグメントは、<number_of_cvs> = orderの要件を満たさなければなりません。
複合曲線は、曲線セグメント間でCVを共有するため、追加される曲線セグメント毎にさらにorder-1個のCVが必要になります。
この要件は、<number_of_cvs> % (order-1) == 1の方程式で表すことができます。
例えば、2つの曲線セグメントで構成された4階数(3次)ベジェ曲線を作成する場合、 1つ目の曲線セグメントには4個のCV、2つ目の曲線セグメントには3個のCVが必要になります(2つ目の曲線セグメントは、最初のCVを1つ目の曲線セグメントと共有するためです)。 これによって、合計で7個のCVが必要となります。
入力 ¶
cvs:
Matrix4Array
CVの位置と各CV付近のスプラインの座標系もMatrix4トランスフォームで指定されたCVの配列。
splinetype:
Int
入力のCVから生成されるスプライン曲線のタイプ。 0の値はベジエ曲線を、1の値はNURBS曲線を生成します。 デフォルトはベジエ曲線です。
order:
Int
生成されるスプライン曲線の階数。 スプラインの階数が高くなるほど、各CVが曲線の形状に及ぼす影響はより広範囲になります。 階数が3および4の曲線は、各CVが曲線の形状に比較的局所的な影響を与えつつ、滑らかな形状を生成できるため、それらの階数がよく選ばれます。 階数が2の曲線は、線形ポリラインに相当します。
出力 ¶
| See also |