var vTheta = Math.atan2(v.vy,v.vx);
var obsAngle = Math.atan2(-v.vy,-v.vx);
これは、ベクトル角度とその逆数を見つけるために使用した元のコードです。これらは、コードの後半でいくつかの異なる計算に使用されます。2 番目の 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 の間にあります。
問題を引き起こす可能性のあるこれら 2 つのバージョンの違いは何ですか?