二维几何计算-点到射线,线段距离


一、点到射线距离

  • 点到射线距离和 点到直线距离的计算方法相似,但射线的一端具有端点,这里会有两种距离求解情况。
    Condition: 点 : K K K, 线 l l l: X ( t ) = P + t ⋅ n ⃗ , n ⃗ 已经标准化 X(t)=P+t \cdot \vec{n},\vec{n}已经标准化 X(t)=P+tn n 已经标准化
  • case 1:投影点Y在射线上,距离的计算与 点到直线 求解一致。
    在这里插入图片描述
  • case 2:投影点Y不在射线上,距离的计算为 ∥ K − P ∥ \left\| K-P\right\| KP
    在这里插入图片描述
  • 综上:
    D ( K , l 0 ) = { ∥ K − P ∥ 2 − ( n ⃗ ⋅ ( K − P ) ) 2 , n ⃗ ⋅ ( K − Y ) > 0 ∥ K − P ∥ 2 , n ⃗ ⋅ ( K − Y ) ≤ 0 D(K,l_0)= \left\{\begin{matrix} \left\| K-P\right\|^2 - (\vec{n}\cdot(K-P))^2 & ,\vec{n} \cdot(K-Y)>0 \\ \left\| K-P\right\|^2 & ,\vec{n} \cdot(K-Y) \leq 0 \end{matrix}\right. D(K,l0)={KP2(n (KP))2KP2,n (KY)>0,n (KY)0

二、点到线段距离

  • 点到射线距离和 点到直线距离的计算方法相似,但线段具有两个端点,这里会有三种距离求解情况。
    Condition: 点 : K K K, 线 l 1 l_1 l1: X ( t ) = P + t ⋅ n ⃗ , n ⃗ = P 1 − P 0 未标准化 X(t)=P+t \cdot \vec{n},\vec{n}=P_1-P_0未标准化 X(t)=P+tn n =P1P0未标准化

  • Case 1: 投影点 Y Y Y in segment. The distance is same as point-line distance. D = ∥ K − P 0 − t ′ ⋅ n ⃗ ∥ 2 D=\left\| K-P_0-t' \cdot \vec{n}\right\|^2 D=KP0tn 2
    在这里插入图片描述

  • Case 2:投影点 Y Y Y not in segment. D = ∥ K − P 0 ∥ 2 D =\left\| K-P_0\right\|^2 D=KP02

figure1

  • Case 3:投影点 Y Y Y not in segment. D = ∥ K − P 1 ∥ 2 D =\left\| K-P_1\right\|^2 D=KP12

  • 在这里插入图片描述

  • Note: t ′ = n ⃗ ⋅ ( K − P ) / ∥ n ⃗ ∥ 2 t' = \vec{n} \cdot (K-P)/ \left\| \vec{n} \right\|^2 t=n (KP)/n 2, 点到直线距离
    综上:
    D ( K , l 1 ) = { ∥ K − P 0 ∥ 2 , t ′ ≤ 0 ∥ K − P 0 − t ′ ⋅ n ⃗ ∥ 2 , 0 < t ′ < 1 ∥ K − P 1 ∥ 2 , t ′ ≥ 1 D(K,l_1)= \left\{\begin{matrix} \left\| K-P_0\right\|^2 & ,t' \leq 0 \\ \left\| K-P_0-t' \cdot \vec{n}\right\|^2 & ,0<t'<1 \\ \left\| K-P_1\right\|^2 & ,t' \geq1 \end{matrix}\right. D(K,l1)= KP02KP0tn 2KP12,t0,0<t<1,t1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值