本文主要是介绍空间点到平面的垂足坐标的计算方法以及matlab实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题描述:
已知空间点坐标(x,y,z),并且知道三个点的坐标(不要共线!),求解空间点到平面投影坐标。
参考百度文库的这篇文章
空间点到平面的垂足坐标的计算方法
下面是matlab的代码:
%% 变量定义
% 空间坐标点 x/y/z坐标分别为x4 y4 z4(需要手动修改!!)
Data_Origin=[x4,y4,z4];% 取平面上的三个点 (不要共线!)
% PlanePointX:平面上三个点的x坐标,分别是x1 x2 x3(需要手动修改!!)
PlanePointX=[x1,x2,x3];
% PlanePointY:平面上三个点的y坐标,分别是y1 y2 y3(需要手动修改!!)
PlanePointY=[y1,y2,y3];
% PlanePointZ:平面上三个点的z坐标,分别是z1 z2 z3(需要手动修改!!)
PlanePointZ=[z1,z2,z3];
PlanePoint=[PlanePointX',PlanePointY',PlanePointZ'];%% 求解平面方程Ax+By+Cz+1=0的A、B、C三个参数为paraA paraB paraC
para=-PlanePoint\ones(3,1);
paraA=para(1);
paraB=para(2);
paraC=para(3);%% 投影坐标计算最终坐标为Data_projection,一个列向量
Matrix_head=([PlanePoint(2,:)-PlanePoint(1,:);...PlanePoint(3,:)-PlanePoint(1,:);...paraA, paraB, paraC]);
Data_projection=Matrix_head\...[dot(Data_Origin,(PlanePoint(2,:)-PlanePoint(1,:)));...dot(Data_Origin,(PlanePoint(3,:)-PlanePoint(1,:)));...-1];
这篇关于空间点到平面的垂足坐标的计算方法以及matlab实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!