加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

计算某一点到连接两点的直线距离(矢量方法)

(2016-05-26 22:23:34)
标签:

杂谈

方法一:计算两点形成直线的斜率,斜率的负倒数是某点到该直线的斜率,通过计算垂足到该点距离得到某点到两点形成的直线距离。

方法二:矢量方法,好处是对于任意斜率都可以计算。

问题:已知点A (ax, ay),求到连接点B(bx, by)  和C(cx, cy) 的直线距离。

假设:建立坐标系,向量[latex]\vec{a}[/latex],[latex]\vec{b} [/latex] 和[latex]\vec{c} [/latex]  分别对应三点的向量,如下图:

http://blog.foool.net/wp-content/uploads/2016/05/%E7%BB%98%E5%9B%BE1.png

图中C到直线AB 的垂线是紫色那根(假设垂足为D,图中未标注)。分别求得A 到B 的向量和C 到B的向量:

[latex]\vec{AB} = \vec{b}-\vec{a}[/latex]    [latex]\vec{CB} = \vec{b}-\vec{c}[/latex]

通过计算[latex]\vec{AB} \times \vec{CB}[/latex] 可以得到红色线段长度;勾股定理得到垂线距离:

[latex]$\mid CD\mid = \sqrt{\mid\vec{CB}\mid ^2 - \vec{AB} \times \vec{CB}}$[/latex]

[latex] = \sqrt{(cy-by)^2+(cx-bx)^2-((bx-ax)(bx-cx)-(by-ay)(by-cy))}$[/latex]

 

查看原文:http://blog.foool.net/2016/05/计算某一点到连接两点的直线距离(矢量方法)/

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有