日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

[OpenGL]OpenGL几何变换的秘密(模型变换、视点变换、全局变换、局部变换)

發(fā)布時(shí)間:2024/5/14 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [OpenGL]OpenGL几何变换的秘密(模型变换、视点变换、全局变换、局部变换) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.模型變換(Model transformation)---- 視點(diǎn)不變,變物體

我們?cè)贠penGL中通過(guò)定義一組頂點(diǎn)來(lái)定義一個(gè)模型,我們遇到的平移、縮放、旋轉(zhuǎn)等變換都可以理解為模型變換,視點(diǎn)不變,主要對(duì)物體進(jìn)行操作。

在OpenGL中,我們使用glMatrixMode(GL_MODELVIEW)來(lái)處理模型變換,我們知道OpenGL使用堆棧管理矩陣,所以我們有不同的堆棧進(jìn)行管理,有模型變換矩陣堆棧,視點(diǎn)變換矩陣堆棧,還有紋理變換矩陣堆棧等等,這句話就是告訴OpenGL,我們要處理模型變換。

2.視點(diǎn)變換(View transformation)---- 物體不變,變視點(diǎn)

OpenGL成像主要是采用虛擬相機(jī)模型,在場(chǎng)景中我們通過(guò)模型變換,將物體放在場(chǎng)景中不同的位置,最終哪些部分需要顯示在屏幕上,主要是由視點(diǎn)變換、投影變換等決定。視點(diǎn)變換階段,我們通過(guò)假想的相機(jī)來(lái)處理矩陣計(jì)算。,所謂的視點(diǎn)空間,視點(diǎn)坐標(biāo)系都是為了方便處理,引入的坐標(biāo)空間。
在OpenGL中,我們主要使用

gluLookAt(eyex,eyey,eyez,centerx,centery,centerz,upx,upy,upz)

來(lái)達(dá)到模擬物體不動(dòng),變換視點(diǎn)的效果

總結(jié)
其實(shí)兩者本質(zhì)上是一樣的,gluLookAt()還是只是計(jì)算出了一個(gè)變換矩陣


3.全局變換和局部變換

大致先解釋一下:
①全局變換主要是在全局坐標(biāo)系,也叫世界坐標(biāo)系中進(jìn)行變換,基本是定死的,如下圖的第一行變換就是全局變換,正方形在xyz坐標(biāo)系中,先想(10,0,0)方向平移10,再繞z軸旋轉(zhuǎn)45°
②局部變換主要是在局部坐標(biāo)系,也叫模型坐標(biāo)系,就是字面意思模型自己的坐標(biāo),如下圖第二行,第三行變換,當(dāng)我們以局部坐標(biāo)系對(duì)正方形進(jìn)行先平移,后旋轉(zhuǎn)的操作時(shí),會(huì)發(fā)現(xiàn)和全局變換的結(jié)果有區(qū)別,但是當(dāng)我們反過(guò)來(lái),先旋轉(zhuǎn),再平移變換,所達(dá)到的結(jié)果和全局變換的效果一致

總結(jié):
(1)如果只有一次變換(旋轉(zhuǎn)、平移。縮放),那么全局變換和局部變換效果一樣
(2)如果是多個(gè)變化的組合,全局變換和局部變換效果不同
(3)局部變換的結(jié)果正好相當(dāng)于組合順序相反的全局變換


看到這,相信很多人都會(huì)覺(jué)得那為什么要有局部變換呢?全部都用全局變換就好了,為什么這么麻煩呢?
個(gè)人理解:全局變換適用于整個(gè)模型的變換,當(dāng)我們涉及到模型的部分組件變換的時(shí)候,以模型坐標(biāo)系作為變換的計(jì)算更為便捷。例如:當(dāng)我們場(chǎng)景中有一個(gè)機(jī)器人時(shí),機(jī)器人整體的行走,跑動(dòng)等位移,我們可以用全局變換,去看機(jī)器人跑動(dòng)了多遠(yuǎn),但是當(dāng)機(jī)器人跑動(dòng)的時(shí)候,手臂,腳的擺動(dòng)角度,高度這些,我們?nèi)绻萌肿儞Q去計(jì)算會(huì)變得非常麻煩,但是當(dāng)我們以模型坐標(biāo)系去定位,機(jī)器人手腳的位置,這樣的計(jì)算就相對(duì)來(lái)說(shuō)會(huì)變的簡(jiǎn)單不少

總結(jié)

以上是生活随笔為你收集整理的[OpenGL]OpenGL几何变换的秘密(模型变换、视点变换、全局变换、局部变换)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。