組み込み関数を使用して2つのベクトル間の角度を見つけるのに苦労している奇妙な問題
var v1:Vector3D = new Vector3D(0, 0, 0);
var v2:Vector3D = new Vector3D(50, 0, 50);
//Vector3D(0, 0, 0) Vector3D(50, 0, 50)
var angle1:Number = Vector3D.angleBetween(v1,v2) * 180 / Math.PI;
var angle2:Number = Vector3D.angleBetween(v2,v1) * 180 / Math.PI;
trace(angle1,angle2);
これは angle1 と angle2 の両方に対して NaN を返します
ただし、ゼロ以外の値 (0.00001 などの小さい数値) を y プロパティとしてベクターのいずれかに渡すと、数値/角度が取得されます。
このため、このメソッドを呼び出す前に、ベクトルを複製し、y に小さな数値 (0.00001) を追加しています。
私が何か間違ったことをしているのか、そこにバグがあるのか わかりません。誰かが助けることができますか?