Opengl :公转与自转
生活随笔
收集整理的這篇文章主要介紹了
Opengl :公转与自转
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
首先opengl 的模型視圖 其實(shí)就是一個(gè)變換矩陣,這個(gè)變換矩陣 講視圖變換和模型變換綜合到了一起,最后形成一個(gè)變換矩陣,乘以模型的局部坐標(biāo)點(diǎn)就可以得到在相機(jī)眼中的位置。
理解opengl的公轉(zhuǎn)和自傳首先要理解opengl的關(guān)于矩陣變換函數(shù)。
從上面opengl指南中我們可以發(fā)現(xiàn)就是先乘的矩陣(先寫出來的矩陣變化代碼)實(shí)際上在最后的計(jì)算中是最后乘的。
接下來看兩個(gè)變換代碼:
上面這個(gè)代碼雖然旋轉(zhuǎn)函數(shù)寫先出來,但是實(shí)際上是最后乘的,在變換矩陣中先做了平移變換得到一個(gè)坐標(biāo),最后對(duì)這個(gè)坐標(biāo)在世界坐標(biāo)系下旋轉(zhuǎn),實(shí)際上就是公轉(zhuǎn)。
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();這一段代碼剛好相反,先寫的平移再寫的旋轉(zhuǎn),但是實(shí)際上執(zhí)行時(shí)是先旋轉(zhuǎn)再平移,最后看到的效果就是自轉(zhuǎn)。
總結(jié)
以上是生活随笔為你收集整理的Opengl :公转与自转的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CImage GetBits()和像素存
- 下一篇: Visual Studio内存泄漏检测