4

私は現在、骨と頂点の重み(関節変形の皮膚の重み)の平滑化を実装する方法を研究しており、ユーザーが設定したパラメトリック距離内の頂点間の測地線(表面)距離を使用する方法で空になります。
これまでのところ、おおよその測地線距離を取得するためのダイクストラのアルゴリズムの使用の可能性について誰かが言及していますが、特定のタイプのメッシュトポロジには制限があります。
この問題で特に見つけた唯一の論文(いわゆる「ボーン頂点ウェイトスムージング」)は、スキンメッシュ上のウェイトのラプラシアンスムージングを使用していますが、各頂点に隣接する1つのリングの頂点のみを考慮しています。ある距離(最短の測地線距離)までの頂点を含める必要があります:

L(Wi) = 1/m * Sum(j from 0 to m-1)(Wj - Wi)

ここで、頂点ijは頂点に関して考慮されimは隣接する頂点の数であり、はW頂点の重みです。

私が想定しているのは、修正されたラプラシアン平滑化です。ここでは、パラメトリック距離内にあることがわかったすべての頂点が使用されますが、距離も要因である必要があります。たぶん、重みの影響に、パラメトリック距離から現在の頂点と合計で使用されている頂点との間の距離を引いたものを掛けるだけです。このようなもの、多分:

Wmj = Wj * (maxDistance - Dji)

L(Wi) = 1/m * Sum(j from 0 to m-1)(Wmj - Wi)

そのため、による平滑化の影響は、Wjその頂点距離(Dji)によって減少(フォールオフ)されます。もちろん、の頂点はmaxDistance影響を及ぼさないため、の一部として無視する必要がある場合がありmます。

これは機能しますか?

4

1 に答える 1

2

最初に頭に浮かんだのは投影でした。始点と終点の間のユークリッド距離を表す線を取得することから始めます (メッシュを通過します)。次に、それをメッシュに投影します。しかし、特定の状況ではうまくいかないことに気付きました。他の人の利益のために、そのような状況の 1 つは、開始点が深いピットの一方の側にあり、ターゲットが反対側にある場合、最短距離は直線ではなくリムの周りになります。作業しているメッシュの種類によっては、これで十分な場合もあります。これで十分である場合は、これらの線に沿ってより完全なアプローチを詳しく説明できます。

それで、細分化してから検索を使用することを考えました。つまり、すべてのエッジがしきい値よりも小さくなるまでエッジを分割します。その時点から、Dijkstra や A* などの検索方法をいくつでも使用できます。これにより、細い三角形の問題が回避されます。これは、エッジが小さくなるまで分割されるため、長くて細いエッジがなくなるためです。

于 2012-06-15T20:41:01.053 に答える