4

非平面ポリゴンを三角形分割したい (つまり、頂点が同じ 3D 平面にない)。多角形は多くの点 (数百) で構成されています。三角形化されたサーフェスは滑らかである必要はありません。実際、密度が高いほど良いです。

私の最初のアイデアは次のとおりです。

  • NURBS
  • 「ポリゴン内」に追加のポイントを生成し、3D Delaunay 三角形分割を適用します。
  • もう 1 つ (または少数) の頂点を「中央」に配置し、それらを輪郭の頂点に接続するだけです。

これらのアイデアのどれが自分の状況に当てはまるかわからない、またはもっと良い方法があるのではないでしょうか?

詳細: 等高線上のポイントは数百に上りますが、それらを 3 ~ 10 個のサブセットにグループ化して、すべてのサブセットが直線に近似するようにすることができます。ただし、そのように生成された線はまだ同じ平面にはありません。それは鳥の群れと考えることができます。鳥の群れは多角形を飛んでいますが、正確には同じ垂直高さではありません。

4

2 に答える 2

9

私は最終的に次のことをしました:

  1. 平面を点に合わせます。
  2. ポイントを平面フィットに投影します。
  3. ポイントを平面フィットの座標系に変換して、すべてのポイントが 2D 座標 (x, y) と深さ z を持つようにします。
  4. 点群の境界を計算します。
  5. 境界内に追加の 2D ポイントを生成します (任意の密度で、等距離ポイントまたは歪んだポイントを使用できます)。
  6. すべてのポイント (境界 + 生成されたポイント) で 2D Delaunay 三角形分割を実行します。
  7. 境界深度値に基づいて、生成された内部ポイントの深度値を補間します。あらゆる種類の補間を使用できます-私はMATLABのtriscatteredinterp()を使用しましたが、これは非常にうまく機能しました。
  8. (3) の逆変換を使用して、すべての点を元に戻す
  9. (6) の三角形分割と (8) で得られた点を使用します。

ここで結果を見ることができます: http://www.youtube.com/watch?v=4AqHxKsM7Iw&feature=g-upl

于 2012-10-21T12:30:39.313 に答える
0

Point Cloud Libraryを参照してください。とりわけ、表面の再構成を行うことができます。

于 2012-09-17T08:55:09.987 に答える