sunnydragonfly 发表于 2008-11-13 21:00

请教:求面间距的命令

已知不在同一平面的四个点的坐标,怎么求其中一个点到其它三个点所组成的平面的距离?matlab里有没有这样的指令呢?
当然用几何方法这是完全可以做到的

[ 本帖最后由 sunnydragonfly 于 2008-11-13 22:29 编辑 ]

sigma665 发表于 2008-11-14 08:30

回复 楼主 sunnydragonfly 的帖子

直接的命令,貌似没有

科技在线 发表于 2008-11-14 08:44

没有直接的命令,不过数学里面有这个现成的公式啊(这里不好贴,查查),然后直接输入计算就可以

ChaChing 发表于 2008-11-14 11:41

回复 楼主 sunnydragonfly 的帖子

试试
function Height = pt2suf(CoorP,CoorS)
% CoorP : coordinate of point (3*1)
% CoorS : coordinate of 3 point (3*3)
a=CoorP-CoorS(1,:); b=CoorS(2,:)-CoorS(1,:); c=CoorS(3,:)-CoorS(1,:);
Normal=cross(b,c); UnitNormal=Normal/norm(Normal);
Height = abs(sum(a.*UnitNormal));

[ 本帖最后由 ChaChing 于 2008-11-14 13:07 编辑 ]

sunnydragonfly 发表于 2008-11-14 21:57

:@) 非常感谢大家的指点!
我采用的解决办法是利用向量的知识,先求出一个解析解,再把坐标代进去。本质跟二楼所说的方法是一样的。
页: [1]
查看完整版本: 请教:求面间距的命令