0
我做了如下轉變:GL數學:GLM旋轉功能旋轉整個座標系
// Translate my cube to origin
myCubeModelMatrix = glm::translate(myCubeModelMatrix, vec3(-pos.x, -pos.y , -pos.z)) ;
// Rotate cube about Y axis
myCubeModelMatrix = glm::rotate(myCubeModelMatrix , vec3(0,1,0)) ;
// Translate back to original position
myCubeModelMatrix = glm::translate(myCubeModelMatrix, vec3(pos.x, pos.y , pos.z)) ;
問題:
第二步,在那裏我旋轉立方體,它的實際旋轉整個座標系統。因此,第三步不能將我的魔方恢復到原來的位置。繞Y軸後0,0,0
位置::
觀測輸出:
立方體的初始位置:翻譯到原點之後 X,Y,Z
位置 0 「試圖」 後0,0
位置平移回原來的位置: SomeOtherX,Y,SomeOtherZ
請注意,在最終反向平移後,X和Z座標現在與原始座標不同,而Y座標與原始座標相同。所以我的推論是圍繞Y軸的旋轉實際上旋轉了整個座標系,因此X和Z已經改變,但是Y沒有改變。
我在這裏做錯了什麼?如果旋轉做到這一點,我所有的任意軸旋轉將失敗。
這個問題是離題,因爲它涉及到數學,而不是編程。 – 2014-10-04 11:05:56
這個問題是關於一個流行的數學庫如何表現。數學在這裏很明顯。 – 2014-10-04 11:08:33
@sanjeevmk:如果數學對你很清楚,你就不會按錯誤的順序來乘以這些矩陣:) – derhass 2014-10-04 12:37:16