您現在的位置是:首頁 » python編程資訊
資訊內容
用python和pygame游戲編程入門-認識向量
極客小將2020-10-28-
向量的表示和坐標很像,(10,20)對坐標而言,就是一個固定的點,然而在向量中,它意味著x方向行進10,y方向行進20,所以坐標(0,0)加上向量(10,20)后,就到達了點(10,20)。
我們先考慮二維的向量,向量的表示和坐標很像,(10,20)對坐標而言,就是一個固定的點,然而在向量中,它意味著x方向行進10,y方向行進20,所以坐標(0,0)加上向量(10,20)后,就到達了點(10,20)。
向量可以通過兩個點來計算出來,如下圖,A經過向量AB到達了B,則向量AB就是(30, 35) – (10, 20) = (20, 15)。我們也能猜到向量BA會是(-20, -15),注意向量AB和向量BA,雖然長度一樣,但是方向不同。
向量運算
我們觀察下圖,點A出發,通過向量AB到達B點,B通過BC到達C;由A出發的話,經向量AC就直接到達C。
由此我們得到一個顯而易見的結論向量AC = 向量AB + 向量BC。向量的加法計算方法呼之欲出:
(20, 15) + (-15, 10) = (20-15, 15+10) = (5, 25)
把各個方向分別相加,我們就得到了向量的加法運算法則。很類似的,減法也是同樣,把各個方向分別想減。
有加減法,那乘除法呢?
用一個向量來乘(除)一個數,其實際意義就是,向量的方向不變,而大小放大(縮小)多少倍。
向量的運算被廣泛的用來計算到達某個位置時的中間狀態,比如我們知道一個角色從A到B,中間有10幀,那么很顯然的,把向量通過(B-A)/10計算出來,每次將角色移動到當前位置就可以了,很簡單吧?
本站部分內容轉載自網絡,如有侵權請聯系管理員及時刪除。
