2009-04-02 21 views
0

私は良いデータを得る良い掃引アルゴリズムをお勧めしますか? いくつかの文書、方法、その他。掃引アルゴリズム

これは、2次元空間内のグラフの交点を検出するスイープアルゴリズムです。グラフは常に閉じています。

+0

どのようなスイープアルゴリズムですか?ポイント/ラインの削除?閉鎖?ガベージコレクション?ほこりの除去? 「掃引アルゴリズム」と呼ばれるものがあり、共通点はすべて単調性です。 – MarkusQ

+0

2次元空間内のグラフの交点を検出するスイープアルゴリズム。グラフは常に閉じています。 – madalina

答えて

0

私はこれまでプレーンクローズドグラフの交差を検出するスイープアルゴリズムに3つの変種を実装しました。私はグラフを表現する大きなデータを持っています(200辺以上のように、頂点は2次元の点のペアです。辺は2つの頂点のペアです.1つはソースでもう1つはデスティネーションです)。他の目的のためのC++ライブラリ。

問題は、3つの実装が整数ではうまく動作しないか、それほど長くないデータを2倍にすることですが、グラフを表すデータにこれらの3つの実装を試みたとき、毎回異なる結果を得ました。もの。私はすべて私が欲しいの交差点が、私は結果として、グラフから、いくつかのポイントを持っているかどうか(交差点ではありません)グラフ

  • から他のいくつかのポイントが、私は必要があるいくつかの交差点を持っているかどうか

    • 私はちょうど交差点が

    このすべてDEPEを必要としているかどうか計算結果から

  • が欠落しています私が見たソート関数の上のndsと、他の何かの上にあるかもしれませんが、私はそれを理解できません。次のようにソート機能は、グラフの辺を注文:

    x.E1.Vstart<x.E2.Vstart or 
    x.E1.Vstart==x.E2.Vstart and y.E1.Vstart<y.E2.Vstart or 
    x.E1.Vstart==x.E2.Vstart and y.E1.Vstart==y.E2.Vstart and slope(E1)<slope(E2) 
    

    私はこのソート機能がmonoticityやその他の場合に適して思ったが、どうやらそれだけでいくつかのケースのために働いている:E1(Vstart,Vend), E2(Vstart,Vend)などの2つのエッジを考える

    通常の交差点のほかに他の交差点も検出します。いくつかのケースでは、すべての交点を計算するのではなく、グラフからある点だけを計算するという点で全く機能しません。

  • 関連する問題