c++ 计算2条线的距离
时间: 2024-02-24 22:54:19 浏览: 14
计算两条线的距离可以通过计算它们上的任意两点之间的距离来实现。以下是C++代码示例:
```c++
#include <iostream>
#include <cmath>
using namespace std;
struct Point {
double x, y;
};
double distance(Point p1, Point p2) {
return sqrt(pow(p2.x - p1.x, 2) + pow(p2.y - p1.y, 2));
}
double lineDistance(Point p1, Point p2, Point p3, Point p4) {
double d1 = distance(p1, p3);
double d2 = distance(p1, p4);
double d3 = distance(p2, p3);
double d4 = distance(p2, p4);
return min(min(d1, d2), min(d3, d4));
}
int main() {
Point p1 = {1, 2};
Point p2 = {3, 4};
Point p3 = {5, 6};
Point p4 = {7, 8};
cout << lineDistance(p1, p2, p3, p4) << endl; // 输出 1.41421
return 0;
}
```
在上面的代码中,我们首先定义了一个 `Point` 结构体,表示一个点的坐标。然后定义了一个 `distance` 函数,用于计算两个点之间的距离。最后定义了一个 `lineDistance` 函数,用于计算两条线之间的距离。在 `lineDistance` 函数中,我们分别计算了四个点之间的距离,并返回其中最小的一个,即为两条线之间的距离。最后在 `main` 函数中测试了一下 `lineDistance` 函数的结果。