MATLAB 计算点到直线的距离

本文介绍了二维空间中计算点到直线距离的公式,以及三维空间中点到平面距离的计算方法。在二维空间中,通过向量的差和行列式的绝对值来确定距离;在三维空间里,利用叉乘和向量的模长来求解。这些公式对于几何计算和图形学有着重要的应用。

二维空间

给定两点 p1,p2\ p1, p2 p1,p2可以生成一直线p1p2⃗=p1⃗−p2⃗\vec{p_1p_2} =\vec{p_1} -\vec{p_2}p1p2=p1p2

现有在直线外一点p0{p_0}p0

上述三点以到坐标原点的向量表示为p⃗=[px,py]T\vec{ p} =[p_x,p_y] ^Tp=[px,py]T

因此,点到直线的距离公式可以表示为:
(注意,三点的坐标均用列向量进行表示)

p0 = [p0x ; p0y];
p1 = [p1x ; p1y];
p2 = [p2x ; p2y];
d = abs(det([p2-p1,p0-p1]))/norm(p2-p1);

若点的坐标为行向量

d = abs(det([p2-p1;p0-p1]))/norm(p2-p1);

三维空间

点为列向量时:

d = norm(cross(p2-p1,p0-p1))/norm(p2-p1);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值