欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

java 代码 点到线段的最短距离

发布时间:2025/3/12 编程问答 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java 代码 点到线段的最短距离 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
// 点到直线的最短距离的判断 点(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 代码 点到线段的最短距离的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。