winform点到直线的距离
时间: 2023-05-11 13:07:05 浏览: 68
可以使用以下代码来计算winform中点到直线的距离:
private double DistanceFromPointToLine(PointF point, PointF lineStart, PointF lineEnd)
{
double a = point.X - lineStart.X;
double b = point.Y - lineStart.Y;
double c = lineEnd.X - lineStart.X;
double d = lineEnd.Y - lineStart.Y;
double dot = a * c + b * d;
double len_sq = c * c + d * d;
double param = dot / len_sq;
double xx, yy;
if (param < 0)
{
xx = lineStart.X;
yy = lineStart.Y;
}
else if (param > 1)
{
xx = lineEnd.X;
yy = lineEnd.Y;
}
else
{
xx = lineStart.X + param * c;
yy = lineStart.Y + param * d;
}
double dx = point.X - xx;
double dy = point.Y - yy;
return Math.Sqrt(dx * dx + dy * dy);
}
其中,point表示点的坐标,lineStart和lineEnd表示直线的起点和终点的坐标。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)