空间中点到直线的距离的MATLAB计算实现

建模过程见参考资料,这里给出代码和例子。

数学模型

d = ∣ ( pt − x1 ) × ( pt − x2 ) ∣ ∣ ( x2 − x1 ) ∣ d=\frac {|(\textbf{pt}-\textbf{x1})\times(\textbf{pt}-\textbf{x2})|}{|(\textbf{x2}-\textbf{x1})|} d=(x2x1)(ptx1)×(ptx2)
式中, x1 = ( x 1 , y 1 , z 1 ) \textbf{x1}=(x1,y1,z1) x1=(x1,y1,z1) x2 = ( x 2 , y 2 , z 2 ) \textbf{x2}=(x2,y2,z2) x2=(x2,y2,z2) pt = ( x 0 , y 0 , z 0 ) \textbf{pt}=(x0,y0,z0) pt=(x0,y0,z0)

完整代码

x1 = [1,3,4];
x2 = [2,-1,6];
pt = [4,5,6];

d = norm(cross((pt-x1),(pt-x2)))/norm(x2-x1)

参考资料

Point-Line Distance–3-Dimensional

posted @ 2020-09-16 19:51  狂小虎  阅读(673)  评论(0编辑  收藏  举报