2014-01-26 55 views
0

我正在用Java編寫一個Ray Caster,並且我有一切工作(A可以投射光線並準確記錄線平面相交)。我尚未實現的唯一事情是檢測第一個交點(不是第一個測試交點)。因此,如果我點擊一架飛機,但該飛機上有另一架飛機,並且該飛機正在首先進行測試,那麼如何檢測到我點擊了第一架飛機,而不是第一架飛機?第一個相交平面

回答

0

對所有平面進行射線平面相交測試。使用交點結果,即沿着射線的交點座標(如果有的話),沿着射線排序平面(從最低座標到最高點)。第一個平面(具有最低座標的平面)是最接近的平面。

+0

命令他們如何?最低值? – zfollette

+0

@Error,沿着射線的交點座標表示平面位於射線起點多遠。所以具有最低(正)座標的飛機是最接近的一個。 – user3146587