写一段c++代码 识别路径是否为接近圆圈的路径
时间: 2023-12-14 11:38:58 浏览: 79
以下是一段简单的 C++ 代码,用于识别一个路径是否接近圆圈。
```c++
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
bool isCloseToCircle(vector<pair<int, int>> path) {
double centerX = 0; // 圆心 x 坐标
double centerY = 0; // 圆心 y 坐标
double radius = 10; // 圆半径
for (int i = 0; i < path.size(); i++) {
double distance = sqrt(pow(path[i].first - centerX, 2) + pow(path[i].second - centerY, 2)); // 计算路径点到圆心的距离
if (distance < radius) { // 如果距离小于圆半径
return true;
}
}
return false;
}
int main() {
vector<pair<int, int>> path1 = {{0, 0}, {5, 5}, {10, 10}}; // 不接近圆圈的路径
vector<pair<int, int>> path2 = {{0, 0}, {5, 5}, {8, 8}, {15, 15}}; // 接近圆圈的路径
if (isCloseToCircle(path1)) {
cout << "path1 接近圆圈" << endl;
} else {
cout << "path1 不接近圆圈" << endl;
}
if (isCloseToCircle(path2)) {
cout << "path2 接近圆圈" << endl;
} else {
cout << "path2 不接近圆圈" << endl;
}
return 0;
}
```
上述代码中,`isCloseToCircle` 函数接受一个表示路径的向量 `path`,并且假设圆心坐标为 (0, 0),半径为 10,然后计算路径中每个点到圆心的距离,如果距离小于圆半径,函数返回 `true`,否则返回 `false`。
在 `main` 函数中,我们定义了两条路径,一条不接近圆圈,另一条接近圆圈,然后调用 `isCloseToCircle` 函数判断路径是否接近圆圈。
阅读全文