从 atan2 转换为 atan
Convert from atan2 to atan
所以我看到 post 询问如何从 atan 转换为 atan2。但我没有看到相反的情况。那么如何将 atan2 转换为 atan 呢?非常感谢任何帮助!
我真的非常惊讶我在堆栈溢出的任何地方都找不到这个问题(我的搜索技能可能是有限的哈哈)。我想走这条路,因为 atan2 在数值上似乎比 atan 更稳定(但我可能错了)。
您可以执行与 中相反的操作。
double myatan(double y, double x)
{
double pi = 3.14159265358979323846;
if (x >= 0)
return atan2(y, x);
else if (y >= 0)
return atan2(y, x) - pi;
else
return atan2(y, x) + pi;
}
所以我看到 post 询问如何从 atan 转换为 atan2。但我没有看到相反的情况。那么如何将 atan2 转换为 atan 呢?非常感谢任何帮助!
我真的非常惊讶我在堆栈溢出的任何地方都找不到这个问题(我的搜索技能可能是有限的哈哈)。我想走这条路,因为 atan2 在数值上似乎比 atan 更稳定(但我可能错了)。
您可以执行与
double myatan(double y, double x)
{
double pi = 3.14159265358979323846;
if (x >= 0)
return atan2(y, x);
else if (y >= 0)
return atan2(y, x) - pi;
else
return atan2(y, x) + pi;
}