基于OpenGL的三維仿真技術(shù)研究獨(dú)家優(yōu)秀】
《基于OpenGL的三維仿真技術(shù)研究獨(dú)家優(yōu)秀】》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于OpenGL的三維仿真技術(shù)研究獨(dú)家優(yōu)秀】(47頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
目錄 第一章 緒論 . 1 究背景和意義 . 1 內(nèi)外 3D 仿真技術(shù)應(yīng)用 . 1 外研究現(xiàn)狀 . 1 內(nèi)研究現(xiàn)狀 . 2 D 仿真技術(shù)的應(yīng)用發(fā)展 . 2 術(shù)簡(jiǎn)介 . 2 展歷程 . 3 術(shù)特點(diǎn) . 4 要研究?jī)?nèi)容 . 4 第二章 三維仿真基礎(chǔ)理論 . 6 維圖形學(xué)基礎(chǔ) . 6 . 6 量 . 6 陣 . 7 礎(chǔ)原理 . 7 據(jù)類型 . 7 作方式 . 7 狀態(tài)機(jī) . 8 染管線 . 9 標(biāo)變換 . 9 標(biāo)系統(tǒng) . 10 點(diǎn)變換 . 10 型變換 . 11 影變換 . 11 口變換 . 13 第三章 程原理 . 14 染環(huán)境搭建 . 14 制的圖形輸出為位圖 . 15 本圖元繪制 . 16 照和材質(zhì) . 17 照 . 17 質(zhì) . 18 場(chǎng)景中添加光線的步驟 . 18 示列表 . 20 配顯示列表編號(hào) . 20 建顯示列表 . 21 用顯示列表 . 21 毀顯示列表 . 22 理貼圖 . 23 建紋理圖像 . 23 理纏繞 . 25 理對(duì)象 . 26 貼圖紋理 . 27 游 . 27 第四章 充電車仿真系統(tǒng)程序 . 30 統(tǒng)簡(jiǎn)介 . 30 序模塊和流程圖 . 31 體流程圖 . 31 示模塊 . 32 據(jù)接口模塊 . 32 撞檢測(cè)模塊 . 33 跡顯示模塊 . 34 度調(diào)控模塊 . 34 序運(yùn)行結(jié)果 . 35 結(jié) . 37 第五章 總結(jié)和展望 . 38 結(jié) . 38 望 . 38 參考文獻(xiàn) . 40 致謝 . 42 附錄 . 43 I 摘 要 近幾年,電影院真實(shí)的 3D 場(chǎng)景,游戲中炫酷的特效,海外旅行,戰(zhàn)斗機(jī)虛擬演習(xí),設(shè)計(jì)模擬展示等等都是三維仿真的魔力展現(xiàn)。三維仿真一直都是一個(gè)有趣的領(lǐng)域。它被廣泛的應(yīng)用到計(jì)算機(jī)可視化、軍事仿真、虛擬漫游、以及商務(wù)虛擬展示等領(lǐng)域。 本文研究了基于 3D 仿真技術(shù),包括 程序框架構(gòu)建,基本坐標(biāo)系統(tǒng)、三維圖形的原理、三維矩陣的變換、渲染交互理論以及三維模型的導(dǎo)入等,構(gòu)建了一個(gè)充電 車兩車對(duì)接充電的過程,真實(shí)的模擬了兩車在真實(shí)環(huán)境下對(duì)接的各種可能情況,詳細(xì)計(jì)算了充電和碰撞距離,以及充電過程,大大減少了充電車檢測(cè)的成本和時(shí)間。該系統(tǒng)不僅可以實(shí)時(shí)接收真實(shí)的汽車的速度和角度數(shù)據(jù),用以充電車進(jìn)行跟蹤循跡至待沖車輛,還利用軌跡球技術(shù)實(shí)現(xiàn)角度調(diào)控模塊,可以任意模擬充電對(duì)接的角度用以測(cè)量預(yù)估充電的安全性和穩(wěn)定性,確立最佳的充電位置。該系統(tǒng)將輔助科技設(shè)計(jì)開發(fā)者更便捷、安全的完成產(chǎn)品的設(shè)計(jì)和檢測(cè),大大推進(jìn)了三維仿真技術(shù)在工業(yè)和環(huán)保事業(yè)中等的應(yīng)用。 關(guān)鍵詞: 3D 仿真 程 漫游 n D in in so is an It is to on D of to in to in is to of he of to of in 3D 第 1 頁 第一章 緒論 本章共 3 小節(jié),分別講述了本系統(tǒng)的研究背景和意義,簡(jiǎn)單介紹了國內(nèi)外三維仿真技術(shù)的現(xiàn)狀和發(fā)展趨勢(shì),描述了系統(tǒng)采用的 維仿真技術(shù)的基本概況和發(fā)展歷程。 究背景和意義 3D 虛擬仿真是利用 3D 技術(shù)和網(wǎng)絡(luò)技術(shù)來真實(shí)體現(xiàn)現(xiàn)實(shí)場(chǎng)景,它具有真實(shí)性、可操作性和簡(jiǎn)單重復(fù)性等特征,能夠模擬現(xiàn)實(shí)世界,幫助用戶構(gòu)造虛擬世界操作從而減少實(shí)際的實(shí)驗(yàn)成本和危險(xiǎn)。 隨著三維仿真技術(shù)的發(fā)展成熟,越來越多的工業(yè)設(shè)計(jì)等開始使用三維仿真技術(shù)進(jìn)行前期的設(shè)計(jì)實(shí)驗(yàn),大大減少了實(shí)際開發(fā)的成本和實(shí)際,同時(shí)提高了設(shè)計(jì)的可靠 性。石油能源的緊缺,環(huán)境污染的嚴(yán)重使汽車能源向電能以及新能源的轉(zhuǎn)型,當(dāng)今電池車的技術(shù)日漸成熟,比如硅谷誕生的“特斯拉”電池車性能良好,深受大眾喜愛,但是充電卻成為了其推廣的最大阻礙。修建充電樁的成本很高,為了達(dá)到使用方便,必須短距離就建立一個(gè)充電樁。但是如果把充電樁變成移動(dòng)式的充電車就將大大減少成本,使環(huán)保的電池車成為馬路“環(huán)保達(dá)人”! 內(nèi)外 3D 仿真技術(shù)應(yīng)用 外研究現(xiàn)狀 近幾年深入研究 3D 仿真技術(shù)的國外公司已經(jīng)趨近成熟,并且將 3D 仿真技術(shù)應(yīng)用在各個(gè)領(lǐng)域。 虛擬洛杉磯( 是美國加利福尼亞大學(xué)洛杉磯分校( 于 1994 年的一個(gè)科研與運(yùn)用相結(jié)合的項(xiàng)目,計(jì)劃覆蓋面積超過 10,000平方英里,是當(dāng)今城市仿真系統(tǒng)中最成功最為復(fù)雜的系統(tǒng) 【 3】 。視景包括從洛杉磯盆地的衛(wèi)星影像到街道景觀,精確到植物、建筑物的窗口、外墻的紋理等。 費(fèi)城城市模型 ( 是由美國 司利用 件和其自我開發(fā)出來的軟件工具,在 1996 年初的開始 第 2 頁 制作,至今已經(jīng)完成費(fèi)城的中心區(qū)共 35 個(gè)街區(qū)。費(fèi)城此項(xiàng)目的主要特點(diǎn)就是將完整的費(fèi)城的模型用 據(jù)格式,通過使用 任何人都可以享受到虛擬的實(shí)時(shí)費(fèi)城旅游體驗(yàn)。城市的設(shè)計(jì)人員以及建筑師們通過 覽器可以對(duì)城市的三維景觀直觀的漫游,也可對(duì)真實(shí)的城市景觀去進(jìn)行分析,獲得精準(zhǔn)的土地以及建筑結(jié)構(gòu)這方面的相關(guān)的資料信息,大大地解決了建筑師在委托設(shè)計(jì)此項(xiàng)目時(shí)候缺乏詳細(xì)資料的問題。費(fèi)城的模型同時(shí)也提供了精確的三維地下的管線系統(tǒng),方便了城市的地下管網(wǎng)系統(tǒng)的維護(hù)以及更新,所以獲得了美國建筑師學(xué)會(huì)的 (度評(píng)價(jià)。 一家專門從事三維實(shí)時(shí)系統(tǒng)開發(fā)的美國公司,在視景仿真領(lǐng)域一直處于領(lǐng)先地位。其無與倫比的強(qiáng)大三維實(shí)體建模工具和三維地景生成工具,被公認(rèn)為是當(dāng)今最近優(yōu)秀的建模軟件。其可以滿足航海,紅外線,雷達(dá),電路網(wǎng)絡(luò),交通管理等多種模擬需求 【 5】 。 內(nèi)研究現(xiàn)狀 國內(nèi)的 3有比較先進(jìn)的 3002 年,中視典與中科院遙感所合作,成功開發(fā)出國內(nèi)第一個(gè)數(shù)字地球原型系統(tǒng),該系統(tǒng)為數(shù)字地球的研究工作提供了一個(gè)可操作的虛擬平臺(tái),已經(jīng)在能源、災(zāi)害、數(shù)字城市、數(shù)字戰(zhàn)場(chǎng)等各個(gè)方面的研究提供服務(wù),并在 02 年和 07 年國家級(jí)重點(diǎn)項(xiàng)目數(shù)字奧運(yùn)仿真中發(fā)揮了重要的作用,是相關(guān)部門指定的 08 奧運(yùn)虛擬現(xiàn)實(shí)技術(shù)服務(wù)商 【 7】 。 2010 年上海世博會(huì)中國館的動(dòng)態(tài)清明上河圖驚艷四方,他采用的 3D 仿真技術(shù)完美展現(xiàn)了古代的繁華生活,惟妙惟肖,如圖所示。 D 仿真技術(shù)的應(yīng)用發(fā)展 隨著 3D 仿真技術(shù)的日益成熟,他將越來越被應(yīng)用到生活當(dāng)中,滲透到各個(gè)方面。未來的 3D 仿真技術(shù)將會(huì)大量應(yīng)用于演示虛擬仿真,安全培訓(xùn)虛擬仿真,礦山地形演示虛擬仿真,美術(shù)館虛擬仿真,數(shù)字展館虛擬仿真 事故演練。 術(shù)簡(jiǎn)介 一個(gè)底層圖形庫規(guī)范。它為程序員提供了一個(gè)小的幾何圖元庫和一 第 3 頁 個(gè)支持 2D/3D 幾何對(duì)象繪圖命令庫,通過圖元和命令來控制對(duì)象的呈現(xiàn)(繪圖)。術(shù)適用于從普通 大型圖形工作站等各類計(jì)算機(jī),而且還可以與各種操作系統(tǒng)兼容,從而成為主導(dǎo)地位的跨平臺(tái)的專業(yè) 3D 圖形應(yīng)用開發(fā)包,進(jìn)而也成為行業(yè)標(biāo)準(zhǔn)。 語言 關(guān)系 緊密。 使程序員很容易 熟練 高的可移植性。 目標(biāo)就是作為一種獨(dú)立于硬件的接口 、 流線型的,在當(dāng)今 的 主流操作系統(tǒng) 中( T/2000/ 都有其相應(yīng)的實(shí)現(xiàn)。 但是 述 3 函數(shù) (這類函數(shù)可 以 允許你指定相對(duì)來說 較為復(fù)雜 些 的形狀、例如 飛機(jī)、 身體的某個(gè)部位、汽車、分 子 或分 機(jī) 等 )。在 須 依 據(jù)少數(shù) 的 幾個(gè)基本圖元 (例如點(diǎn)、 曲 線、 四 邊形 )來創(chuàng)建你所 想 要的模型。 為適應(yīng) 統(tǒng)下 的 序獨(dú)立編程接口需求而設(shè)計(jì)出來的,該接口被設(shè)計(jì)的簡(jiǎn)單又實(shí)用。從 移除 統(tǒng)操作是一個(gè)很英明的決定,這意味著 圖形系統(tǒng)能夠被用于更加廣泛的操作系統(tǒng)中 (包括功能很強(qiáng)大但是昂貴的圖形工作站和需大量圖形運(yùn)算地視頻游戲、個(gè)人電腦和互動(dòng)電視機(jī)的機(jī)頂盒 )。 單化了 行渲染的程序的實(shí)現(xiàn)。 展歷程 1992 年 7 月, 司首次發(fā)布了 本,后又與微軟公司合作開發(fā)了 T 版本的 而使部 分原來必須在高級(jí)圖形工作站上面運(yùn)行的大型的 3D 圖形處理軟件也能在微機(jī)上運(yùn)用。 1995 年 本,此版本較 能提高很多,同時(shí)加入了一些新功能。包括 提高頂點(diǎn)位置、色彩指數(shù)、法線、顏色、紋理坐標(biāo)、引入了新的紋理特性、多邊形邊緣標(biāo)識(shí)的傳輸速度,等等。 2003 年的 7 月份, 同公布了 括了式 擴(kuò)展規(guī)格的繪制語言即“ 乘方紋理、隱蔽 查詢、頂點(diǎn) 能等。 2004 年 8月, 本發(fā)布。 持了新的 展特性、 第 4 頁 及其他多項(xiàng)新增特性。 2008 年 作組在 008 大會(huì)上宣布了 形接口規(guī)范, 言以及其他新增功能再次為未來開放 3D 接口的發(fā)展指明方向。 2011 年 8 月 9 日,于溫哥華舉行的 011 大會(huì)上, 布了最新的 準(zhǔn),對(duì)于支持的現(xiàn)有硬件的 入了一些新的支持特性。同樣, 要應(yīng)用在 別硬件(如 D 5000/6000,00/500 系列顯卡),不過 開發(fā)者社區(qū)曾經(jīng)表示,部分特性可以通過擴(kuò)展功能在最老支持 別的硬件上實(shí)現(xiàn)。 術(shù)特點(diǎn) 為當(dāng)前三維行業(yè)的標(biāo)準(zhǔn),是從事三維工作開發(fā)人員必須掌握的開發(fā)工具,它的具有以下特點(diǎn): 圖形質(zhì)量好、性 能高 當(dāng)前行業(yè)標(biāo)準(zhǔn) 穩(wěn)定性高 可移植性強(qiáng) 充分的可擴(kuò)展性 適應(yīng)性強(qiáng) 易用性高 要研究?jī)?nèi)容 本文主要研究了基于 三維仿真技術(shù)的研究背景和國內(nèi)外研究現(xiàn)狀, 系統(tǒng)采用嵌入 染環(huán)境的窗口進(jìn)行三維圖像的繪制,先進(jìn)行主窗口渲染,在視圖模型下繪制出初始狀態(tài)的地形和小車。然后對(duì)小車軌跡進(jìn)行讀取計(jì)算,碰撞檢測(cè),軌跡的顯示,還可以通過鼠標(biāo)進(jìn)行角度調(diào)控等。 主要工作包括: 第一章 介紹了三維仿真技術(shù)的背景和國內(nèi)外研究現(xiàn)狀。 第二章 本章主要介紹了三維仿真的基礎(chǔ)三維圖形學(xué),對(duì)點(diǎn),向量,矩陣,還有 第 5 頁 工 作方式、坐標(biāo)系統(tǒng)以及變換透視等重要三維圖像的基礎(chǔ)知識(shí)。 第三章 本章共包含了七小節(jié),系統(tǒng)的講述了利用 術(shù)實(shí)現(xiàn)三維仿真的實(shí)際編程基礎(chǔ)。 第四章 本章主要針對(duì)充電車三維仿真系統(tǒng)做了詳細(xì)的介紹,對(duì)其系統(tǒng)的功能和模塊的實(shí)現(xiàn)進(jìn)行了講解,包括主窗口模塊,數(shù)據(jù)接口模塊,碰撞檢測(cè)模塊等 。 第五章 總結(jié)了本課題的研究成果,同時(shí)對(duì)沒有研究成功的方法也做了系統(tǒng)的總結(jié),并在接下來的時(shí)間里繼續(xù)努力的去完善它。 第 6 頁 第二章 三維仿真基礎(chǔ)理論 本章包含了三小節(jié),主要介紹了三維仿真的基礎(chǔ)三維圖形學(xué),對(duì)點(diǎn),向量,矩陣,還有 工作方式、坐標(biāo)系統(tǒng)以及變換透視等重要三維圖像的基礎(chǔ)知識(shí)。 維圖形學(xué)基礎(chǔ) 點(diǎn)是圖形中最基本的幾何對(duì)象。 3D 場(chǎng)景中用三維坐標(biāo) x,y,z 表示一個(gè)點(diǎn),例如點(diǎn)A(2, 3)。并且三維空間兩點(diǎn)間的距離 D 也和二維空間相似,兩點(diǎn) A( B(距離為: 222 )12()12()12( 公式 2 向量 向量是一個(gè)具既有數(shù)量又有方向的量。向量的方向用來描述其在空間的指向 【 1】 。單位向量就是大小為 1 的向量,向量歸一化即為 : |o r m公式 2量的運(yùn)算在三維世界坐標(biāo)變換的基礎(chǔ),向量的運(yùn)算包括點(diǎn)乘運(yùn)算和叉乘運(yùn)算。向量點(diǎn)乘的結(jié)果表示了兩個(gè)向量的方向相似程度,向量的點(diǎn)乘運(yùn)算公式: c o s| 公式 2量 叉乘運(yùn)算的到的是兩個(gè)向量的垂直向量,其結(jié)果應(yīng)用于 3D 圖形很多領(lǐng)域,比如光照,物理計(jì)算和碰撞檢測(cè)等等。向量叉乘運(yùn)算公式: ),( A y B xA x B yA x B zA z B xA z B yA y B 公式 2第 7 頁 陣 矩陣是三維圖像的重要基礎(chǔ),在線性代數(shù)里面,矩陣是以行和列的形式組成的數(shù)字塊。通常用 m*n 來定義矩陣的尺寸,它表示此矩陣為 m 行 n 列。一個(gè)矩陣通常用第 i 行第 j 列表示。例如 3*3 矩陣 B 表示如下: 222120121110020100 公式 2三維世界里面,最重要的就是矩陣的乘法計(jì)算,矩陣的乘法有三種情況: 1、 標(biāo)量和矩陣相乘; 2、 向量和矩陣相乘; 3、 矩陣和矩陣相乘,且 ; 礎(chǔ)原理 據(jù)類型 義了自己的數(shù)據(jù)類型,主要有 同的 現(xiàn)在選擇哪些 C 語言的數(shù)據(jù)類型來表示 數(shù)據(jù)類型方面存在某些差異。使用 己定義的數(shù)據(jù)類型,就可以在 碼跨平臺(tái)移植時(shí)避免不匹配類型的問題。 作方式 令模式是典型的 C/S(戶 /服務(wù)器 )模型,通常是把用戶程序 (客戶 )發(fā)出的命令提交給內(nèi)核程序 (比如服務(wù)器 ),內(nèi)核程序再對(duì)各種指令進(jìn)行編譯,并初步處理,再交給操作系統(tǒng)而轉(zhuǎn)交給硬件。上述的過程可在同一臺(tái)計(jì)算機(jī)上完成,也能在網(wǎng)絡(luò)環(huán)境中,由不同的計(jì)算機(jī)一 體合作完成, 過上述的合作實(shí)現(xiàn)了網(wǎng)絡(luò)透明。 第 8 頁 應(yīng)用程序框架作流程 封裝在庫或共享程序集中,應(yīng)用程序 在 發(fā)出 行 處理。 再 傳 給 服務(wù)內(nèi)核 去 處理后 將 進(jìn)一步交 給 操作系統(tǒng),操作系統(tǒng) 依 據(jù)具體的硬件,例如 用 不同的顯示卡 來 具體處理。 例如 調(diào)用調(diào)用公共驅(qū)動(dòng)程序 或者 廠家的服務(wù)驅(qū)動(dòng)程序, 然后再 傳給視頻顯示驅(qū)動(dòng), 由 驅(qū)動(dòng)程序 的 驅(qū)動(dòng)顯卡向顯示屏幕 進(jìn)一步 提供顯示。 此 處理過 程 完全 在計(jì)算機(jī) 的 后臺(tái)完成,基本 上 不需程序員 的參與。程序員只要 在 應(yīng)用程序開發(fā) 的 部分, 而 管理硬件的工作 都 交 給 計(jì)算機(jī)完成。 狀態(tài)機(jī) 一種狀態(tài)機(jī)模式,它保持自身的狀態(tài),除非用戶輸入一條命令讓它改變狀態(tài)。 首先,從本質(zhì)上講,我們現(xiàn)在的電腦就是典型的狀態(tài)機(jī)??梢詫?duì)照理解:電腦的存儲(chǔ)器,可以記住電腦自己當(dāng)前的狀態(tài)(當(dāng)前安裝在電腦中的軟件、保存在電腦中的數(shù)據(jù),其實(shí)都是二進(jìn)制的值,都屬于當(dāng)前的狀態(tài))。 電腦的輸入設(shè)備接收輸入,最后可以得出輸出。當(dāng)它進(jìn)入到某個(gè)特殊的狀態(tài)時(shí),它就不再接收任何輸入,繼而 停止工作。 其次讓我們先對(duì)照理解一下: 以記錄自己的狀態(tài)(比如:當(dāng)前所使用的顏色)。 以接收輸入,依據(jù)輸入的內(nèi)容以及自己的狀態(tài),來判斷自己的狀態(tài)是否修改,并且可以得到輸出(比如我們調(diào)用 收到這個(gè)輸入后會(huì)修改自己的“當(dāng)前顏色”狀態(tài);我們調(diào)用 輸 第 9 頁 出一個(gè)矩形)。 夠進(jìn)入到停止?fàn)顟B(tài),不再繼續(xù)接收輸入。這個(gè)或許在我們的程序當(dāng)中表現(xiàn)得不是太明顯,不過在當(dāng)下程序退出前, 定先停止當(dāng)下的工作的。 舉例 來說比如我們可以使用 數(shù)來選擇一種顏色,以后繪制的所有物體都是這種顏色,除非再次使用 數(shù)重新設(shè)定。可以使用 數(shù)來設(shè)置一個(gè)紋理坐標(biāo),以后繪制的所有物體都是采用這種紋理坐標(biāo),除非再次使用數(shù)重新設(shè)置??梢允褂?數(shù)來指定混合功能的源因子和目標(biāo)因子,以后繪制的所有物體都是采用這個(gè)源因子和目標(biāo)因子,除非再次使用數(shù)重新指定??梢允褂?數(shù)來指定光源的位置、顏色,以后繪制的所有物體都是采 用這個(gè)光源的位置、顏色,除非再次使用 數(shù)重新指定。 染管線 有超強(qiáng)的圖形繪制能力,包括繪制物體、啟動(dòng)光照、管理位圖、紋理映射、動(dòng)畫、圖像增強(qiáng)以及交互技術(shù)等功能。作為圖形硬件的軟件接口, 要是將三維的物體投影到一個(gè)二維平面上,之后處理得到像素,進(jìn)行顯示。 描述圖像的像素 (在執(zhí)行一系列操作后,最終將這些數(shù)據(jù)轉(zhuǎn)化成像素?cái)?shù)據(jù)。也就是說, 基于點(diǎn) 的。在 ,無論何種情況,指令總是被順序處理。由一組頂點(diǎn)定義的圖元(行完繪制操作后,后繼圖元才能起作用。絕大部分 現(xiàn)都有相似的操作順序,即稱為 染管線的一系列相關(guān)的處理階段。 標(biāo)變換 過對(duì)相機(jī)模擬可以實(shí)現(xiàn)計(jì)算機(jī)圖形學(xué)中最基本的三維變換,即投影變換、幾何變換、視口變換、裁剪變換等。同時(shí), 實(shí)現(xiàn)了矩陣堆棧等。理解掌握了有關(guān)坐標(biāo)變換的內(nèi)容,就算真正走進(jìn)了精彩地三維世界。 第 10 頁 標(biāo)系統(tǒng) 在真實(shí)的世界中,所 有的物體都具有三維特征,但是計(jì)算機(jī)僅僅能處理的是數(shù)字,可以顯示出來二維圖形,而將二維數(shù)據(jù)及三維物體緊密聯(lián)系在起來的唯一的紐帶就是 坐標(biāo)。 為了數(shù)字化將要顯示的三維物體,就要在這個(gè)三維物體處在的空間里面定義一個(gè)合適的坐標(biāo)系。這個(gè)坐標(biāo)系的單位長(zhǎng)度和坐標(biāo)軸的指向都要適合對(duì)此三維物體的描述,這個(gè)坐標(biāo)系被稱作世界坐標(biāo)系。重要的一點(diǎn)就是世界坐標(biāo)系,它是永遠(yuǎn)不變的 【 10】 。 定義了局部坐標(biāo)系,局部坐標(biāo)系就是坐標(biāo)系用物體的中心作為坐標(biāo)原點(diǎn)的,其物體的旋轉(zhuǎn)或者平移等操作全是圍繞著局部坐標(biāo)系進(jìn)行的。此時(shí) ,若物體模型在進(jìn)行旋轉(zhuǎn)或者平移操作時(shí),局部坐標(biāo)系隨之也執(zhí)行相對(duì)應(yīng)的旋轉(zhuǎn)或者平移操作。需要注意的地方是,如果對(duì)物體模型進(jìn)行縮放操作,則局部坐標(biāo)系也要進(jìn)行相應(yīng)的縮放,假若縮放比例在各坐標(biāo)軸對(duì)應(yīng)不同,那么經(jīng)過一系列旋轉(zhuǎn)等操作后,局部坐標(biāo)軸可能不一定相互垂直。不管是在世界坐標(biāo)系中進(jìn)行變換,還是說在局部坐標(biāo)系中進(jìn)行變換,程序的代碼都是相同的,只不過不同的坐標(biāo)系所考慮的變換方式不相同罷了。 計(jì)算機(jī)對(duì)數(shù)字化的三維物體做了適當(dāng)?shù)募庸ぬ幚砗?,要使其在圖形顯示器上面顯示,就需要先在圖形顯示器的屏幕上定義出一個(gè)二維的直角坐標(biāo)系, 這個(gè)坐標(biāo)系被稱作屏幕坐標(biāo)系。這個(gè)坐標(biāo)系的坐標(biāo)軸方向通常選取為平行于此屏幕的邊界,坐標(biāo)原點(diǎn)一般取左下角,長(zhǎng)度單位通常取為一個(gè)象素。 點(diǎn)變換 視點(diǎn)變換明確了場(chǎng)景里面物體的視點(diǎn)方向和位置,就向上述提到的,它可以看作是在場(chǎng)景當(dāng)中放置的一臺(tái)照相機(jī)。讓相機(jī)鏡頭面向要拍攝的物體,相機(jī)(即視點(diǎn))定位在坐標(biāo)系的原點(diǎn)(相機(jī)初始方向都指向 Z 負(fù)軸),它和物體模型缺省的位置是對(duì)應(yīng)的,明顯的,如若視點(diǎn)變換不進(jìn)行,物體和相機(jī)是重疊的。 執(zhí)行視點(diǎn)變換和執(zhí)行模型變換的命令是一樣的,思考一下,我們?cè)谟孟鄼C(jī)拍照時(shí),我們通常保 持被拍的物體位置不變,而將相機(jī)遠(yuǎn)離物體,這就類似于三維世界的視點(diǎn)變換。此外,我們也可讓相機(jī)的位置保持不變,而將物體遠(yuǎn)離相機(jī),這就類似于模型轉(zhuǎn)換。結(jié)果就是,在 世界,以逆時(shí)針去旋轉(zhuǎn)物體就類似于以順時(shí)針去旋轉(zhuǎn) 第 11 頁 相機(jī)。所以,我們必須把模型變換同視點(diǎn)變換結(jié)合在一塊來考慮,也就是說對(duì)這兩種變換單獨(dú)去進(jìn)行考慮是沒有意義的。除了使用模型變換命令來執(zhí)行視點(diǎn)變換以外,用庫還提供了 函數(shù),該函數(shù)共三個(gè)變量,分別表示了視點(diǎn)的位置、相機(jī)的瞄準(zhǔn)方向參考點(diǎn)以及相機(jī)的朝上方向。該函數(shù)的原型為: 該函數(shù)定義了視點(diǎn)矩陣,要用該視點(diǎn)矩陣乘以當(dāng)前的矩陣。 義了當(dāng)前視點(diǎn)的位置; 及 量指明了參考點(diǎn)位置,該點(diǎn)通常作為相機(jī)所要瞄準(zhǔn)場(chǎng)景的中心軸上的點(diǎn); 量指明了朝上向量方向。一般,視點(diǎn)變換操作在模型變換操作之前使用,以便模型變換先對(duì)三維物體產(chǎn)生作用。場(chǎng)景中三維物體的頂點(diǎn)通過模型變換以后移動(dòng)到所想要的位置,然后再對(duì)整個(gè)場(chǎng)景進(jìn)行視點(diǎn)的定位等等操作。視點(diǎn)變換和模型變換共同構(gòu)建成了模型視景矩陣。 型變換 模型變換是在世界坐標(biāo)系中進(jìn)行的。當(dāng)其缺省時(shí),物體模型的中心默認(rèn)定位在世界坐標(biāo)系的原點(diǎn)。 這個(gè)坐標(biāo)系中,共有三個(gè)命令,可以用來進(jìn)行模型變換。 1、模型平移 f d ( x, y, z);該函數(shù)沿著 x 軸、z 軸按照指定的 x,y,z 值平移物體(或者按照相同的值來移動(dòng)物體的局部坐標(biāo)系)。 2、 模型旋轉(zhuǎn) x, y, z)。該函數(shù)的第一個(gè)變量是制定模型旋轉(zhuǎn)角度的 位是度,其后三個(gè)變量用來表示以原點(diǎn) A( 0,0,0)到點(diǎn) B(x,y,z)的連線為軸線來逆時(shí)針旋轉(zhuǎn)物體。 比如, 結(jié)果是繞 z 軸旋轉(zhuǎn) 45 度。 3、模型縮放 x, y, z );此函數(shù)可以沿著 x,y,數(shù)有三個(gè)參數(shù),分別對(duì)應(yīng) x、 y、 z 軸坐標(biāo)方向的變換比例因子。缺省時(shí)默認(rèn)為 示物體沒變化。在程序中,若物體 Y 余值都為 表明將立方體變成了長(zhǎng)方體。 影變換 經(jīng)過模型視景變換之后,場(chǎng)景中的三維物體被放在了所想要的位置上,但是顯示 第 12 頁 器僅能用二維圖象來體現(xiàn)三維物體,因此就得靠投影進(jìn)一步降低維數(shù)(投影變換相當(dāng)于相機(jī)選擇鏡頭)。實(shí)際上,投影變換的根本目的就是構(gòu)建一個(gè)適 合的視景體,裁剪掉視景體外多余的部分,最終視景體內(nèi)的有關(guān)部分才能進(jìn)入圖像。投影包括兩種:正視投影( 透視投影( 透視投影是符合人們的心理習(xí)慣的,即是離視點(diǎn)近的物體比較大,而離視點(diǎn)遠(yuǎn)的物體比較小,遠(yuǎn)到極點(diǎn)就會(huì)消失,成為一個(gè)滅點(diǎn)。它的視景體可以被看作是一個(gè)底部和頂部都被切割了的棱椎,也就是所謂的棱臺(tái)。這個(gè)投影一般被用于視覺仿真、動(dòng)畫影視以及其它的許多需要真實(shí)性展現(xiàn)的方面。 視投影的函數(shù)共兩個(gè),其中函數(shù) 的原型為: 它創(chuàng)建了一個(gè)具有透視的視景體。其實(shí)現(xiàn)的是構(gòu)建出一個(gè)透視投影矩陣,然后用此透視矩陣去乘以當(dāng)前的矩陣。該函數(shù)參數(shù)僅僅定義了近裁剪面的右上角點(diǎn)( - 左下角點(diǎn)( - 三維立體空間坐標(biāo);最后一個(gè)參數(shù) 遠(yuǎn)裁剪平面的 Z 負(fù)值,其左下角點(diǎn)和右上角點(diǎn)空間坐標(biāo)由函數(shù)根據(jù)透視投影原理自動(dòng)生成。 示離視點(diǎn)的遠(yuǎn)近,它們的值總是正值。另一個(gè)透視函數(shù)是: 它創(chuàng)建了一個(gè)的透視視景體,但是它和前面的的參數(shù)不同,參數(shù) 義視野在 面的角度,范圍是 參數(shù) 投影平面寬度與高度的比率;參數(shù) 別是遠(yuǎn)近裁剪面沿 Z 負(fù)軸到視點(diǎn)的距離,它們總為正值。以上兩個(gè)函數(shù)缺省時(shí),視點(diǎn)都在原點(diǎn),視線沿 Z 軸指向負(fù)方向。 正射投影,即是平行投影。正射投影的視景體是類似于一個(gè)矩形的平行管道,也即是一個(gè)立方體。正投影的一個(gè)最大特點(diǎn)是不管論物體離相機(jī)有多遠(yuǎn),投影出來的三維物體的大小尺寸是不變。正射投影也有兩個(gè)函數(shù),一個(gè)函數(shù)是: 它創(chuàng)建一個(gè)平行視景體。實(shí)際上這個(gè)函數(shù)的操作是創(chuàng)建一個(gè)正射投影矩陣,并且用這個(gè)矩陣乘以當(dāng)前矩陣。其中近裁剪平面是一個(gè)矩形,矩形左下角點(diǎn)三維空間坐標(biāo)是( 右上角點(diǎn)是( 第 13 頁 遠(yuǎn)裁剪平面也是一個(gè)矩形,右上角點(diǎn)是( - 左下角點(diǎn)空間坐標(biāo)是( - 所有的 同時(shí)為正或者同時(shí)為負(fù)。 另一個(gè)函數(shù)是: 它是特殊的一個(gè)正射投影,此函數(shù)主要用于將二維圖像投影到二維屏幕上。它的 省值分別為 有的二維物體 Z 坐標(biāo)都是 以它的裁剪面就是一個(gè)右上角點(diǎn)為( 左下角點(diǎn)為( 矩形。 口變換 視口變換實(shí)際上就是在二維的視口平面上顯示視景體內(nèi)投影的三維物體。運(yùn)用相機(jī)模擬的方式,我們很好理解視口變換相當(dāng)于就是把照片進(jìn)行放大與縮小。計(jì)算機(jī)圖形學(xué)里面,視口變換的定義 將經(jīng)過幾 何變換、裁剪變換和投影變換后的物體顯示在屏幕窗口指定的區(qū)域里面,這個(gè)區(qū)域一般為矩形,被稱作視口。 相關(guān)函數(shù)是: x,y,此函數(shù)定義了一個(gè)視口。函數(shù)參數(shù) (x, y)是視口在屏幕窗口坐標(biāo)系中的左下角點(diǎn)坐標(biāo),參數(shù) 省時(shí),參數(shù)值- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
49 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 基于 OpenGL 三維 仿真 技術(shù)研究 獨(dú)家 優(yōu)秀
鏈接地址:http://m.appdesigncorp.com/p-116994.html