2

おそらく今考えているよりもずっと簡単なことを理解しようとしているので、誰かが私が以下に説明することを理解するのを手伝ってくれることを願っています.

球体が 3D の 6 つの錐台面 (左、右、下、上、遠近) の少なくとも 1 つより完全に後ろにある場合、球体は視錐台の外側にあることがわかります。これは、以下の例の中心 c2 を持つ円に当てはまり、完全に左平面の外側にあります。オーバーラップ テストは、球の中心座標を平面方程式に挿入して中心から平面までの距離を取得し、これを球の半径と比較することによって簡単に実行できます。

ただし、このアプローチを中心 c1 の球に使用すると、テストで球が右平面と遠平面の両方にあることがわかるため (上から見た場合)、偽陽性になります。解決策は、球の中心からそれに最も近い視錐台の隅までの距離を決定することにより、より正確なオーバーラップ テストを使用することです。この距離が半径よりも大きい場合、球は錐台の外側にあります。

球体と視錐台

私が理解できないのは、この 2 番目のアプローチを使用するとどうなるかということです。つまり、平面ではなくコーナーを見て、中心 c3 を持つ球のように位置します。このテストでは、球の中心から半径を引いた距離が 0 よりも大きく、表示ボリュームの外側にあることがわかりませんか?

したがって、正投影ビュー ボリュームの一連の規則、つまり 0 ≤ x ≤ 20、-5 ≤ 15、-5 ≤ z ≤ 18、および x、y、z 座標 + 球の半径が与えられ、決定するように指示された場合球がその内側にあるか外側にあるか。本当に正しい答えを得るには、どの方法を使用するかをどのように選択すればよいですか?

4

1 に答える 1