簡體   English   中英

Frustum和球體交叉

[英]Frustum and sphere intersection

我在這里讀這篇簡潔的文章: Frustum Culling

並且它讀取以找到球體和平截頭體邊(平面)之間的距離是:

C =球體中心

N =平面法線

D =平面距離原點的距離

距離= DotProduct(C,N)+ D.

但我不明白D所指的變量。 特別是,我不明白截頭錐體的起源是什么。 它是相機眼睛的位置嗎?

D是您需要沿着平面法線行進的垂直距離,以穿過定義平面的任何空間的原點(我希望這通常是世界坐標中的原點,但如果您的平面描述在相機坐標然后使用相機原點。最終只要你在相同的空間內進行計算就沒關系。換句話說,無論你使用哪個原點進行比較球體和飛機的空間在。)。

這是平面方程中的相同值:Ax + By + Cz + d = 0.d是您將使用的值D. 您可以通過在平面上獲取已知點並使用它來求解d的平面方程來計算d。 (A,B,C)是平面單位法向量的X,Y,Z元素,(x,y,z)是平面上點的坐標,求解d的平面方程,你有你的距離。

請注意在同一空間中進行所有計算,即世界空間或相機空間或屏幕空間。 我懷疑你想要在世界空間進行計算。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM