空间内直线于平面交点
空间内直线于平面交点在编程中使用向量的方式计算要相对简单很多。理论部分可参考https://blog.csdn.net/smallflyingpig/article/details/51234711?locationNum=8&fps=1
但是存在部分不当之处,下面matlab程序中已经做出修改
function point=getpoint(normal,P1,P2)
%平面方程为Ax+By+Cz+D=0;normal=[A,B,C,D]
%P1=[x1;y1;z1],P2=[x2;y2;z2]空间内两点
%返回交点坐标为point,无交点则返回-1
if (normal(1)*P1(1)+normal(2)*P1(2)+normal(3)*P1(3)+normal(4))==0
temp=P1;
P1=P2;
P2=temp;
end
P12=P2-P1;
if normal(1:3)*P12==0
point=-1;
%直线与平面无交点
else
n=-(normal(1)*(P2(1)-P1(1))+normal(2)*(P2(2)-P1(2))+normal(3)*(P2(3)-P1(3)))/(normal(1)*P1(1)+normal(2)*P1(2)+normal(3)*P1(3)+normal(4));
point=P1+P12/n;
end
end