2016-06-24 25 views
0

私は比較的小さい2dポリゴンを1つまたはいくつかの大きなポリゴンにマージするアルゴリズムを探しています。 2つの小さいポリゴンが接触しているか重なっている場合は、1つのポリゴンにマージする必要があります。多くの小さいポリゴンを1つの大きなポリゴンに結合する

私の大きな目標は、コライダーを記述するのに必要なポイント/ラインの量を十分に減らすことです。結果のコライダーには、いくつかのポリゴンbtwを含めることができます。

これを行うアルゴリズムまたはライブラリを提案できますか? (最後に、Unity3dのC#でソリューションを実装します)。

大きなcolliderをプログラムで作成したいと思っています。小さなポリゴンの外側の境界を正確に繰り返す境界が必要です。それはなぜこの質問が「物理5をUnity 5のオブジェクトに追加するか」の複製ではないということです。

+1

。 「メッシュ簡略化」の他に、「頂点クラスタリング」や「段階的デシメーション」などの検索用語を探すことができます。 CGALライブラリは機能のいくつかを実装する可能性が高いですが、C#に抽出するのは簡単なことではありません。 – Bart

+0

このよくある質問にはSUPERBの回答があります。サイト上で最も良い回答の1つです。 http://stackoverflow.com/a/37810695/294884投票してください。 – Fattie

+0

いいえ、そうではありません。私の追加の質問メッセージをお読みください。 – Epsiloncool

答えて

1

2Dポリゴンの和集合を構築するには、Clipper libraryを使用できます。非常に些細なプロセスである

ダウンロードパッケージは、(デルファイ、C++やC#で書かれた)ライブラリの完全なソースコードが含まれている、 `

+0

これはunity3Dとは関係ありません – Fattie

+1

これは私の必要とするもののようです。 @ JoeBlow私はアルゴリズムを探していますが、必須のC#やUnity3dパッケージの実装ではありません。 – Epsiloncool

関連する問題