2011-07-07 16 views
1

を編集しながら、私は満足しなければならない基準の一つは、NURBS曲線の長さを維持しているマヤのためのオーサリングツールを記述しようとしている長さを維持します。オーサリングツールは、NURBSカーブを編集するコントロールをユーザーに提供しますが、カーブの長さは常に維持されるようにする必要があります。私が長さを言うとき、私は曲線の弧の長さを意味します。 NURBSカーブと円弧の長さの間に直接の関係はありますか?NURBSカーブ:

これは理想的に私のシステムが動作することを構想する方法です。カーブのCVが変更された場合、カーブの弧の長さが保持されるように他のCVが変更されます。これを実装するためのアイデアは非常に有用です。

はまた、どのようにMayaが弧長を計算しますと思いますか?カーブのarcLengthを計算するのに、curveInfoノードを使用しています。それは長さの曲線を構成する線図的に多項式の線分を合計するだけですか?

答えて

2

数学的な観点からNURBS曲線の正確な長さは「醜いモンスター」です。実際には、ベジェ曲線の長ささえもすでにモンスターです(ベジェ曲線の長さは楕円積分です)。

しかし、私は、他のすべての頂点を移動させて、与えられたパラメトリック間隔で長さが同じになるというアイデアは、数値的にも非常に複雑であると思います。 (ソリューションが一意ではないので、ソリューションが一意になるように他の頂点の「最良の」調整を選択するためにどのようなメトリックを使用すべきですか?)

だけでユーザーが1つの頂点を移動しているか、特定の弧の長さである曲線に沿った点を示す単一の重みを変更し、代わりにあなたのために十分ではないでしょうか?これは明確に定義されており、ユーザが予想しやすい(ユーザが固定したいと思う他の頂点についての「驚き」はなく)、実装が非常に簡単です。

0

この機能は永遠以来、Mayaに組み込まれています。曲線が選択されている間、ちょうどその曲線を描く編集カーブを選択してください - >カーブを変更します - >ロック長

関連する問題