作业帮 > 数学 > 作业

三维空间中,已知3个点坐标.求其中一点要另外两点所构成的线段的距离

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:数学作业 时间:2024/06/05 15:14:59
三维空间中,已知3个点坐标.求其中一点要另外两点所构成的线段的距离
三维空间中 已知3个点坐标.
求其中一点要另外两点所构成的线段的距离

延伸:
由若干个线段组成的一个平面,求这点到这个平面的距离

三个点:p(x,y,z),p1(x1,y1,z1),p2(x2,y2,z2); 求p到线段p1p2的距离.本人数学基础不是很牢固,希望能解释各个步骤 . 小弟在此谢过啦
三维空间中,已知3个点坐标.求其中一点要另外两点所构成的线段的距离
向量
p1p=(x-x1,y-y1,z-z1)
p1p2=(x2-x1,y2-y1,z2-z1)
再用
(x-x1)(x2-x1)+(y-y1)(y2-y1)+(z-z1)(y2-y1)的绝对值
除以
sqrt((x2-x1)^2+(y2-y1)^2+(z2-z1)^2)*sqrt((x-x1)^2+(y-y1)^2+(z-z1)^2)
(sqrt代表根号)
得到p1p和p1p2夹角的余弦cos值,这利用了向量内积的性质,你看下参考资料,可以由内积反推出cos值.
然后用 sin^2+cos^2=1,得到sin值.
最后用 sqrt((x-x1)^2+(y-y1)^2+(z-z1)^2) 乘以这个sin值,就结束了.
如果你还不满意,也可以用三角形面积=0.5×底×高来算.
三角形如果知道三条边的长度a,b,c,则面积S=0.5*根号下((a+b+c)*(a+b-c)*(a-b+c)*(-a+b+c)).
你可以先求出pp1p2的边长,然后代进去算出面积,然后高=2×S/底,就求出来了.
再问: 错了了,我求的是最短距离,在三维空间内。这点的最短距离不一定在垂线上。 比如我在这个多边形的右上方,那么它到这个多边形的最短距离就成了右上点 到这个点的距离了。
再答: 哦,那你需要求出C在AB的垂足的位置D,然后看垂足是否在线段AB上。如果不在线段上,则需要求出CA和CB里的较小的距离,就可以了!按我的方法,看AC和AB的夹角,是否小于90度(利用向量内积),如果BC和BA的夹角也小于90度(利用向量内积),则说明是个垂足会在AB上。否则的话,垂足不会在AB上,那么最短距离就会在顶点出现,不是A就是B。