2
我在OpenGL中編寫項目,翻譯和旋轉模型視圖矩陣後,確定對象的位置時遇到了問題。 爲了想象這一點,想象地球如何圍繞太陽旋轉,基本上,我需要在運行時確定地球的位置。確定旋轉對象的位置
我會分我的代碼放到了幾步,假設我們是在開始的(0,0,0)的位置和我們的旋轉等於0
while(true)
{
modelViewMatrix.PushMatrix(); //
modelViewMatrix.Translate(1, 1, 0); // 1
modelViewMatrix.Rotate(k++, 0, 1, 0); // 2
object.Draw(); // 3
modelViewMatrix.PopMatrix(); //
}
1 - 此時位置確定是容易的,它是(1,1,0)
2 - 現在,我們在一些不斷遞增值旋轉物體保持它周圍的位置移動(0,0,0)
3 - 繪製對象
現在我知道modelViewMatrix存儲旋轉和位置等信息,但我不知道如何利用它來翻譯和旋轉後找出我的物體的實際位置。
這裏是我試圖描繪我正在談論的內容,紅色問號(?)表示我試圖找到的對象的示例位置。
啊,解決方案非常接近!我曾經有過這樣的想法:「不管我只是乘以m * v而且那會是位置」,但是我放棄了這個想法,現在它變成了解決方案!謝了哥們! :) – 2015-01-09 20:41:50
很高興它的工作。肯定會閱讀這些矩陣 - 理解它們真的很好。 – mbgda 2015-01-09 20:54:05