游戏数学(11)

 

向量乘法是指将一个向量与一个标量相乘。标量就是int或者double这样的普通数值。如果一个向量的所有元素都乘以另外一个元素,这种计算就称为点积。下面列出了点积的计算方法。

public Vector Multiply(double v)

{

return new Vector(X * v, Y * v, Z * v);

}

public static Vector operator * (Vector v, double s)

{

return v.Multiply(s);

}

图8-8显示了将向量与标量相乘后得到的结果。将向量与标量相乘会缩放向量,所以乘以2会使向量的长度加倍。将向量乘以-1会使向量指向与当前方向相反的方向。如果在3D游戏中玩家角色被击中,可以将代表子弹轨迹的向量乘以-1,得到相反的方向。现在这个向量从玩家的身体出发,逆着子弹的轨迹指向外部,所以非常适合用来实现鲜血喷出的效果(见图8-9)。

读书导航