Opengl :公转与自转
生活随笔
收集整理的這篇文章主要介紹了
Opengl :公转与自转
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先opengl 的模型視圖 其實就是一個變換矩陣,這個變換矩陣 講視圖變換和模型變換綜合到了一起,最后形成一個變換矩陣,乘以模型的局部坐標點就可以得到在相機眼中的位置。
理解opengl的公轉和自傳首先要理解opengl的關于矩陣變換函數。
從上面opengl指南中我們可以發現就是先乘的矩陣(先寫出來的矩陣變化代碼)實際上在最后的計算中是最后乘的。
接下來看兩個變換代碼:
上面這個代碼雖然旋轉函數寫先出來,但是實際上是最后乘的,在變換矩陣中先做了平移變換得到一個坐標,最后對這個坐標在世界坐標系下旋轉,實際上就是公轉。
glPushMatrix(); // glRotatef ((GLfloat) year, 0.0, 1.0, 0.0);glTranslatef (2.0, 0.0, 0.0);glRotatef ((GLfloat) day, 0.0, 1.0, 0.0);glutWireSphere(0.2, 5, 5); /* draw smaller planet */glPopMatrix();這一段代碼剛好相反,先寫的平移再寫的旋轉,但是實際上執行時是先旋轉再平移,最后看到的效果就是自轉。
總結
以上是生活随笔為你收集整理的Opengl :公转与自转的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CImage GetBits()和像素存
- 下一篇: Visual Studio内存泄漏检测