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