public Vector Add(Vector r)
{
return new Vector(X + r.X, Y + r.Y, Z + r.Z);
}
public static Vector operator+(Vector v1, Vector v2)
{
return v1.Add(v2);
}
重載二元的加法操作符+時(shí),會(huì)自動(dòng)重載+=。同理也適用于*=和/=。
圖8-4顯示了將兩個(gè)向量加到一起后的結(jié)果。當(dāng)試圖在3D空間中得到特定的偏移值時(shí),經(jīng)常把兩個(gè)向量加到一起。例如,假設(shè)想要在玩家頭頂放置一個(gè)3D光環(huán)模型。玩家的原點(diǎn)在一只腳的中間。使用一個(gè)向量表示從玩家的腳到玩家頭部的中央[0,1.75,0]之間的偏移。如果添加一個(gè)向量[0,0.2,0],這可以得到一個(gè)非常適合放置光環(huán)的位置。圖8-5顯示了這個(gè)操作。