中講了利用向量方向的性質來解決問題。這篇部落格將繼續用乙個簡單的小例子來講解如何將向量的點乘性質應用到實際的遊戲開發中。
向量點乘的幾何定義
設二維空間內有兩個向量u和v,它們的夾角為θ([0, π]),則內積定義為以下實數:
向量點乘的公式:u·v = |u||v|cosθ
根據該公式可以退到下面五條結論:
1. **u·v** > 0,表示向量**u**和**v**之間的夾角小於90度(銳角)2. **u·v** < 0,表示向量**u**和**v**之間的夾角大於90度(鈍角)3. **u·v** = 0,表示向量**u**和**v**之間的夾角為90度(相互垂直)4. **u·v** = 1,表示向量**u**和**v**的方向相同5. **u·v** = -1,表示向量**u**和**v**的方向相反
關於向量點乘的其他定義、規律以及應用有興趣的朋友可以參考向量點乘的應用情景
向量點乘如何判斷乙個物體在另乙個物體的的前面還是後面呢?在《3d數學基礎:圖形與遊戲開發》這本書中對這點做了很好的解釋。下面貼出書中原話:
既然能判斷前面還是後面,當然也能判斷左邊還是右邊了,只是選擇的方向向量不同而已,這裡留給讀者自己思考。
Redis 在遊戲開發中的應用
redis是乙個新興的nosql資料快取元件,與memcache類似,但是功能卻比memcache多一些。首先,redis和memcache都是基於記憶體的,所以讀取和寫入速度都非常快。但是memcache只支援簡單的key value資料的儲存方式,而redis對key value hash,li...
Rectangle物件在遊戲開發中的應用2
上一次發了rectangle物件的應用 覺得有必要補充一下,希望朋友們活學活用 應用三 對兩個並不存在的物件進行碰撞檢測 有的時候你想進行碰撞的兩個物體並不存在,那麼我們就無法通過正常的hittest手段檢測兩個物體是否發生了碰撞。這個時候通過rectangle物件無疑是最方便的。下面舉出兩個例子來...
springboot(二) 在Web中開發應用
springboot中靜態資源訪問 在開發web應用的時候,需要引用大量的js css 等靜態資源。spring boot預設提供靜態資源目錄位置需置於classpath下,目錄名需符合如下規則 static public resources meta inf resources 啟動程式後訪問路徑...