gpt4 book ai didi

c++ - 计算二维 vector 的偏航

转载 作者:太空宇宙 更新时间:2023-11-03 10:32:14 24 4
gpt4 key购买 nike

我有两个 3D 点(但是 z 坐标始终为零)并且想要计算从这些点创建的方向 vector 的偏航。我已经找到了 this发布,并基于它尝试了以下代码:

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);

但是,如果我测试这种方法,我似乎会得到奇怪的结果。此外,这种方法似乎不考虑 dy 为零的情况。我的问题是我并不完全了解底层数学,所以我在调整代码时遇到了麻烦。

我的问题是:需要如何调整此方法才能返回适当的偏航?为什么它不能在当前状态下工作?

感谢您的帮助和问候,脚本

最佳答案

通常,人们会使用 atan2(已记录 herehere )

double dx = p2_x - p1_x;
double dy = p2_y - p1_y;

double yaw = atan2(dy, dx);

这个版本的代码应该能满足您的需求。

如果您想要以度为单位的值,则可以乘以 180/PI

关于c++ - 计算二维 vector 的偏航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13517663/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com