var vTheta = Math.atan2(v.vy,v.vx);
var obsAngle = Math.atan2(-v.vy,-v.vx);
这是我用来查找矢量角度及其倒数的原始代码。它们用于稍后在代码中进行一些不同的计算。我想删除第二个 Math.atan2 函数并用以下代码替换它以帮助优化代码:
var vTheta = Math.atan2(v.vy,v.vx);
var obsAngle = 0;
if (vTheta >= 0) obsAngle = Math.PI - vTheta;
else if (vTheta < 0) obsAngle = Math.PI + vTheta;
当我为两个版本打印 obsAngle 的结果时,obsAngle 是相同的(或足够接近),但是程序的行为并不相同。在这两种情况下,obsAngle 都介于 -pi 和 pi 之间。
这两个版本有什么区别会导致问题?