本文主要是介绍求空间直线与平面的交点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
若直线不与平面平行,将存在交点。如下图所示,已知直线L过点m(m1,m2,m3),且方向向量为VL(v1,v2,v3),平面P过点n(n1,n2,n3),且法线方向向量为VP(vp1,vp2,vp3),求得直线与平面的交点O的坐标(x,y,z):
将直线方程写成参数方程形式,即有:
x = m1+ v1 * t
y = m2+ v2 * t
z = m3+ v3 * t
将平面方程写成点法式方程形式,即有:
vp1 * (x – n1) + vp2 * (y – n2) + vp3 * (z – n3) = 0
则直线与平面的交点一定满足式(1)和(2),联立两式,求得:
t = ((n1 – m1)*vp1+(n2 – m2)*vp2+(n3 – m3)*vp3) /
(vp1* v1+ vp2* v2+ vp3* v3)
如果(3)式中分母(vp1* v1+ vp2* v2+ vp3* v3)为0,则表示直线与平面平行,即直线与平面没有交点。
否则求解出t后,然后将t代入式(1)即可求得交点O的坐标(x,y,z)。
这篇关于求空间直线与平面的交点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!