向量乘法是指將一個(gè)向量與一個(gè)標(biāo)量相乘。標(biāo)量就是int或者double這樣的普通數(shù)值。如果一個(gè)向量的所有元素都乘以另外一個(gè)元素,這種計(jì)算就稱為點(diǎn)積。下面列出了點(diǎn)積的計(jì)算方法。
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顯示了將向量與標(biāo)量相乘后得到的結(jié)果。將向量與標(biāo)量相乘會(huì)縮放向量,所以乘以2會(huì)使向量的長(zhǎng)度加倍。將向量乘以-1會(huì)使向量指向與當(dāng)前方向相反的方向。如果在3D游戲中玩家角色被擊中,可以將代表子彈軌跡的向量乘以-1,得到相反的方向?,F(xiàn)在這個(gè)向量從玩家的身體出發(fā),逆著子彈的軌跡指向外部,所以非常適合用來(lái)實(shí)現(xiàn)鮮血噴出的效果(見(jiàn)圖8-9)。