用c++计算坐标方位角
时间: 2023-10-09 22:09:14 浏览: 289
以下是一个使用C语言计算坐标方位角的示例代码:
```c
#include <stdio.h>
#include <math.h>
#define PI 3.14159265358979323846
// 计算角度的函数
double toDegrees(double radians) {
return radians * 180.0 / PI;
}
double calculateBearing(double lat1, double lon1, double lat2, double lon2) {
double dLon = lon2 - lon1;
double x = cos(lat2) * sin(dLon);
double y = cos(lat1) * sin(lat2) - sin(lat1) * cos(lat2) * cos(dLon);
double bearing = atan2(x, y);
return toDegrees(bearing);
}
int main() {
double lat1 = 37.7749; // 纬度1
double lon1 = -122.4194; // 经度1
double lat2 = 34.0522; // 纬度2
double lon2 = -118.2437; // 经度2
double bearing = calculateBearing(lat1 * PI / 180.0, lon1 * PI / 180.0, lat2 * PI / 180.0, lon2 * PI / 180.0);
printf("方位角为: %lf\n", bearing);
return 0;
}
```
在上面的示例代码中,我们使用了 `calculateBearing()` 函数来计算两个坐标点之间的方位角。该函数采用四个参数,分别是第一个坐标点的纬度和经度以及第二个坐标点的纬度和经度。我们在函数中使用了一些三角函数和 `atan2()` 函数来计算方位角。最后,我们将弧度转换为度数并将结果打印到控制台上。
阅读全文