射線與平面的交點計算


最近在做一個游戲需求中用到了和幾何計算有關的知識,需要去計算射線和一個平面的交點,計算方法在這里記錄一下。
首先定義一條射線:起始點p0和方向d,那么射線上任意一點p=p0 + td
平面的定義則通過一個法向n和一個頂點來實現,對於平面上的所有點pp·n = d,d是一個常數。
那么要計算它們之間的相交就不難了,若射線和平面相交,則必有:
(p0 + tdn = d
p0·n + td·n = d
最終可得:
t=(d - p0·n)/(d·n)。
如果射線和平面互相平行,則d·n = 0,它們之間沒有交點。d的計算則通過找平面上的一個點p,取p·n = d來實現。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM