2013-03-25 95 views
0

我有一系列轉換將我的對象放在其他地方。我手動爲GL/ES中的可編程管道乘以這些轉換。我繞着遙遠的任意點旋轉,並且還在翻譯,雖然我沒有任何困難讓我的對象最終定位在我想要的位置,但我想知道如何在這些位置之後提取其位置的最終3D矢量座標轉換。獲取矢量座標後矩陣乘法

this question建議的一個選項是簡單地將您的起始位置乘以最終矩陣,並將該結果向量保留爲最終座標。如果是這樣,那麼在這些轉換之前我用什麼向量表示我的對象的原點?因爲將矩陣乘以我的原點(0,0,0)只會產生一個零向量。

回答

0

該解決方案非常簡單。

如果我有一個矩陣M這是所有的矩陣乘法創建的最終轉型,那麼我就可以通過簡單地找到M轉化對象的中心:

M * vector(0,0,0,1) // creates a 4D vector, where the first three, x,y,z are the coordinates 

這是很容易done manually在碼。

問題缺失的關鍵部分是用於該乘法的確切向量。

+0

其結果只是矩陣的第4列... – JasonD 2013-03-25 10:00:11

+0

沒錯!感謝您指出了這一點。或者如果使用行向量和行主定向,則矩陣的第4行。 – johnbakers 2013-03-25 10:04:22