Just My Life & My Work

線與球、平面的交點

RaySpherePlane的交點,
我參考WIKI的Line-sphere intersectionLine-plane intersection
這【交點】相當重要,
因為是反射與折射時重要的參考點。

/**線與球
#Sphere:= c:center, r:radius
||x-c||^2=r^2
#Ray:= s:source, d:direction
x=s+td
#Definition: v=s-c
||s+td-c||^2=r^2
||v+td||^2=r^2
v^2+t^2*d^2+2v.td=r^2
d^2*t^2+(2v.d)t+(v^2-r^2)=0
#d is unit vector
t^2+(2v.d)t+(v^2-r^2)=0
#at^2+bt+c=0
t=-(v.d)+-((v.d)^2-(v^2-r^2))^0.5
#Discriminent: (v.d)^2-(v^2-r^2)
*/

線與球

線與球的交點狀況。

/**線與平面
PlanePrim:= n:normal, p0:point on planeprim
(x-p0).n=0
Ray:= l:unit vector, l0:point on ray
x=l0+tl
(l0+tl-p0).n=0
l0.n+tl.n-p0.n=0
t=(l0-p0).n/l.n
#Discriminent: l.n
*/

線與平面
線與平面的交點關係。

線與平面

線與平面的說明圖。

隨意留個言吧:)~

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料

標籤雲