1

私が満たさなければならない基準の 1 つは、NURBS カーブの長さを維持することである Maya 用のオーサリング ツールを作成しようとしています。オーサリング ツールは、NURBS カーブを編集するためのコントロールをユーザーに提供しますが、カーブの長さが常に維持されるようにする必要があります。長さとは、曲線の弧の長さを意味します。NURBS 曲線とその円弧の長さの間に直接的な関係はありますか?

理想的には、これは私のシステムがどのように機能するかを想像する方法です。曲線のいずれかの CV が変更された場合、曲線の弧の長さが維持されるように他の CV が変更されます。これを実装するためのアイデアは非常に役立ちます。

また、maya はどのように arcLength を計算すると思いますか? 曲線の arcLength を計算するために、curveInfo ノードを使用しています。長さの曲線を構成するピースワイズ多項式の線分を合計するだけですか?

4

2 に答える 2

2

数学的な観点からは、NURBS カーブの正確な長さは「醜い怪物」です。実際、ベジエ曲線の長さでさえすでに怪物です (一般的なベジエ キュービックの長さは楕円積分です)。

しかし、おおよその長さ (それははるかに単純な問題です) で十分であると仮定しても、特定のパラメトリック間隔で長さが同じままになるように他のすべての頂点を移動するという考えは、数値的に非常に複雑であり、疑問があると思います (確かに)ソリューションは一意ではないため、ソリューションが一意になるように他の頂点の「最適な」調整を選択するには、どのメトリックを使用する必要がありますか?)。

代わりに、ユーザーに 1 つの頂点を移動させたり、1 つのウェイトを変更させたりしてから、特定の円弧の長さにある曲線に沿ったポイントを表示させるだけでは十分ではないでしょうか? これは明確に定義されており、ユーザーが予測しやすく (ユーザーが固定したままにしたい他の頂点について「驚き」がない)、実装がはるかに簡単です。

于 2011-07-07T16:48:40.580 に答える
0

この機能は、永久に Maya に組み込まれています。曲線を描き、曲線が選択されている間にEdit Curves -> Modify Curves -> Lock Lengthを選択します。

于 2012-09-16T09:59:14.530 に答える