2017-05-27 2 views
-1

私は三角測量の良いサンプルを見つけました:High performance version by Salvatore Previti in C# 2.0Delaunay三角測量 - ねじれたメッシュを防ぐ方法?

メッシュの左側が次の画像でねじれています。それを防ぐための方法はありますか?

triangulation

+0

こんにちは、私は10年前ほど、ほとんどの実験のために、長い時間前にそのコードを書きました。 Delaunayの三角測量では、すべての点が入っている最小のCONVEXポリゴンと、そのポリゴンがまったく凸ではない凸包も用意されているため、バグです。 実際には、左上点と左下点の間にエッジがありません。 私はそれを世話する時間があまりなく、コードをデバッグすることができません。そして、私は多くのことを覚えていません:) –

+0

同じアルゴリズムの別の実装を試してみましたか?同じ問題が発生するかどうかを確認します。 http://paulbourke.net/papers/triangulate/c_sharp.zipを試して、同じバグがあるかどうか確認してください –

+0

あなたの返事に感謝の男。私は試してみます:http://paulbourke.net/papers/triangulate/c_sharp.zip –

答えて

0

可能な重複: は、だから私は比較的安くて不完全な回避策を発見しました。私のスーパー三角形は、その側を横切ることなく、サイトの境界ボックスを囲むようにプログラムで決定されます。このアイデアは、計算された外接座標または座標間の距離の一部を無限にすることを考慮して、Javaのあらゆる種類の不満な問題が原因です。この注意は私のスーパートライアングルを非常に小さくして、頂点が有効な三角形の周囲に収まることがあるようにしました。スーパー三角形のサイズを大きくすると、問題が消えてしまったように見えます。しかし、凸包の三角形が鈍角になり、頂点の1つが有効な外接円内に収まる可能性があります。

[1] Bowyer-Watson algorithm: how to fill "holes" left by removing triangles with super triangle vertices

+0

私はUnityに実装された良い三角法のサンプルを見つけました。 https://github.com/parahunter/triangle-net-for-unity また、dllとして実装されています:https://triangle.codeplex.com/ –

関連する問題