2016-10-16 13 views
0

enter image description here頂点データとエッジデータから最小ポリゴンを取得するにはどうすればよいですか?

私はe1, e2, e3, ...という名前のすべての頂点を持ち、それらのそれぞれがGPS

でコーディネートのデータはまた、私は(e1, e2), (e2, e3), ...

などのすべてのエッジ件のデータを持っていると私はすべてを取得する必要があるとしましょうこれらの頂点とエッジデータで作られたポリゴン。

。彼らはでなければはお互いに重なっているべきです。

最小値は、これ以上小さくならない(頂点を削除することによって)

答えて

0

あなたのすべてのエッジは交差していませんか?これはあなたの質問から明らかではありません。その場合、私があなたの質問を正しく理解すれば、正式なグラフの領域を正式に決定したいと思っています。

もしそうなら、可能なアプローチがあります(グラフが接続されていると仮定します)。各頂点に対して、時計回りの順序で隣接する頂点のリストを作成します。 1つを選択し、頂点の1つを開始頂点として選択します。今度は、エッジをたどり、開始頂点に達するまで、頂点で時計回りの次のエッジを選んでパスをトレースします。そのパスはリージョンを限定します。あなたがそれに沿って旅した方向を覚えておいてください。両方向で使用されていないエッジがある限り、このプロセスを繰り返します。

+0

はい、すべてのエッジが交差していません。このタイプの問題を解決するためには、何かexsitingアルゴリズムはありますか?私はこれを必要とする最初の男だとは思わない – jyf1987

+0

コンピュータ幾何学アルゴリズム用のソフトウェアライブラリCGALとLEDAがあります。 CGALには2D配列のパッケージがあり、平面グラフの問題は特殊なケースです.LEDAには埋め込み平面グラフがあり、その領域を取得する方法があります。どちらも私が提案したアルゴリズムと似たアルゴリズムを内部的に使用しているようです。私はいずれかのパッケージで作業していないので、どちらがあなたのニーズに適しているかは言えません。私は他のインプリメンテーションについて知らない。 – asp

関連する問題