标准化 Vector3 对象的两种方法;通过调用 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
为什么?
(奖励积分:为什么是我?)