タグ付けされた質問 「kd-tree」

1
kdツリーの交差ロジックとは何ですか?
KDツリーを実装する方法を見つけようとしています。 エリクソンによる「リアルタイム衝突検出」の322ページ リンクをクリックしたときにGoogleブックのプレビューで表示できない場合に備えて、テキストセクションを以下に示します テキストセクション 関連セクション: 光線または有向線分とkdツリーの交差の背後にある基本的な考え方は簡単です。線はノードの分割平面と交差し、交差のt値が計算されます。tが線の間隔(0 <= t <= tmax)内にある場合、線は平面にまたがり、ツリーの両方の子が再帰的に下降します。そうでない場合、セグメントの原点を含む側のみが再帰的にアクセスされます。 だからここに私が持っているものがあります:(レタリングが表示されない場合、新しいタブで画像を開きます) 論理ツリー オレンジ色の光線が3Dシーンを通過しています。xは平面との交差を表します。左から、光線が当たります: シーンを囲むキューブの前面、 (1)分割面 (2.2)分割面 シーンを囲むキューブの右側 しかし、上記のEricsonの基本的な説明に素直に従うと、次のようになります。 分割面に対してテストします(1)。光線は分割面(1)に当たるため、分割面(1)の左右の子は次のテストに含まれます。 分割面(2.1)に対してテストします。レイは実際にその平面にぶつかるので(右に向かって)、両方の子が次のレベルのテストに含まれます。(これは直感に反します-最下位ノードだけを後続のテストに含めるべきではありません) オレンジ色の光線がシーンを正しく通過したときに何が起こるかを説明できますか?

2
完全に動的なKD-Tree対Quadtree?
私のゲームで作業しているときに、私は世界のすべてのユニットを追跡して、最近傍の戦闘をチェックできるようにする必要があります。これはRTSのようなゲームで、数千もの小さな自動化ユニットが動き回る可能性があります。 私はKD-TreesとQuadtrees(特にPoint Quadtrees)を調べてきました。私はまだそれらがどのように機能するかの詳細を学習しようとしていますが、これまでのところポイントクワッドツリーは私にとって最も理にかなっています。ただし、KD-Treeの方が検索が高速であるという印象を得ています。これは、ツリー内に持つポイントの数にとって重要です。 一方、私の場合は、常に動いている多数のユニットを追跡します。フレームごとに、それらの位置は常に異なります。四分木はKD-Treeよりも明らかに高速にリバランスしますが、ツリー内のすべてのポイントをリバランスするときにそれが当てはまるかどうかはわかりません。 この場合、ツリーのすべてのポイントのバランスを再調整するのではなく、各フレームのツリーをスクラップして最初から再構築する方がよいのではないかと思います。クワッドツリーの再バランスが速い場合、ゼロから構築する方が速いということですか?もしそうなら、それは、KD-Treeの検索速度よりもパフォーマンスにとってより重要かもしれません。ツリーを作成することの負担の大きさにもよりますが、私にはわかりません...
11 rts  quadtree  kd-tree 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.