3

私の場合は、静的な地図画像に多数のアイコンを CSS で動的に配置し、絶対に配置しています。現在、2 つ以上のポイントが互いに近すぎて、アイコンが重なって区別できなくなることがよくあります。

これらの「互いに近すぎる」ポイントを見つけて、アイコンが互いに重ならないようにアイコンを広げるアルゴリズムを探しています。

近すぎるすべての点の平均的な中間点を見つけて、その点に対して相対的に広げるような、放射状の広がりを考えています。

あなたが知っているかもしれないそのような問題のパターンはありますか?

よろしくお願いします。

4

1 に答える 1

1

問題を解決する可能性のあるいくつかの解決策を次に示します。

  • 最も近い点のペアの問題の解を使用して、互いに最も近い 2 つのアイコンを見つけます。最も近いペアが定義によって「近すぎる」場合は、それらを互いに離して、このプロセスを繰り返すことができます。

  • kd ツリーや R ツリーなどの空間データ構造を使用して、すべてのポイントを格納します。その後、高速最近傍検索を実行して、互いに近い点を見つけて離すことができます。

  • 力指向レイアウト アルゴリズムを使用して、一部のエネルギー関数を全体的に最小化するポイントのレイアウトを見つけます。Fruchterman-Reingold のようなアルゴリズムは、コーディングが非常に簡単で、良い結果が得られます。

お役に立てれば!

于 2013-10-16T17:46:02.443 に答える