欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

java点到直线距离_求取点到直线的距离

发布时间:2023/12/15 46 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java点到直线距离_求取点到直线的距离 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

问题描述:

已知点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点到直线距离_求取点到直线的距离的全部内容,希望文章能够帮你解决所遇到的问题。

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