1

一連の四分木 (ヒルベルト曲線など) がある場合、特定の深さで最適な (または十分に良い) 範囲のセットを見つけるための良い方法は何でしょうか。

たとえば、バウンディング ボックス 0,0 と 1,3 の間のポイントを検索する場合、次の単純な範囲を適用できます。

  • 深さ 1 - 範囲 0,0-1,0 (~33% の検索スペース)
  • 深さ 2 - 範囲 0,0-1,0 および 1,0-0,1 (~13% の検索スペース)
  • 深さ 3 - 範囲 0,0-1,0 および 1,3-0,3 (~9.8% の検索スペース)

ヒルベルト曲線

明らかに、この検索の深さ 3 が最適ですが、縮小された検索スペースは、深さ 1 から深さ 2 への低下と比較して、わずかしか低下していません。

(はるかに) 大きい深さで、または境界を越える検索では、さまざまな深さの差を推定したり、理想的にはバウンディング ボックスをカバーするさまざまな深さの範囲の組み合わせを理想的に選択したりするための優れたアルゴリズムがあります。

特にポリゴンには興味がありませんが、ポリゴンで機能するソリューションがあればボーナスポイントです。

4

2 に答える 2

1

あなたの質問には詳細が必要ですが、いくつかの答えがあります:

クワッドの深さは log4(N) で推定できます。
(要素数 N の 4 を底とする対数をとります。)

四分木のタイプに応じて、最大深度をその数に制限できます。

要素を挿入する順序は、クワッドの構造に影響します。挿入する前にデータを事前に並べ替えると、クワッド構造が少し改善されます。プレソートのタイプは、クワッドによって異なります。ヒルベルト バックアップ クワッドを使用する場合は、ヒルベルト インデックスでデータを事前に並べ替えることができます。

于 2014-03-28T14:16:33.910 に答える
0

ヒルベルト曲線を使用する場合、それは四分木ではなく空間インデックスです。四分木には、保存できるポイントの数など、いくつかの制限もあります。そのため、ヒルベルト曲線では、バウンディング ボックスがうまく収まるように小さなタイルを使用することをお勧めします。

于 2014-01-24T16:20:59.580 に答える