// 点到直线的最短距离的判断 点(x0,y0) 到由两点组成的线段(x1,y1) ,( x2,y2 )private double pointToLine(int x1, int y1, int x2, int y2, int x0,int y0) {double space = 0;double a, b, c;a = lineSpace(x1, y1, x2, y2);// 线段的长度b = lineSpace(x1, y1, x0, y0);// (x1,y1)到点的距离c = lineSpace(x2, y2, x0, y0);// (x2,y2)到点的距离if (c <= 0.000001 || b <= 0.000001) {space = 0;return space;}if (a <= 0.000001) {space = b;return space;}if (c * c >= a * a + b * b) {space = b;return space;}if (b * b >= a * a + c * c) {space = c;return space;}double p = (a + b + c) / 2;// 半周长double s = Math.sqrt(p * (p - a) * (p - b) * (p - c));// 海伦公式求面积space = 2 * s / a;// 返回点到线的距离(利用三角形面积公式求高)return space;}// 计算两点之间的距离private double lineSpace(int x1, int y1, int x2, int y2) {double lineLength = 0;lineLength = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2)* (y1 - y2));return lineLength;}

java 代码 点到线段的最短距离相关推荐

  1. C++功能模块8:点到线段的最短距离

    一.问题描述 在二维平面上,给出三个点的坐标分别为A(ax,ay), B(bx,by), C(cx,cy),求点A到线段BC的最短距离. 注意:是点到线段距离,不是点到直线距离!! 二.问题分析 从点 ...

  2. 一种点到线段的最短距离的方法

    一种点到线段的最短距离的方法 下面介绍点到线段的最短距离的方法: 图 1-6点到线段的最短距离 图1-6描述了一种计算点D到线段AC的最短距离的计算方法.直线方程由经过两点A (x1,y1) 和 C ...

  3. 点到线段的最短距离计算方法(附python代码)

    点到线段最短距离的运算与点到直线的最短距离的运算二者之间存在一定的差别,即求点到线段最短距离时需要考虑参考点在沿线段方向的投影点是否在线段上,若在线段上才可采用点到直线距离公式,如图1所示. 图1 ( ...

  4. 点到线段的最短距离算法

    最近做了一个类似Visio的软件,需要对节点连线进行右键删除操作,但是如何确定是否鼠标右键点击到了连线是个难题. 参考了以下内容.留存备用.选用几何矢量算法,最方便的解决了问题,首先了解了向量内积的定 ...

  5. python 点到线段的距离_点到线段的最短距离

    博客转载自:http://blog.sina.com.cn/s/blog_5d5c80840101bnhw.html 点到线段最短距离的运算与点到直线的最短距离的运算二者之间存在一定的差别,即求点到线 ...

  6. java高德点到ian距离,高德地图(点到线段的最短距离算法)不调用高德API

    package com.sage.dss.util; import java.math.BigDecimal; /** * 提取自 AMapUtils(版本 com.amap.api:map2d:2. ...

  7. 点到线段的最短距离——矢量法

    最近在看recast&detour源码的时候有遇到许多数学上的算法问题,特此记录,以便以后查看. 矢量法推导: 求点P到线段AB的最短距离.分成以下三种情况(a),(b),(c). (勘误:d ...

  8. URAL 1348. Goat in the Garden 2[求点到线段的距离]

    题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1348 题目的意思是:求一个点到线段的最短距离和最长距离.. 最长距离比较容易,就是求点到 ...

  9. 点到直线和到线段的最短距离

    点到直线的距离: struct Node {int x,y; }; double D(Node a,Node b,Node c)//计算点到直线距离 {double d=(fabs((b.y-a.y) ...

最新文章

  1. 关于API文档浏览神器Dash
  2. 【代码笔记】iOS-评分,支持我们
  3. android ViewPager 实现点击小圆点切换页面 案例
  4. 提升 .NET 程序性能的 一些 原则
  5. iOS之深入解析Xcode编译运行的原理与应用
  6. 开放下载 | 阿里妈妈技术年货来啦!
  7. SpringBoot项目新手——问题疑惑及解决笔记
  8. 设置Java EE 6开发环境
  9. 领域应用 | NLP 和知识图谱:金融科技领域的“双子星”
  10. django-后台管理-表显示相关
  11. MyBatis动态SQL使用
  12. 哥写的不是代码,是寂寞
  13. java violate 实例_Java的Volatile实例用法及讲解
  14. 华为音量键只能调通话_华为手机音量键的隐藏功能,知道一个就会好用不少!...
  15. Tutorials 使用窗口功能分析信息
  16. 分享几个下载豆瓣资源的chrome插件
  17. 极速office(excel)根据身份证号如何提取年龄
  18. 3月28日服务器维护,4月28日服务器例行维护公告
  19. Deep Learning for Image and Point Cloud Fusionin Autonomous Driving: A Review
  20. Nucleus SE RTOS 中的中断

热门文章

  1. 处于停机等非正常状态_一文聊透 Dubbo 优雅停机
  2. [转载] java左移右移和无符号右移
  3. [转载] 一文彻底搞懂父类引用指向子类对象问题
  4. cubic-bezier_带CSS中的示例的cube-bezier()函数
  5. java 根据类名示例化类_Java LocalDateTime类| atOffset()方法与示例
  6. java 实现 堆排序算法_C程序实现堆排序算法
  7. L1-056 猜数字 C语言,PAT L1-032 Left-pad
  8. 指针在c语言中的运用,怎么理解C语言中的指针,如何运用?
  9. php 判断 in,tinkphp常用判断条件in、notin、between、AND、OR
  10. php xlsx里插入图片_常见的 PHP 面试题和答案分享