2

状況:

何万もの移動 (2D) ポイントがある可能性があります。それらは特定の半径でのみ互いに​​影響します。それらは場所から場所へと移動できます (テレポートではなく、基本的に画面上を飛び回るだけです)。

ティックごとに更新を確認する必要があるため、これを効率的に行うことがかなり重要です。

私の素朴な解決策は、効果の半径の周りのどこかにグリッド間隔を持つグリッドタイプの構造を作成し、ポイントがセルからセルに移動するときに、それらがどのセルにあるかを更新することです。ポイントのセルといくつかの隣接セル。

私は quadtree に精通していますが、私が必要とするものよりも少し費用がかかるのではないかと心配していますが、これが実際に正しいルートである場合は、提案を受け付けています。

また、追加情報として、これは Java です。

ありがとう

4

1 に答える 1

1

私はそうでしたし、次のプロジェクトでも同様の状況になります。
シンプルなグリッド バリアントを選択したのは、実装がよりシンプルで高速であるためです。数万は、クワッド ツリーまたは kd ツリーが意味を持つ境界にあります。(特に多くのセルが空になる場合)

グリッド アプローチで十分かどうかをテストする必要があります。おそらくそうです。

于 2013-02-03T03:53:01.230 に答える