4

場所を保存するエンティティの大規模なグループを扱っています。それらは地図上に表示されます。より高い位置から見たときに、近くにあるエンティティを 1 つのエンティティにグループ化する効率的な方法を考え出そうとしています。したがって、たとえば、あなたが非常に高い位置にいる場合、下を見ると、ある領域内に近接して配置されたエンティティのグループを表す 1 つのエンティティが表示されます。十分にズームインすると、そのエンティティは含まれているエンティティに分割されます。

これを行うための効率的なアルゴリズムはありますか? 高さに基づいてビューをグリッド化し、位置に基づいてエンティティをグリッド ボックスにドロップしてから、ボックス ポイントをレンダリングすることを考えました。私の唯一の懸念は、すべてのエンティティがそのボックスの右上にある場合、それらを表すためにレンダリングされたエンティティが、エンティティのグループの場所ではなく中央に配置される可能性があることです。

考えやアイデアはありますか?

4

3 に答える 3

1

群れはここでそれらのグループを作成するのに役立つと思います。互いに群がりたいさまざまなエンティティがグループの一部である必要があるように思われるためです。

http://arxiv.org/abs/math?papernum=0502342

http://flashorbit.com/?page_id=40

群れを計算すると、「ボイド」は同じ近傍にあるようです。 http://www.red3d.com/cwr/boids/

于 2008-12-02T01:13:24.430 に答える
1

あなたが探しているのは「クラスタリングアルゴリズム」だと思います。利用可能なものはたくさんあります。良いスタートはK-meansアルゴリズムかもしれません。最終的には、ある種の階層的クラスタリングアルゴリズムが必要なように聞こえますが。

于 2008-12-02T03:34:24.830 に答える
1

エンティティ グループへのエンティティの事前割り当てがある場合、または特定の「視野」内のすべてのエンティティが自動的に「グループ」内にある場合は、「中心」を使用してエンティティ グループの「場所」を割り当てることができます。質量」アルゴリズム、事実上、緯度は含まれるすべての緯度の平均であり、経度についても同じです...両方の次元について、それらを合計してカウントで割ります...

アルゴリズムでグループ化を「作成」する必要がある場合は、エンティティが属する可能性のある 2 つ以上のグループのどちらに属すべきかを決定する方法について、いくつかのビジネス ルールを指定する必要があります。あなたが計算している高さ。

于 2008-12-02T00:50:15.630 に答える