平面图形原理总结(2):点与直线

前言

上一篇文章中,我总结了关于两直线的相交情况;本文将继续总结平面图形的相关原理,关于点与直线的问题。

参考文献:《计算机图形学——用OpenGL实现(第2版)》 清华大学出版社

点到直线的距离

  1. 点到直线的距离
    已知点A在直线L上,直线L的向量为 a ⃗ \vec a a ,即可得直线L的方程为: L ( t ) = A + a ⃗ t L(t) = A + \vec a t L(t)=A+a t
    求点P到直线L的距离 R R R,我们可以使 b ⃗ = P − A \vec b = P - A b =PA b ⃗ \vec b b a ⃗ \vec a a 的夹角为 θ \theta θ,则 R = ∣ b ⃗ ∣ s i n θ R = \vert \vec b \vert sin\theta R=b sinθ
    根据向量的叉乘公式有 ∣ a ⃗ × b ⃗ ∣ = ∣ a ⃗ ∣ ∣ b ⃗ ∣ s i n θ \vert \vec a \times \vec b \vert = \vert \vec a \vert \vert \vec b \vert sin \theta a ×b =a b sinθ
    可得 R = ∣ a ⃗ × b ⃗ ∣ ∣ a ⃗ ∣ R = \frac {\vert \vec a \times \vec b \vert} { \vert \vec a \vert } R=a a ×b

  2. 正交投影
    同上述,我们可以对向量 b ⃗ \vec b b 根据直线与直线的法向量方向做正交投影,而点P到直线L的距离 R R R就等于向量 b ⃗ \vec b b 在直线法向量方向上的长度。
    首先, a ⃗ ⊥ \vec a ^ \perp a 为向量 a ⃗ \vec a a 的正交向量,投影可得 b ⃗ = K a ⃗ + M a ⃗ ⊥ \vec b = K\vec a + M\vec a ^ \perp b =Ka +Ma
    解方程,消除 a ⃗ ⊥ \vec a ^ \perp a 对方程的影响,左右同时点乘 a ^ \hat a a^,可得 b ⃗ ⋅ a ⃗ = K a ⃗ ⋅ a ⃗ \vec b \cdot \vec a = K\vec a \cdot \vec a b a =Ka a
    K = b ⃗ ⋅ a ⃗ a ⃗ ⋅ a ⃗ K = \frac {\vec b \cdot \vec a} {\vec a \cdot \vec a} K=a a b a
    同理 M = b ⃗ ⋅ a ⃗ ⊥ a ⃗ ⊥ ⋅ a ⃗ ⊥ M = \frac {\vec b \cdot \vec a ^ \perp} {\vec a ^ \perp \cdot \vec a ^ \perp } M=a a b

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值