2018年10月21日 星期日

Quad tree path finding (3)

路徑修剪





Quad tree path finding (2)

黃色是Outer Node
紅色是Inner Node

檢查兄弟節點間是不是可以建立連通
(黃色和黃色才可以相連)



Quad tree path finding (1)


使用quad tree 產生尋路資料

如果黃色小格有和綠色矩形相交
或是黃色小格裡有綠色矩形就把黃色小格1分為4

黃色小格是可走區域,紅色小格不能走

建立小格之間的連通


圖ConnectHelper

粉紅色垂直方向上的連通,水籃色是水平方條的連通

2018年10月14日 星期日

世界World、點Point、向量Vector

P = Q + aX + bY



以世界為基準,定義座標系M



進行座標變換



矩陣連鎖



local to world



world to local



左手的世界 VS 右手的世界 ( GLM Math LookAtLH 和 LooAtRH 的使用方式 )


(圖1)

圖1右上區塊的詳細過程,可以參考圖5

/////////////////////////////////////////////////////////////////////////////

(圖2)

/////////////////////////////////////////////////////////////////////////////

(圖3)

/////////////////////////////////////////////////////////////////////////////


再看一次第1張圖的右下角(下圖的X),和第2張圖的左下角(下圖的O)
(把它們同時畫在下圖)
會發現它們其實就像在鏡子的兩端
這是因為
左手座標的世界和右手座標的世界,其實是同時存在的 !
(差別我們選擇z軸出現在x軸和y軸的那1邊)

選擇投影矩陣,就相當於選擇camera的z軸出現在camera的x軸、y軸的那1邊
而這也會間接影響到世界的3軸

(圖4)

在O的情況,選擇右手投影矩陣,投影的結果,世界的三軸是右手座標
在X的情況,選擇左手投影矩陣,投影的結果,世界的三軸是左手座標

再重看一次第3張圖的左半邊 (也就是第1張圖的右上)
原本在左手世界選擇右手投影,會讓世界三軸變成右手 (圖5的上半部)
所以又乘上1個將z變成-z的矩陣,把世界三軸修正回了左手 (圖5的下半部)

(圖5)