Ray與Sphere和Plane的交點,
我參考WIKI的Line-sphere intersection和Line-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
*/

- 線與平面的交點關係。
線與平面的說明圖。
隨意留個言吧:)~