Vector3 オブジェクトを正規化する 2 つの方法。Vector3.Normalize() を呼び出し、もう一方はゼロから正規化します。
class Tester {
static Vector3 NormalizeVector(Vector3 v)
{
float l = v.Length();
return new Vector3(v.X / l, v.Y / l, v.Z / l);
}
public static void Main(string[] args)
{
Vector3 v = new Vector3(0.0f, 0.0f, 7.0f);
Vector3 v2 = NormalizeVector(v);
Debug.WriteLine(v2.ToString());
v.Normalize();
Debug.WriteLine(v.ToString());
}
}
上記のコードはこれを生成します:
X: 0
Y: 0
Z: 1
X: 0
Y: 0
Z: 0.9999999
なんで?
(ボーナスポイント: Why Me?)