




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、標(biāo)準(zhǔn)的繪制流程由一系列計(jì)算組成輸入是:多邊形輸出是保存在緩沖區(qū)的圖像主要涉及的操作是:三維變換與光照!OriginalRotationUniform ScaleNonuniform ScaleShearImages from Conan The Destroyer, 1984利用平移矩陣,將點(diǎn)V=(x,y,z)T平移至V=(x+Tx,y+Ty,z+Tz)T處,表示為V=V+T利用縮放矩陣,將點(diǎn)V=(x,y,z)T縮放(d1,d2,d3)倍其中對(duì)角線上的元素表示對(duì)應(yīng)坐標(biāo)系分別放大(di1)或者縮小了(di1)的量二維旋轉(zhuǎn)隱含著繞平面軸旋轉(zhuǎn)二維旋轉(zhuǎn)隱含著繞平面軸旋轉(zhuǎn)cossinsincosRcos
2、sin0sincos0001Rcossin0sincos0001zRcos0sin010sin0cosyR1000cossin0sincosxR“Z 正對(duì)面”可以由軸平行旋轉(zhuǎn)復(fù)合而得可以用歐拉角表示(非唯一)也可以用四元數(shù)表示 zyxRRRRrot( , , )x y zR zyxRRRR矩陣復(fù)合可完成對(duì)空間點(diǎn)的任意操作矩陣乘法不滿足交換率,因此復(fù)合的次序非常重要!例如:先縮放后平移先平移后縮放通常情況下,給出的旋轉(zhuǎn)矩陣是繞原點(diǎn)旋轉(zhuǎn)的。因此首先要將物體平移至原點(diǎn),進(jìn)行旋轉(zhuǎn),再平移回來。適合于人體動(dòng)畫Mike Marr, COS 426,Princeton University, 1995單個(gè)物
3、體可能在場(chǎng)景出現(xiàn)多次三維數(shù)據(jù)可以配備多個(gè)變換建模時(shí)所采用的坐標(biāo)系選取物體上或靠近物體的某一點(diǎn)作為原點(diǎn),物體上的其他點(diǎn)相對(duì)于該點(diǎn)的坐標(biāo)進(jìn)行表示針對(duì)物體的局部坐標(biāo)系舉例:選取立方體的某一個(gè)頂點(diǎn)作為原點(diǎn),建立局部坐標(biāo)系 y z x 全局坐標(biāo)系所有物體組成一個(gè)場(chǎng)景,場(chǎng)景坐標(biāo)系稱為世界坐標(biāo)系所有物體必須變換至該坐標(biāo)系,以確定彼此之間的相對(duì)空間位置將物體放至場(chǎng)景內(nèi)等價(jià)于定義一個(gè)從物體局部坐標(biāo)系至世界坐標(biāo)系的變換矩陣場(chǎng)景需要定義光照照相機(jī)坐標(biāo)系統(tǒng)決定照相機(jī)參數(shù)和可見域必須包括 視點(diǎn)位置 視線 視點(diǎn)坐標(biāo)系 投影平面 視域 其他(可選)Eye position(focal point) View plane世界
4、坐標(biāo)系相機(jī)矩陣相機(jī)矩陣投影矩陣投影矩陣相機(jī)坐標(biāo)Device coordinates視區(qū)矩陣視區(qū)矩陣窗口坐標(biāo)物體坐標(biāo)模型矩陣模型矩陣ModelView 變換變換局部物體坐標(biāo)世界坐標(biāo)相機(jī)坐標(biāo)設(shè)備坐標(biāo)窗口坐標(biāo)系統(tǒng)投影與裁剪將局部坐標(biāo)系變換到世界坐標(biāo)系包括縮放、旋轉(zhuǎn)、平移等將世界坐標(biāo)系中的一點(diǎn)變換至照相機(jī)坐標(biāo)系可以分成平移和旋轉(zhuǎn)兩部分視域、投影方式、屏幕分辨率投影物體首先與視域求交決定可見部分平行投影平行投影透視投影透視投影將多邊形的朝向與視點(diǎn)或投影中心相比較,去除那些不可見多邊形可見性測(cè)試在視見空間內(nèi)進(jìn)行。計(jì)算每一個(gè)多邊形的法向,并檢查法向與視線方向點(diǎn)積后值的符號(hào)當(dāng)且僅當(dāng)視域體內(nèi)的物體將被投影.決定
5、物體的哪一部分將被投影,哪一部分被剔除的過程叫做裁剪.Z=0 plane將物體從世界坐標(biāo)系變換至屏幕坐標(biāo)系,可以看成是:將物體首先作相機(jī)變換,再作透視變換:一般還需要一個(gè)視區(qū)(視口)變換(viewport transformation)將視域歸一化視域與物體求交,求交后的物體投影,并按照相應(yīng)的視見區(qū)域大小xmin,xmax、 ymin,ymax、 zmin,zmax進(jìn)行縮放相機(jī)變換: 指定照相機(jī)位置和方向(也叫照相機(jī)坐標(biāo)系統(tǒng))模型變換: 將物體在場(chǎng)景中移動(dòng),也可以視為從局部坐標(biāo)系到全局坐標(biāo)系ModelView變換: 相機(jī)變換和模型變換的混合.投影變換: 定義視域體并指向投影視區(qū)變換: 將二維投
6、影后的場(chǎng)景變換到繪制窗口.一系列變換的合成可通過矩陣的嵌套完成關(guān)于任意一點(diǎn)的縮放:關(guān)于任意軸的旋轉(zhuǎn)12311231121.).().)(.(TTTTTTPTPTTTTTPTTTTQnnnnnn)()()()()(yzxzyLRRRRRR),(),(),(zyxzyxzyxdddTsssSdddTModelView變換式建模矩陣M和相機(jī)變換V的乘積 C = VM所有在OpenGL中的變換函數(shù)只能設(shè)置modelview 矩陣. 因此, ModelView 在物體被操作之前被調(diào)用.例如: glMatrixMode (GL_MODELVIEW); glLoadIdentity (); glScalef
7、 (2.0f, 2.0f, 2.0f); DrawScene ();矩陣堆棧的頂部矩陣就是當(dāng)前的ModelView 矩陣 (C). glPushMatrix (): 將當(dāng)前的矩陣加入到矩陣堆棧glPopMatrix (): 將頂部矩陣刪除,并將所有其他矩陣往上移動(dòng)一位。矩陣堆棧的好處:允許一系列位置(代表了坐標(biāo)系統(tǒng))保留下來,并在需要的時(shí)候使用它們。M1M2M3Transform demo建模變換: glLoadIdentity : C I glLoadMatrix(m) : C m glMultiMatrix(m) : C C m glRotatef(q,x,y,z) : C C RL(q)
8、 glTranslatef(x,y,z) : C C T(x,y,z) glScalef(x,y,z) : C C S(x,y,z)最后定義的變換最先被執(zhí)行.照相機(jī)坐標(biāo)系統(tǒng): 也叫視點(diǎn)坐標(biāo)系統(tǒng)或者視見坐標(biāo)系統(tǒng). 它表示了在照相機(jī)后面看場(chǎng)景的坐標(biāo)關(guān)系。X-Y平面是投影面(也叫平面) ,照相機(jī)一般往負(fù)z方向看。相機(jī)變換的兩種方法保持相機(jī)不變,將物體(在世界坐標(biāo)系統(tǒng)中)繞著相機(jī)旋轉(zhuǎn)。保持物體不變,將相機(jī)在世界坐標(biāo)系統(tǒng)中變換。相機(jī)變換是物體變換的逆變換。yxz-zeye將相機(jī)放置到世界坐標(biāo)系統(tǒng)中定義相機(jī)變換 glMatrixMode (GL_MODELVIEW); glLoadIdentity ();
9、 gluLookAt (eye.x, eye.y, eye.z, look.x, look.y, look.z, up.x, up.y, up.z);upeyelookYZXWCSxyzP0Q0VCS),(),( 1000neyeveyeueyedddwherednnndvvvduuuVzyxzzyxyzyxxzyx坐標(biāo)系統(tǒng), 形成了.:,eyen , v , uunvnupulookeyenvun-neyelook相機(jī)變換:Void DisplayScene () glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0f, 0.0f, 0.0f); glL
10、oadIdentity (); gluLookAt (0.0, 0.0, 10.0, 0.0, 0.0, -100.0, 0.0, 1.0, 0.0); glBegin (GL_TRIANGLE); glVertex3f (10.0f, 0.0f, 0.0f); glVertex3f (0.0f, 10.0f, 0.0f); glVertex3f (-10.0f, 0.0f, 0.0f); glEnd(); glFlush ();gluLookAt 函數(shù)顯式地定義相機(jī)。另外一種方法式將場(chǎng)景進(jìn)行旋轉(zhuǎn)(glRotate)和平移(glTranslate) 同時(shí),將相機(jī)置于缺省的世界坐標(biāo)系統(tǒng).旋轉(zhuǎn)和平
11、移的累積效果構(gòu)成了最終的相機(jī)變換. 當(dāng)然, glTranslate 和 glRotate也可用作其他用途/viewing a scene centered at origin from +X direction:Void DisplayScene () glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0f, 0.0f, 0.0f); glLoadIdentity (); glTranslatef (0.0, 0.0, -10.0); glRotatef (-90.0, 0.0, 1.0, 0.0); / glBegin (GL_TRIANGLE); gl
12、Vertex3f (10.0f, 0.0f, 0.0f); glVertex3f (0.0f, 10.0f, 0.0f); glVertex3f (-10.0f, 0.0f, 0.0f); glEnd(); glFlush ();投影變換設(shè)置視域體,從而定義裁剪面和投影矩陣以及投影方式。投影矩陣在ModelView矩陣之后被實(shí)行,因此,視域體是定義在相機(jī)坐標(biāo)系統(tǒng)中的。透視投影與平行投影定義正交視域體: glOrtho (left, right, bottom, top, near, far); 或者: glOrtho2D (left, right, bottom, top);定義投影矩陣: g
13、lMatrixMode (GL_PROJECTION); glLoadIdentity ( ); glOrtho (left, right, bottom, top, near, far)YZX成像平面視域體VCS(Left, righ, bottom, top) 定義視域體的最小、最大的 X 和Y坐標(biāo); (near, far) 定義視域體的近和遠(yuǎn)平面到X-Y平面的距離.視域四堎錐的定義: glFrustum (left, right, bottom, top, near, far)視域體的形成是:將原點(diǎn)與前面的四個(gè)頂點(diǎn)連接起來,并由Z方向的近平面和遠(yuǎn)平面限制。YZX成像平面視域四堎錐原點(diǎn)投影
14、矩陣 glMatrixMode (GL_PROJECTION); glLoadIdentity (); glFrustum (left, right, bottom, top, near, far)視域體的定義 glMatrixMode (GL_PROJECTION); glLoadIdentity (); gluPerspective (angle, aspect, near, far)YZXangle: y方向張的視角aspect: 方正率 (成像平面的寬度/高度).Vvv demo視區(qū)是窗口的繪制區(qū)域,特殊的視區(qū)是全屏幕缺省視區(qū)是窗口本身視區(qū)矩陣將投影后的成像平面投到視區(qū) glViewport (GLint left, GLint bottom, GLint width, GLint height)(left, bottom, width, height) 定義在窗口系統(tǒng)中(象素級(jí))窗口窗口視區(qū)視區(qū)(left, bottom)(right, top)可隨意裝入矩陣: GLfloat m16 = 1.0, 0.0, 0.0, ; glLoa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- YC/Z 604-2023卷煙產(chǎn)品條、箱包裝規(guī)格技術(shù)指南
- 菠蘿蛋白酶的制備Preparationofbromelai
- 氨基苷類藥物分析13課件
- 考研復(fù)習(xí)-風(fēng)景園林基礎(chǔ)考研試題帶答案詳解(新)
- 《三級(jí)醫(yī)院評(píng)審標(biāo)準(zhǔn)(2025年版)》
- 2023年上海市上海市普陀區(qū)宜川路街道招聘社區(qū)工作者真題附帶題目詳解
- 2025-2026年高校教師資格證之《高等教育法規(guī)》通關(guān)題庫附參考答案詳解(突破訓(xùn)練)
- 2025年河北省定州市輔警招聘考試試題題庫附答案詳解(鞏固)
- 2025年Z世代消費(fèi)趨勢(shì)與品牌創(chuàng)新營(yíng)銷模式研究報(bào)告
- 2024年演出經(jīng)紀(jì)人之演出經(jīng)紀(jì)實(shí)務(wù)真題【考點(diǎn)梳理】
- 2025年廣西壯族自治區(qū)普通高中學(xué)業(yè)水平合格性考試生物模擬二 (含答案)
- 佛山市順德區(qū)人才發(fā)展服務(wù)中心招考4名工作人員易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年基金與投資管理考試試卷及答案
- 2025年河北省中考乾坤押題卷物理試卷B及答案
- 2023年廣東初中學(xué)業(yè)水平考試生物試卷真題(含答案)
- GB/T 18926-2008包裝容器木構(gòu)件
- 安徽省工傷職工停工留薪期分類目錄
- 氬弧焊作業(yè)指導(dǎo)書(共22頁)
- 通道縣生物多樣性調(diào)查
- 假發(fā)行業(yè)英語術(shù)語整理
- 常用扣型總結(jié)
評(píng)論
0/150
提交評(píng)論