6

三角形のメッシュがある場合、与えられた各頂点で法線を計算するにはどうすればよいですか?

単一の三角形の法線を見つける方法を理解しています。頂点を共有する三角形がある場合、各三角形のそれぞれの法線を見つけて正規化し、合計に追加してから、最終結果を正規化することで、部分的に答えを見つけることができます。ただし、これは明らかに各法線の適切な重み付けを考慮していません(たとえば、多くの小さな三角形は、大きな三角形にリンクされている場合、答えを捨てることができます)。

4

6 に答える 6

5

加重平均を使用するのが良い方法だと思いますが、重みとして面積の代わりに角度を使用します。これは私の意見ではより良い答えです。なぜなら、計算している法線は「ローカル」機能であるため、寄与している三角形の大きさはあまり気にしないからです...ある種の「ローカル」測定値が必要です。寄与と、指定された頂点上の三角形の2つの辺の間の角度は、そのような局所的な尺度です。

このアプローチを使用すると、多くの小さな(薄い)三角形が不均衡な答えを与えることはありません。

三角形と頂点の中心にある小さな球との交点を使用して計算をローカライズする場合、角度を使用することは、面積加重平均を使用することと同じです。

于 2011-03-13T18:12:16.647 に答える
3

加重平均が最善のアプローチのようです。

ただし、アプリケーションによっては、鋭い角でも問題が発生する可能性があることに注意してください。その場合、外積があるしきい値よりも小さい(つまり、平行に近い)サーフェス法線を平均化することにより、複数の頂点法線を計算できます。

SJ Kim、et。による頂点の複数の法線ベクトルを使用してオフセット三角形メッシュを検索します。この方法の詳細については、他を参照してください。

于 2011-03-13T17:58:45.793 に答える
2

このブログ投稿では、3つの異なる方法の概要を説明し、標準の単純な方法(頂点で結合するすべての面の法線の面積加重平均)で結果が良くない場合がある理由を視覚的に示しています。

于 2011-03-14T10:37:13.383 に答える
1

法線に三角形の面積を掛けることで、大きな三角形により多くの重みを与えることができます。

于 2011-03-13T17:08:25.650 に答える
1

この論文をチェックしてください:三角分割された2多様体のための離散微分幾何演算子

特に、「離散平均曲率正規作用素」(セクション3.5、式7)は、ここで別の回答で引用されているブログ投稿の方法とは異なり、テッセレーションに依存しないロバストな正規作用素を提供します。

于 2011-03-20T18:03:52.737 に答える
0

明らかに、正しい法線を取得するには加重平均を使用する必要がありますが、各三角形の領域は、三角形の法線が特定の頂点に対して表す重みの割合とは関係がないため、三角形の領域を使用しても必要なものは得られません。

頂点に入る2つの辺の間の角度に基づいて作成する場合は、頂点に入るすべての三角形に対して正しい重みを取得する必要があります。なんらかの方法で2Dに変換して、ウェイトの360度ベースから外れると便利な場合がありますが、3D空間で計算し、すべてを合計するためのウェイト乗数として角度自体を使用する可能性があります。法線はそのように生成され、最終結果を正規化すると正しい答えが生成されるはずです。

于 2011-03-13T23:46:41.723 に答える