• 使用向量的方法效率更高,更简单。
  • 首先要了解什么是向量,什么是向量的模
  • 主要用到了解析几何里的几个公式

    1. a * b = | a | * | b | * cos(x),其中x为向量a,b的夹角
    2. | a | * 单位向量 = a,单位向量为模为1的向量
    3. 向量的加减法 ,如下图所示 
      • 向量的加法 
      • 向量的减法 
  • 问题的原型如下图所示,红色的点为鼠标位置,蓝色的点(x0,y0),(x1,y1)为线段的端点,求红色的点到直线的距离 
     
    可以将点到线的距离转换为直角三角形的问题,如下图所示: 

    1. 我们定义鼠标所在点为M,线段起点为A,终点为B,MA为向量a,AB为向量b,向量c为向量a在向量b上的投影,向量e为M点到AB的垂线,关键就是求出向量e的模。
    2. 要得到向量e的模,首先要得到向量e,而要得到向量e就需要得到向量c,问题就转换为了求向量c。
    3. 由勾股定理可得|c| = |a| * cos(x),x为向量ab的夹角,而 
      |a| * cos(x) = |a| * |b| * cos(x) / |b| = a * b / |b|,这样就得到了c的模,这样就可以得到c = |c| * 单位向量, 
      因为c与b的方向相同,所以取单位向量=b / |b|,整理可得:

      c=(a∗b)|b|b|b|
      =(a∗b)|b|2b
    4. 得到c的向量之后,就可以得到向量e = a - c再取e的模即可得到点到直线的距离。
  • 最后两个图片源自https://msdn.microsoft.com/en-us/library/ms969920.aspx

转载地址:http://blog.csdn.net/tracing/article/details/46563383

使用向量的方法来计算点到直线的距离相关推荐

  1. 使用向量的方法计算点到直线的距离

    基础: 单位向量:模等于1的向量,一个非零向量除以它的模,可得所需单位向量. 向量的加减法: 向量的投影:设两个非零向量a与b的夹角为θ,则将|b|·cosθ 叫做向量b在向量a方向上的投影 向量的点 ...

  2. C语言计算点到直线的距离

    /*计算点到直线之间的距离*/ double dis_calculate(vec2d_t *point, vec2d_t *line_point_1, vec2d_t *line_point_2){/ ...

  3. C++——计算点到直线的距离保留两位小数

    直线方程:Ax+By+C=0 编写程序,输入A,B,C,和点(x,y),计算该点到直线的距离. 点到直线的距离公式: d=|Ax+By+C|/sqrt(A*A+B*B) 其中|z|表示绝对值,程序中使 ...

  4. 叉积求点到平面距离_OpenCV计算点到直线的距离 数学法

    我们在检测图像的边缘图时,有时需要检测出直线目标,hough变换检测出直线后怎么能更进一步的缩小区域呢?其中,可以根据距离来再做一判断,就涉及到了点与直线的距离问题. 点到直线距离代码如下: //== ...

  5. python计算点到直线的距离_Python求平面内点到直线距离的实现

    近期遇到个问题,需要计算平面内点到直线的距离,发现数学知识都还给老师了,度娘后找到计算方法,特此记录. 点到直线的计算公式: 通过公式推导,得到信息: a:直线斜率 b:固定值-1 c:直线截距b 转 ...

  6. 【python】计算点到直线的距离

    1. 直线采用两个端点的xy坐标表达 import numpy as npdef get_distance_point2line(point, line):"""Args ...

  7. 【Halcon 计算点到直线和点到直线延长线的距离】

    Halcon 计算点到直线和点到直线延长线的距离 提示:Halcon计算点到直线的距离.(验证精度)点到直线延长线的距离 前言 实际项目进展过程中会应用到,计算直线与直线,点与直线距离计算,偶然发现, ...

  8. 点到直线的距离计算原理及MATLAB程序

    在二维和三维空间,有现成的计算点到空间直线的距离的公式: 如: 三维空间有类似的计算公式. 甚至博客直接提出用叉乘和行列式计算点到直线距离的计算方法和程序.但仅限于二维和三维的情况.更高维的就不适用. ...

  9. 利用数学公式计算点到线的距离

    作者:RayChiu_Labloy 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 目录 场景: 数学原理和公式详解: 已知直线上两点求直线的一般式方程: 点到线的距离公 ...

最新文章

  1. android studio配置系列 - 收藏集 - 掘金
  2. 20165302第八周总结
  3. Tungsten Fabric SDN — 网络架构
  4. python哪本好-最好的Python入门教材是哪本?
  5. 4测试命令_局域网带宽测试工具-iPerf3
  6. Java—servlet简单使用
  7. 前端学习(3118):react-hello-react的解决类中方法的this
  8. 前端学习(41):背景实现视觉差效果
  9. A New Romance Is Likely to End up like Your Previous Relationship 为什么每次恋爱总会走向相似的结局?
  10. linux 权限 代码,linux 管理权限(示例代码)
  11. 视频流(自适应算法)
  12. ARM板更改系统时期和时间
  13. 李沐动手学深度学习V2-attention注意力机制
  14. Fiddler获取微信视频太好用了呀
  15. 买的香港云服务器怎么用?云服务器使用教程
  16. 成都Uber优步司机奖励政策(1月17日)
  17. kali Linux2019 安装(中文)搜狗输入法
  18. java环境搭建_java环境搭建问题
  19. LibreOffice Draw vs. 微软Office Visio
  20. 多媒体会议室系统有哪些功能,小型会议室系统解决方案

热门文章

  1. 马尔可夫预测matlab编程,MATLAB马尔科夫链预测法
  2. Python的import
  3. C#--窗体控件(选择类控件)
  4. u-boot-1.3.4 移植到S3C2440 (带有某些解析)
  5. 双重否定的翻译 百度翻译 VS. 谷歌翻译
  6. 35岁,领高薪,拿股票:那些职业竞争力强的人,活得太爽了!
  7. knockoutjs visible
  8. 卸载流氓软件最后的奥义
  9. Javapython实现网页内容自动识别与提取技术实现
  10. IBM X系列服务器、刀片中心安装指南和用户手册、操作系统安装指南(中文版)汇总