射线
已知射线方程为 P ( t ) = P ˉ + t ∗ D ˉ P(t)=\bar{P}+t*\bar{D} P(t)=Pˉ+t∗Dˉ,其中 P ˉ \bar{P} Pˉ为射线的起点 ( x 0 , y 0 , z 0 ) (x_0,y_0,z_0) (x0,y0,z0), D ˉ \bar{D} Dˉ为射线的方向向量,其模长为 1 1 1,只要知道距离 t t t,我们就可以计算出对应点的坐标。
球体求交
不妨设球体的方程为 ( X ˉ − C ˉ ) 2 = R 2 (\bar{X}-\bar{C})^2=R^2 (Xˉ−Cˉ)2=R2,其中 X ˉ \bar{X} Xˉ为球体上任意一点的坐标, C ˉ \bar{C} Cˉ为球心, R R R为半径。射线与球体求交,首先需要将射线方程作为 X ˉ \bar{X} Xˉ带入球体方程,然后把 t t t作为未知变量,化简即可得到下式: D 2 t 2 + 2 ( P ˉ ∗ D ˉ − C ˉ ∗ D ˉ ) t − 2 C ˉ ∗ P ˉ + P 2 + C 2 − R 2 = 0 D^2t^2+2(\bar{P}*\bar{D}-\bar{C}*\bar{D})t-2\bar{C}*\bar{P}+P^2+C^2-R^2=0 D2t2+2(Pˉ∗Dˉ−