我有两个3D点(但z坐标始终为零)并且想要计算从这些点创建的方向向量的偏航.我已经找到了这篇文章,并尝试了以下代码:
double p1_x, p1_y, p2_x, p2_y;
//initialize vars...
double dx = p2_x - p1_x;
double dy = p2_y - p1_y;
double yaw = atan(dx/-dy);
Run Code Online (Sandbox Code Playgroud)
但是,如果我测试这种方法,我似乎会得到奇怪的结果.此外,这种方法似乎并不考虑dy为零的情况.我的问题是我不完全了解基础数学,所以我无法适应代码.
我的问题是:这种方法如何适应以恢复适当的偏航?为什么它不是在ints curent状态下工作?
谢谢你的帮助和问候,scr
double dx = p2_x - p1_x;
double dy = p2_y - p1_y;
double yaw = atan2(dy, dx);
Run Code Online (Sandbox Code Playgroud)
此版本的代码应该可以为您提供所需的内容.
然后,180 / PI如果需要以度为单位的值,则可以乘以.