空間內直線於平面交點

空間內直線於平面交點

空間內直線於平面交點在編程中使用向量的方式計算要相對簡單很多。理論部分可參考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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章