问题描述:

已知点P(px,py),直线L(P1,P2),求点P到L的距离。

首先,推导直线公式:

点$$P_1(x_1,y_1)$$, 点$$P_2(x_2,y_2)$$ 可知直线方程为:

$$x(y_2-y_1)-y(x_2-x_1)+y_1(x_2-x_1)-x_1(y_2-y_1)=0$$

点$$P_0(x_0,y_0)$$ 到$$P_1P_2$$的距离如下:

$$\begin{array}{rcl}dist & = & \frac{\left|x_0(y_2-y_1)-y_0(x_2-x_1)+y_1(x_2-x_1)-x_1(y_2-y_1)\right|}{\sqrt{(y_2-y_1)^2+(x_2-x_1)^2}} \\& = & \frac{\left|(y_2-y_1)*(x_0-x_1)-(x_2-x_1)*(y_0-y_1)\right|}{\sqrt{(y_2-y_1)^2+(x_2-x_1)^2}}\end{array}$$

代码如下所示:

1 double getDistFromP2L(double px, double py, double p1x, double p1y, double p2x,

double p2y)

{

double y2_y1 = p2y - p1y;

double x2_x1 = p2x - p1x;

if (fabs(y2_y1) < EOPS && fabs(y2_y1) < EOPS) {

return 0.0;

}

return fabs(y2_y1 * (px - p1x) -

x2_x1 * (py - p1y)) / sqrt(y2_y1 * y2_y1 + x2_x1 * x2_x1);

}

关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。

本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。

[求取点到直线的距离]http://www.zyiz.net/tech/detail-126164.html

java点到直线距离_求取点到直线的距离相关推荐

  1. java两条直线交点_求两条直线的交点坐标

    看UdaCity机器学习大纲,发现入门班中有一条:编写算法计算一组直线或平面的交点. 遂从最简单的直角坐标系两条直线的交点开始, 直线1的方程解析式: 2x-y=0; 直线2的方程解析式: 4x-5y ...

  2. python求抛物线和直线面积_求抛物线与直线形成的面积(数学)

    应该是求定积分的 但是还没研究很透怎么用定积分实现  就找了一个公式 s = -(y2-y1)/pow(x2-x1, 2)*pow(x3-x2, 3)/6 以下是Discuss中的详细分析: 设直线方 ...

  3. C语言算2个坐标点之间的距离,c语言求平面上2个坐标点的直线距离、求俩坐标直线距离作为半径的圆的面积、递归、菲波那次数列、explode...

    #include #include #include char explode( char * str , char symbol ); double distance ( int x1 , int ...

  4. lisp取两直线交点画圆_求过圆心直线与圆的两个交点

    主要是注意所使用的数据类型. 之前用的是float,出现了一些意外,而且花费了我不少时间来反复验证.推导, 做了很多的无用功,而且,反复推导得出来的计算步骤并没有什么不牢靠的地方. 然后计算得到的结果 ...

  5. 如何判断车与路边线距离_如何保持车身与边线距离在30cm以内?科二科三都要知道...

    科目二的坡道定点停车与起步.侧方位停车和直角转弯.科目三的靠边停车都会提到一个距离值,那就是靠边30公分左右. 所谓的30公分距离,就是指车身和黄线之间的距离. 科目二要求30公分距离的项目包括: 坡 ...

  6. java代码实现画板_求好心人帮找或做个JAVA画板程序 代码,主要能实现简单的画板功能!...

    展开全部 取个叫pb.java的文件拷贝进去(pb类为main入口),直接运行 --e68a843231313335323631343130323136353331333236376538------ ...

  7. java 多阶矩阵求逆_求N阶矩阵的逆矩阵 java

    求N阶矩阵的逆矩阵 java 别妄想泡我 911次浏览 2020年08月01日 16:49 最佳经验 本文由作者推荐 1毫升等于多少升-岂止的意思 import r; public class 求逆矩 ...

  8. java 最大子数组_求一个数组中子数组的最大和算法(Java实现)

    前几天在微信订阅号"待字闺中"中看到的一篇文章<小技巧求一个数组中子数组的最大和>,提供下Java的实现,并且在对题目做下小修改,本来打算直接在微信里直接回复,但是发现 ...

  9. java 模拟投票代码_求投票系统(Java源代码)

    求投票系统(Java源代码) 关注:175  答案:3  mip版 解决时间 2021-02-02 21:06 提问者 侑點尐悲伤 2021-02-02 16:54 设计一个投票系统来进行调查.评选或 ...

最新文章

  1. C++ explicit关键字
  2. 三类MySQL_mysql 常用的三类函数
  3. vue3中ref、reactive、shallowRef、 shallowReactive、toRaw、unref、toRef、toRefs、customRef使用与区别
  4. div不能控制tr和td的隐藏
  5. python选项卡控件_python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与...
  6. License Server Version 11.9 Installation on Windows Server 2003 Hangs
  7. javaee 中不同页面传参方法
  8. 敏捷个人学习----为什么的力量
  9. allegro设置规则
  10. C#中COM串口连接、发送、接收数据
  11. 生成一个6位数的随机密码,且需要包括字符、数字、特殊符号
  12. reset清除所有浏览器默认样式
  13. 计算机冗余,惯性导航计算机系统冗余设计
  14. 博物馆场馆智能化展览展示解决方案
  15. C#操作Word模板并且修改书签
  16. matlab从excel第二行写,matlab从某行读excel
  17. python目前版本强势英雄_王者荣耀:目前版本最强势的英雄有哪些,元歌必须上榜...
  18. scanner 获取控制台信息_关于java.util.scanner:如何使用Java中的Scanner类从控制台读取输入?...
  19. 卫星建模、自动单体、实时三维重建...瞰景Smart3D 2023系列新产品新技术发布!
  20. pq法潮流计算matlab,基于MATLAB电力系统PQ潮流计算程序设计(范文1)

热门文章

  1. iPad mini7:库克终于舍得堆料了?
  2. 阅读摘抄——把时间当做朋友
  3. 【前端】js 视频笔记(DOM BOM)
  4. indexedDB复合索引
  5. win7修改本计算机端口,如何更改Windows7 的远程桌面端口3389
  6. 修改云服务器端口,如何修改云服务器默认3389端口
  7. javascript H5解决手机拍照图片被旋转问题
  8. python实现去除图片纯色边框和给图片补边
  9. python实现链表(一)
  10. free -m 详解