C++实现:点到线得距离
时间: 2023-07-11 07:40:58 浏览: 67
C++实现点到线的距离可以通过向量的方法进行计算,具体实现如下:
```c++
#include <iostream>
#include <cmath>
using namespace std;
struct Point {
double x, y;
};
// 计算两点之间的距离
double distance(Point p1, Point p2) {
return sqrt(pow(p1.x - p2.x, 2) + pow(p1.y - p2.y, 2));
}
// 计算点到直线的距离
double lineDistance(Point p, Point p1, Point p2) {
double a = p2.y - p1.y;
double b = p1.x - p2.x;
double c = p2.x * p1.y - p1.x * p2.y;
double d = fabs(a * p.x + b * p.y + c);
double e = sqrt(pow(a, 2) + pow(b, 2));
return d / e;
}
int main() {
Point p = {1, 1};
Point p1 = {0, 0};
Point p2 = {2, 0};
double dis = lineDistance(p, p1, p2);
cout << "The distance between the point and the line is " << dis << endl;
return 0;
}
```
其中,distance函数用于计算两个点之间的距离,lineDistance函数用于计算点到直线的距离,main函数中给出了一个简单的测试用例。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)