虛擬現(xiàn)實(shí)技術(shù)-- VRML環(huán)境下圖形系統(tǒng)的設(shè)計(jì)
《虛擬現(xiàn)實(shí)技術(shù)-- VRML環(huán)境下圖形系統(tǒng)的設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《虛擬現(xiàn)實(shí)技術(shù)-- VRML環(huán)境下圖形系統(tǒng)的設(shè)計(jì)(42頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、第第1010章章 VRML VRML環(huán)境環(huán)境以下圖形系統(tǒng)的設(shè)以下圖形系統(tǒng)的設(shè)計(jì)計(jì) 2024/2/4110.1 虛擬現(xiàn)實(shí)簡介虛擬現(xiàn)實(shí)簡介 它通過計(jì)算機(jī)創(chuàng)立一種虛擬環(huán)境它通過計(jì)算機(jī)創(chuàng)立一種虛擬環(huán)境(Virtual(Virtual Environment)Environment),通過視覺、聽覺、觸覺、,通過視覺、聽覺、觸覺、味覺、嗅覺等作用,使用戶產(chǎn)生和現(xiàn)實(shí)中味覺、嗅覺等作用,使用戶產(chǎn)生和現(xiàn)實(shí)中一樣的感覺,從而到達(dá)身臨其境的感覺,一樣的感覺,從而到達(dá)身臨其境的感覺,并可實(shí)現(xiàn)用戶與該環(huán)境直接進(jìn)行交互。并可實(shí)現(xiàn)用戶與該環(huán)境直接進(jìn)行交互。虛擬現(xiàn)實(shí)技術(shù)有虛擬現(xiàn)實(shí)技術(shù)有3 3個(gè)根本特征:沉浸感,個(gè)根本特征:
2、沉浸感,交互感,設(shè)想。交互感,設(shè)想。2024/2/4210.2 VRML概述概述 VRML(Virtual Reality Modeling Language)VRML(Virtual Reality Modeling Language)即虛即虛即虛即虛擬現(xiàn)實(shí)擬現(xiàn)實(shí)擬現(xiàn)實(shí)擬現(xiàn)實(shí)建模建模建模建模語語語語言。言。言。言。該語該語該語該語言就是通言就是通言就是通言就是通過創(chuàng)過創(chuàng)過創(chuàng)過創(chuàng)立立立立一個(gè)虛一個(gè)虛一個(gè)虛一個(gè)虛擬場擬場擬場擬場景以到達(dá)景以到達(dá)景以到達(dá)景以到達(dá)現(xiàn)實(shí)現(xiàn)實(shí)現(xiàn)實(shí)現(xiàn)實(shí)中的效果。中的效果。中的效果。中的效果。VRMLVRML被廣泛被廣泛被廣泛被廣泛應(yīng)應(yīng)應(yīng)應(yīng)用于用于用于用于InternetI
3、nternet上上上上創(chuàng)創(chuàng)創(chuàng)創(chuàng)立虛立虛立虛立虛擬擬擬擬三三三三維維維維空空空空間間間間,利用利用利用利用VRMLVRML可以隨意可以隨意可以隨意可以隨意創(chuàng)創(chuàng)創(chuàng)創(chuàng)立任何虛立任何虛立任何虛立任何虛擬擬擬擬的物體,的物體,的物體,的物體,像建筑物、城市、山脈、星體等像建筑物、城市、山脈、星體等像建筑物、城市、山脈、星體等像建筑物、城市、山脈、星體等對對對對象。當(dāng)然象。當(dāng)然象。當(dāng)然象。當(dāng)然也可以在虛也可以在虛也可以在虛也可以在虛擬擬擬擬空空空空間間間間中添加聲音、中添加聲音、中添加聲音、中添加聲音、動(dòng)動(dòng)動(dòng)動(dòng)畫,使之畫,使之畫,使之畫,使之更加生更加生更加生更加生動(dòng)動(dòng)動(dòng)動(dòng),更接近,更接近,更接近,更接近
4、現(xiàn)實(shí)現(xiàn)實(shí)現(xiàn)實(shí)現(xiàn)實(shí)。2024/2/4310.2 VRML概述概述 用用用用cortvrmlcortvrml插件在插件在插件在插件在MicrosoftMicrosoft的的的的IE 6.0IE 6.0瀏覽器中可瀏覽器中可瀏覽器中可瀏覽器中可以瀏覽以瀏覽以瀏覽以瀏覽VRMLVRML網(wǎng)頁。網(wǎng)頁。網(wǎng)頁。網(wǎng)頁。WalkWalk的瀏覽方式為模擬人在虛擬三維世界中的走動(dòng)的瀏覽方式為模擬人在虛擬三維世界中的走動(dòng)的瀏覽方式為模擬人在虛擬三維世界中的走動(dòng)的瀏覽方式為模擬人在虛擬三維世界中的走動(dòng)和轉(zhuǎn)向等和轉(zhuǎn)向等和轉(zhuǎn)向等和轉(zhuǎn)向等 FlyFly的瀏覽方式為模擬人在虛擬三維世界中的飛行和的瀏覽方式為模擬人在虛擬三維世界中的
5、飛行和的瀏覽方式為模擬人在虛擬三維世界中的飛行和的瀏覽方式為模擬人在虛擬三維世界中的飛行和轉(zhuǎn)向等轉(zhuǎn)向等轉(zhuǎn)向等轉(zhuǎn)向等 StudyStudy的瀏覽方式為在瀏覽者的面前以不同的方向和的瀏覽方式為在瀏覽者的面前以不同的方向和的瀏覽方式為在瀏覽者的面前以不同的方向和的瀏覽方式為在瀏覽者的面前以不同的方向和不同的角度來旋轉(zhuǎn)一個(gè)或多個(gè)漂浮在空間中的對象不同的角度來旋轉(zhuǎn)一個(gè)或多個(gè)漂浮在空間中的對象不同的角度來旋轉(zhuǎn)一個(gè)或多個(gè)漂浮在空間中的對象不同的角度來旋轉(zhuǎn)一個(gè)或多個(gè)漂浮在空間中的對象 PlanPlan的瀏覽方式為模擬在虛擬三維世界中的一個(gè)平面的瀏覽方式為模擬在虛擬三維世界中的一個(gè)平面的瀏覽方式為模擬在虛擬三維
6、世界中的一個(gè)平面的瀏覽方式為模擬在虛擬三維世界中的一個(gè)平面內(nèi)的平移。內(nèi)的平移。內(nèi)的平移。內(nèi)的平移。PanPan的瀏覽方式為模擬在三維世界中的垂直的上下或的瀏覽方式為模擬在三維世界中的垂直的上下或的瀏覽方式為模擬在三維世界中的垂直的上下或的瀏覽方式為模擬在三維世界中的垂直的上下或者左右的平移。者左右的平移。者左右的平移。者左右的平移。2024/2/4410.2 VRML概述概述Turn的瀏覽方式為改變?yōu)g覽者的視角的瀏覽方式為改變?yōu)g覽者的視角Roll的瀏覽方式為在虛擬三維世界中的一的瀏覽方式為在虛擬三維世界中的一個(gè)垂直平面上實(shí)現(xiàn)順時(shí)針或者逆時(shí)針方向個(gè)垂直平面上實(shí)現(xiàn)順時(shí)針或者逆時(shí)針方向的視角變化。的
7、視角變化。Goto的瀏覽方式為走近你所要觀察的對象的瀏覽方式為走近你所要觀察的對象 View試點(diǎn)控制。試點(diǎn)控制。Restore視點(diǎn)控制。視點(diǎn)控制。2024/2/4510.2 VRML概述概述在瀏覽器窗口中的在瀏覽器窗口中的在瀏覽器窗口中的在瀏覽器窗口中的任意位置單擊鼠標(biāo)任意位置單擊鼠標(biāo)任意位置單擊鼠標(biāo)任意位置單擊鼠標(biāo)右鍵便會(huì)彈出如圖右鍵便會(huì)彈出如圖右鍵便會(huì)彈出如圖右鍵便會(huì)彈出如圖10.210.2所示的菜單所示的菜單所示的菜單所示的菜單圖圖10.2 10.2 cortvrmlcortvrml的彈出菜單的彈出菜單 2024/2/4610.3 VRML根本語法根本語法 10.3.1 VRML的通用的
8、通用語語法法結(jié)結(jié)構(gòu)構(gòu) VRML文件是要文件是要?jiǎng)?chuàng)創(chuàng)立的空立的空間間的文本性描述,的文本性描述,VRML的通用的通用語語法由法由VRML文件來文件來約約定。定。VRML文件文件對語對語法有以下幾條法有以下幾條約約定:定:每個(gè)每個(gè)VRML文件都必文件都必須須以以#VRML V2.0 utf8 作作為為文件文件頭頭。文件中的任何文件中的任何節(jié)節(jié)點(diǎn)的第一個(gè)字母都要大點(diǎn)的第一個(gè)字母都要大寫寫 節(jié)節(jié)點(diǎn)的域都必點(diǎn)的域都必須須位于括號(hào)里面。位于括號(hào)里面。2024/2/4710.3.2 VRML的根本概念的根本概念 1.1.節(jié)點(diǎn)節(jié)點(diǎn)節(jié)點(diǎn)節(jié)點(diǎn) 節(jié)點(diǎn)用來描述造型和造型的屬性。節(jié)點(diǎn)用來描述造型和造型的屬性。節(jié)點(diǎn)用來描
9、述造型和造型的屬性。節(jié)點(diǎn)用來描述造型和造型的屬性。2.2.域和域值域和域值域和域值域和域值 域定義節(jié)點(diǎn)的屬性,域值是對屬性的具體描述。域定義節(jié)點(diǎn)的屬性,域值是對屬性的具體描述。域定義節(jié)點(diǎn)的屬性,域值是對屬性的具體描述。域定義節(jié)點(diǎn)的屬性,域值是對屬性的具體描述。3.3.事件事件事件事件 事件是按照指定的路由從一個(gè)節(jié)點(diǎn)發(fā)往另一個(gè)節(jié)事件是按照指定的路由從一個(gè)節(jié)點(diǎn)發(fā)往另一個(gè)節(jié)事件是按照指定的路由從一個(gè)節(jié)點(diǎn)發(fā)往另一個(gè)節(jié)事件是按照指定的路由從一個(gè)節(jié)點(diǎn)發(fā)往另一個(gè)節(jié)點(diǎn)的消息。點(diǎn)的消息。點(diǎn)的消息。點(diǎn)的消息。4.4.路由路由路由路由 5.5.交互和腳本交互和腳本交互和腳本交互和腳本 2024/2/4810.3.3
10、 VRML空間計(jì)量單位空間計(jì)量單位 1)長度單位長度單位 長度單位也叫長度單位也叫VRML單位,簡稱單位,用單位,簡稱單位,用來計(jì)量造型的尺寸和位置。來計(jì)量造型的尺寸和位置。2)角度單位角度單位 角度單位是用來計(jì)量坐標(biāo)旋轉(zhuǎn)角度的大小角度單位是用來計(jì)量坐標(biāo)旋轉(zhuǎn)角度的大小的。在的。在VRML中,角度單位通常使用的是中,角度單位通常使用的是弧度制。弧度制。2024/2/4910.3.4 VRML的節(jié)點(diǎn)簡介的節(jié)點(diǎn)簡介 1.外形外形節(jié)節(jié)點(diǎn)點(diǎn)Shape 在在創(chuàng)創(chuàng)立一個(gè)造型立一個(gè)造型時(shí)時(shí),必,必須須使用使用Shape節(jié)節(jié)點(diǎn),點(diǎn),它有兩個(gè)域,分它有兩個(gè)域,分別為別為appearance域和域和geometry
11、域。域。Appearance節(jié)節(jié)點(diǎn)將定點(diǎn)將定義義造型造型外外觀觀的的顏顏色和色和紋紋理。理。geometry域域值值是一個(gè)是一個(gè)定定義義空空間間造型幾何尺寸大小的造型造型幾何尺寸大小的造型節(jié)節(jié)點(diǎn),點(diǎn),它包括它包括Box、Cylinder、Cone、Sphere等等根本的幾何根本的幾何節(jié)節(jié)點(diǎn)點(diǎn) 2024/2/41010.3.4 VRML的節(jié)點(diǎn)簡介的節(jié)點(diǎn)簡介2.組節(jié)組節(jié)點(diǎn)點(diǎn)Group Group節(jié)節(jié)點(diǎn)有點(diǎn)有5個(gè)域,分個(gè)域,分別別是是children域、域、bboxCenter域、域、bboxSize域、域、addChildren域和域和removeChildren域。域。Group節(jié)節(jié)點(diǎn)是將根本造
12、型點(diǎn)是將根本造型節(jié)節(jié)點(diǎn)點(diǎn)組織組織在一起,在一起,編編成一成一組組中的多個(gè)中的多個(gè)節(jié)節(jié)點(diǎn)將相互交迭點(diǎn)將相互交迭,從而從而創(chuàng)創(chuàng)立復(fù)立復(fù)雜雜的空的空間間造型,造型,編組編組后的后的節(jié)節(jié)點(diǎn)可以作點(diǎn)可以作為為一個(gè)一個(gè)單單獨(dú)的獨(dú)的對對象來象來進(jìn)進(jìn)行各種操作,包括行各種操作,包括和其他的和其他的對對象一起象一起編編成一個(gè)新的成一個(gè)新的組組。2024/2/41110.3.5 域域 域有兩種類型:單值類型和多值類型。單值類型域有兩種類型:單值類型和多值類型。單值類型域有兩種類型:單值類型和多值類型。單值類型域有兩種類型:單值類型和多值類型。單值類型的命名以的命名以的命名以的命名以“SF“SF“SF“SF開頭,只
13、包含單一的值,像一個(gè)開頭,只包含單一的值,像一個(gè)開頭,只包含單一的值,像一個(gè)開頭,只包含單一的值,像一個(gè)數(shù)字、一種顏色、一個(gè)向量等。多值類型的命名數(shù)字、一種顏色、一個(gè)向量等。多值類型的命名數(shù)字、一種顏色、一個(gè)向量等。多值類型的命名數(shù)字、一種顏色、一個(gè)向量等。多值類型的命名以以以以“MF“MF“MF“MF開頭,包含多個(gè)值,像一組數(shù)字的列表、開頭,包含多個(gè)值,像一組數(shù)字的列表、開頭,包含多個(gè)值,像一組數(shù)字的列表、開頭,包含多個(gè)值,像一組數(shù)字的列表、一組顏色的列表。一組顏色的列表。一組顏色的列表。一組顏色的列表。例:例:例:例:SFFloat SFFloat SFFloat SFFloat 和和和和
14、 MFFloat MFFloat MFFloat MFFloat 一個(gè)一個(gè)一個(gè)一個(gè)SFFloatSFFloatSFFloatSFFloat域含有一個(gè)域含有一個(gè)域含有一個(gè)域含有一個(gè)ANSICANSICANSICANSIC格式的單精度浮點(diǎn)格式的單精度浮點(diǎn)格式的單精度浮點(diǎn)格式的單精度浮點(diǎn)數(shù)。數(shù)。數(shù)。數(shù)。一個(gè)一個(gè)一個(gè)一個(gè)MFFLoatMFFLoatMFFLoatMFFLoat域含有零個(gè)或多個(gè)域含有零個(gè)或多個(gè)域含有零個(gè)或多個(gè)域含有零個(gè)或多個(gè)ANSI CANSI CANSI CANSI C格式的單格式的單格式的單格式的單精度浮點(diǎn)數(shù)。即允許空白,不賦任何值。精度浮點(diǎn)數(shù)。即允許空白,不賦任何值。精度浮點(diǎn)數(shù)。即
15、允許空白,不賦任何值。精度浮點(diǎn)數(shù)。即允許空白,不賦任何值。2024/2/41210.4 在場景中添加幾何體在場景中添加幾何體 10.4.1 Shape節(jié)點(diǎn)對幾何體的封裝節(jié)點(diǎn)對幾何體的封裝Shape節(jié)點(diǎn)對幾何體的封裝是通過節(jié)點(diǎn)對幾何體的封裝是通過geometry域來實(shí)現(xiàn)的。即域來實(shí)現(xiàn)的。即geometry+geometry+幾幾何體造型節(jié)點(diǎn)。何體造型節(jié)點(diǎn)。不僅如此,不僅如此,ShapeShape節(jié)點(diǎn)還可以實(shí)現(xiàn)對文本節(jié)點(diǎn)還可以實(shí)現(xiàn)對文本造型的封裝。造型的封裝。2024/2/41310.4.2 添加長方體添加長方體 在場景中添加一個(gè)立方體造型要用到在場景中添加一個(gè)立方體造型要用到BoxBox節(jié)點(diǎn),節(jié)
16、點(diǎn),BoxBox節(jié)點(diǎn)是創(chuàng)立一個(gè)以坐標(biāo)原點(diǎn)為節(jié)點(diǎn)是創(chuàng)立一個(gè)以坐標(biāo)原點(diǎn)為中心的長方體的節(jié)點(diǎn),有一個(gè)域,即中心的長方體的節(jié)點(diǎn),有一個(gè)域,即sizesize域。域。sizesize域的域值類型為域的域值類型為SFVec3fSFVec3f類型,類型,sizesize域值為長方體的長、寬、高的大小,通過域值為長方體的長、寬、高的大小,通過改變長、寬、高的大小可以創(chuàng)立不同的長改變長、寬、高的大小可以創(chuàng)立不同的長方體,如果長、寬、高的大小相同,那么方體,如果長、寬、高的大小相同,那么該長方體是立方體。該長方體是立方體。2024/2/41410.4.3 添加球體添加球體 在場景中添加球體造型要用到在場景中添加球
17、體造型要用到SphereSphere節(jié)點(diǎn),節(jié)點(diǎn),Sphere Sphere節(jié)點(diǎn)創(chuàng)立的是一個(gè)以坐標(biāo)原點(diǎn)節(jié)點(diǎn)創(chuàng)立的是一個(gè)以坐標(biāo)原點(diǎn)為中心的球體,有一個(gè)域,即為中心的球體,有一個(gè)域,即radiusradius域。域。域值類型為域值類型為SFFloatSFFloat類型,球體的半徑由類型,球體的半徑由域域radiusradius的域值確定,的域值確定,radiusradius的默認(rèn)域值的默認(rèn)域值為為1.01.0個(gè)單位。個(gè)單位。2024/2/41510.4.4 添加圓柱體添加圓柱體 在場景中添加圓柱體造型要用到在場景中添加圓柱體造型要用到CylinderCylinder節(jié)點(diǎn),節(jié)點(diǎn),CylinderCyl
18、inder節(jié)點(diǎn)創(chuàng)立的是一個(gè)以坐標(biāo)節(jié)點(diǎn)創(chuàng)立的是一個(gè)以坐標(biāo)原點(diǎn)為中心,由底面原點(diǎn)為中心,由底面(bottom)(bottom),頂面,頂面(top)(top)和側(cè)面和側(cè)面(side)(side)三個(gè)局部組成的圓柱三個(gè)局部組成的圓柱體。該節(jié)點(diǎn)有體。該節(jié)點(diǎn)有5 5個(gè)域,即個(gè)域,即radiusradius域、域、heightheight域、域、bottombottom域、域、toptop域和域和sideside域。域。2024/2/41610.4.5 添加圓錐體添加圓錐體 先看一個(gè)在三維空間場景中添加圓錐體的先看一個(gè)在三維空間場景中添加圓錐體的實(shí)例。實(shí)例。圖圖圖圖10.6 10.6 10.6 10.6
19、在場景中添加的圓錐體造型在場景中添加的圓錐體造型在場景中添加的圓錐體造型在場景中添加的圓錐體造型 2024/2/41710.4.5 添加圓錐體添加圓錐體在場景中添加圓錐體造型要用到在場景中添加圓錐體造型要用到ConeCone節(jié)點(diǎn),節(jié)點(diǎn),ConeCone節(jié)點(diǎn)創(chuàng)立的是一個(gè)以空間坐標(biāo)系節(jié)點(diǎn)創(chuàng)立的是一個(gè)以空間坐標(biāo)系y y軸軸為對稱軸,原點(diǎn)為中心的圓錐體。為對稱軸,原點(diǎn)為中心的圓錐體。該圓錐體由兩局部組成:底面該圓錐體由兩局部組成:底面(bottom)(bottom)和和錐面錐面(side)(side)。該節(jié)點(diǎn)有。該節(jié)點(diǎn)有4 4個(gè)域,即個(gè)域,即bottomRadiusbottomRadius域、域、he
20、ightheight域、域、sideside域和域和bottombottom域域 2024/2/41810.4.6 添加文本添加文本 在場景中添加文本是通過使用在場景中添加文本是通過使用ShapeShape節(jié)點(diǎn)節(jié)點(diǎn)實(shí)現(xiàn)的,將實(shí)現(xiàn)的,將TextText節(jié)點(diǎn)作為節(jié)點(diǎn)作為geometrygeometry域的域域的域值,下面看一個(gè)在場景中添加文本造型的值,下面看一個(gè)在場景中添加文本造型的例子。例子。圖圖圖圖10.7 10.7 在場景中添加文本在場景中添加文本在場景中添加文本在場景中添加文本 2024/2/41910.5 幾何體的幾何變換幾何體的幾何變換 10.5.1 理解理解VRML空空間間 坐坐標(biāo)標(biāo)
21、系是系是VRML場場景景創(chuàng)創(chuàng)立的一個(gè)很重要的立的一個(gè)很重要的依據(jù),依據(jù),這這里的坐里的坐標(biāo)標(biāo)系由系由x、y、z三個(gè)坐三個(gè)坐標(biāo)標(biāo)方向構(gòu)成,其方向可以用右手方向構(gòu)成,其方向可以用右手規(guī)規(guī)那么來確那么來確定。有了父坐定。有了父坐標(biāo)標(biāo)系的嵌套,就可以在任何系的嵌套,就可以在任何地方地方創(chuàng)創(chuàng)立自己想要的造型,立自己想要的造型,這這些造型通些造型通過過坐坐標(biāo)標(biāo)系的嵌套,系的嵌套,組組合在一起構(gòu)成各種很復(fù)合在一起構(gòu)成各種很復(fù)雜雜的的VRML場場景,從而形成多姿多彩的三景,從而形成多姿多彩的三維維世界。世界。2024/2/42010.5.1 理解理解VRML空間空間1.平移坐平移坐標(biāo)標(biāo)系的理解系的理解平移坐平
22、移坐標(biāo)標(biāo)系是通系是通過對過對Transform節(jié)節(jié)點(diǎn)的點(diǎn)的translation域的使用域的使用創(chuàng)創(chuàng)立的一個(gè)新的子坐立的一個(gè)新的子坐標(biāo)標(biāo)系,每次平移通系,每次平移通過過Transform節(jié)節(jié)點(diǎn)的點(diǎn)的translation域指定平移距離,平移距離是域指定平移距離,平移距離是指新的子坐指新的子坐標(biāo)標(biāo)系原點(diǎn)和父坐系原點(diǎn)和父坐標(biāo)標(biāo)系原點(diǎn)的分系原點(diǎn)的分別別在在x、y、z三個(gè)坐三個(gè)坐標(biāo)軸標(biāo)軸的距離的距離(這這里的距里的距離是以離是以VRML單單位度量的位度量的)。新的子坐。新的子坐標(biāo)標(biāo)系系確定后,要在新坐確定后,要在新坐標(biāo)標(biāo)系系創(chuàng)創(chuàng)立的造型的位置立的造型的位置也就被確定了。也就被確定了。2024/2/42
23、110.5.1 理解理解VRML空間空間2.旋旋轉(zhuǎn)轉(zhuǎn)坐坐標(biāo)標(biāo)系的理解系的理解 (1)確定旋確定旋轉(zhuǎn)轉(zhuǎn)坐坐標(biāo)標(biāo)系的兩個(gè)因素。一是旋系的兩個(gè)因素。一是旋轉(zhuǎn)軸轉(zhuǎn)軸。二是旋。二是旋轉(zhuǎn)轉(zhuǎn)角度。角度。(2)坐坐標(biāo)標(biāo)系的旋系的旋轉(zhuǎn)轉(zhuǎn)方向。方向。3.縮縮放坐放坐標(biāo)標(biāo)系的理解系的理解縮縮放坐放坐標(biāo)標(biāo)系是通系是通過對過對Transform節(jié)節(jié)點(diǎn)的點(diǎn)的scale和和scaleOrientation域的使用而域的使用而創(chuàng)創(chuàng)立的立的新的子坐新的子坐標(biāo)標(biāo)系。系。2024/2/42210.5.3 平移幾何體平移幾何體 幾何體的平移實(shí)際上是坐標(biāo)系的平移,而幾何體的平移實(shí)際上是坐標(biāo)系的平移,而將幾何體平移實(shí)際上就是通過使用節(jié)點(diǎn)
24、將幾何體平移實(shí)際上就是通過使用節(jié)點(diǎn)TransformTransform的的translationtranslation域,相對原坐標(biāo)域,相對原坐標(biāo)系形成新的子坐標(biāo)系,再在子坐標(biāo)系中創(chuàng)系形成新的子坐標(biāo)系,再在子坐標(biāo)系中創(chuàng)立所要平移的幾何體就到達(dá)了我們平移幾立所要平移的幾何體就到達(dá)了我們平移幾何體的目的。何體的目的。2024/2/42310.5.4 旋轉(zhuǎn)幾何體旋轉(zhuǎn)幾何體 旋轉(zhuǎn)幾何體是通過使用節(jié)點(diǎn)旋轉(zhuǎn)幾何體是通過使用節(jié)點(diǎn)TransformTransform的的rotationrotation和和centercenter域,指定旋轉(zhuǎn)軸或者旋域,指定旋轉(zhuǎn)軸或者旋轉(zhuǎn)點(diǎn)、旋轉(zhuǎn)角度,形成新的旋轉(zhuǎn)子坐標(biāo)系,轉(zhuǎn)點(diǎn)
25、、旋轉(zhuǎn)角度,形成新的旋轉(zhuǎn)子坐標(biāo)系,再在子坐標(biāo)系中創(chuàng)立需要的造型。再在子坐標(biāo)系中創(chuàng)立需要的造型。1.1.繞軸的旋轉(zhuǎn)繞軸的旋轉(zhuǎn)TransformTransform節(jié)點(diǎn)的節(jié)點(diǎn)的rotationrotation域設(shè)定父子坐域設(shè)定父子坐標(biāo)系原點(diǎn)的連線作為旋轉(zhuǎn)軸,同時(shí)還設(shè)定標(biāo)系原點(diǎn)的連線作為旋轉(zhuǎn)軸,同時(shí)還設(shè)定了旋轉(zhuǎn)的角度了旋轉(zhuǎn)的角度 。2024/2/42410.5.4 旋轉(zhuǎn)幾何體旋轉(zhuǎn)幾何體2.圍繞圍繞中心的旋中心的旋轉(zhuǎn)轉(zhuǎn) 有有時(shí)時(shí)候候單單一地一地圍繞圍繞某個(gè)某個(gè)軸軸旋旋轉(zhuǎn)轉(zhuǎn)來來創(chuàng)創(chuàng)立造型立造型并不很方便,通并不很方便,通過過使用使用Transform節(jié)節(jié)點(diǎn)的點(diǎn)的center域,就可以使幾何體域,就可以使幾
26、何體圍繞圍繞某個(gè)中心某個(gè)中心點(diǎn)旋點(diǎn)旋轉(zhuǎn)轉(zhuǎn),這這種旋種旋轉(zhuǎn)轉(zhuǎn)有有時(shí)時(shí)會(huì)比會(huì)比圍繞軸圍繞軸旋旋轉(zhuǎn)轉(zhuǎn)更更自然靈活。自然靈活。2024/2/42510.5.5 縮放幾何體縮放幾何體 1.在不同方向上的在不同方向上的縮縮放放 通通過對過對Transform節(jié)節(jié)點(diǎn)的點(diǎn)的scale和和scaleOrientation域的使用,可以沿任何方域的使用,可以沿任何方向向縮縮放需要的造型放需要的造型 2.圍繞圍繞中心點(diǎn)的中心點(diǎn)的縮縮放放 使用使用Transform的的center域可以指定一個(gè)域可以指定一個(gè)縮縮放中心,使要放中心,使要?jiǎng)?chuàng)創(chuàng)立的造型根據(jù)需要相立的造型根據(jù)需要相對對該該點(diǎn)來點(diǎn)來進(jìn)進(jìn)行行縮縮放,像旋放,像
27、旋轉(zhuǎn)轉(zhuǎn)中心一中心一樣樣,圍繞圍繞點(diǎn)的點(diǎn)的縮縮放有放有時(shí)時(shí)會(huì)會(huì)對對造型的造型的創(chuàng)創(chuàng)立提供比在不立提供比在不同方向上的同方向上的縮縮放更大的方便。放更大的方便。2024/2/42610.6 真真實(shí)實(shí)感感場場景景創(chuàng)創(chuàng)立立 10.6.1 光照光照 在在VRML中添加并控制光照是通中添加并控制光照是通過過PointLight節(jié)節(jié)點(diǎn)、點(diǎn)、DirectionalLight節(jié)節(jié)點(diǎn)和點(diǎn)和SpotLight節(jié)節(jié)點(diǎn)來點(diǎn)來實(shí)現(xiàn)實(shí)現(xiàn)的。的。VRML通通過對過對物體外表的明暗分布的物體外表的明暗分布的計(jì)計(jì)算,算,使物體同使物體同環(huán)環(huán)境境產(chǎn)產(chǎn)生明暗比照,生明暗比照,這樣這樣,物體,物體看起來就像是在看起來就像是在發(fā)發(fā)光。光
28、。2024/2/42710.6.1 光照光照1.PointLight1.PointLight節(jié)節(jié)節(jié)節(jié)點(diǎn)點(diǎn)點(diǎn)點(diǎn) PointLight PointLight節(jié)節(jié)節(jié)節(jié)點(diǎn)生成一個(gè)點(diǎn)光源,即生成的點(diǎn)生成一個(gè)點(diǎn)光源,即生成的點(diǎn)生成一個(gè)點(diǎn)光源,即生成的點(diǎn)生成一個(gè)點(diǎn)光源,即生成的光光光光線線線線是向四周是向四周是向四周是向四周發(fā)發(fā)發(fā)發(fā)散的。散的。散的。散的。2.DirectionalLight2.DirectionalLight節(jié)節(jié)節(jié)節(jié)點(diǎn)點(diǎn)點(diǎn)點(diǎn) DirectionalLight DirectionalLight節(jié)節(jié)節(jié)節(jié)點(diǎn)生成一個(gè)平行光源,點(diǎn)生成一個(gè)平行光源,點(diǎn)生成一個(gè)平行光源,點(diǎn)生成一個(gè)平行光源,即生成的光即
29、生成的光即生成的光即生成的光線線線線是平行向前是平行向前是平行向前是平行向前發(fā)發(fā)發(fā)發(fā)射的。射的。射的。射的。3.SpotLight3.SpotLight節(jié)節(jié)節(jié)節(jié)點(diǎn)點(diǎn)點(diǎn)點(diǎn) SpotLight SpotLight節(jié)節(jié)節(jié)節(jié)點(diǎn)點(diǎn)點(diǎn)點(diǎn)創(chuàng)創(chuàng)創(chuàng)創(chuàng)立了一個(gè)立了一個(gè)立了一個(gè)立了一個(gè)錐錐錐錐光源,即從一光源,即從一光源,即從一光源,即從一個(gè)光點(diǎn)位置呈個(gè)光點(diǎn)位置呈個(gè)光點(diǎn)位置呈個(gè)光點(diǎn)位置呈錐錐錐錐狀向一個(gè)特定的方向照射。狀向一個(gè)特定的方向照射。狀向一個(gè)特定的方向照射。狀向一個(gè)特定的方向照射。2024/2/42810.6.2 紋理紋理 大多數(shù)的大多數(shù)的VRMLVRML瀏覽器所支持的外表材質(zhì)的瀏覽器所支持的外表材質(zhì)的幾種
30、圖像格式為幾種圖像格式為JPEGJPEG、MPEGMPEG、GIFGIF和和PNGPNG,被稱為被稱為VRMLVRML材質(zhì)貼圖文件的標(biāo)準(zhǔn)格式。材質(zhì)貼圖文件的標(biāo)準(zhǔn)格式。在在VRMLVRML中,用于指定材質(zhì)外表貼圖的節(jié)點(diǎn)中,用于指定材質(zhì)外表貼圖的節(jié)點(diǎn)主要有主要有ImageTexture(ImageTexture(圖片紋理節(jié)點(diǎn)圖片紋理節(jié)點(diǎn))、MovieTexture(MovieTexture(影象紋理節(jié)點(diǎn)影象紋理節(jié)點(diǎn))、PixeTexture(PixeTexture(像素紋理節(jié)點(diǎn)像素紋理節(jié)點(diǎn))。下面分別。下面分別介紹這三種節(jié)點(diǎn)。介紹這三種節(jié)點(diǎn)。2024/2/42910.6.2 紋理紋理1.Image
31、Texture節(jié)點(diǎn)節(jié)點(diǎn) ImageTexture是圖像紋理節(jié)點(diǎn),指定了紋是圖像紋理節(jié)點(diǎn),指定了紋理映射屬性,通常作為理映射屬性,通常作為Appearance節(jié)點(diǎn)的節(jié)點(diǎn)的texture域的域值。域的域值。2024/2/43010.6.2 紋理紋理例例10.1710.17,我們?yōu)檎襟w貼上了黃山松的,我們?yōu)檎襟w貼上了黃山松的圖片,如圖圖片,如圖10.1610.16所示。所示。圖圖10.16 10.16 外表貼上紋理圖的外表貼上紋理圖的正方體正方體 2024/2/43110.6.2 紋理紋理2.MovieTexture2.MovieTexture節(jié)節(jié)節(jié)節(jié)點(diǎn)點(diǎn)點(diǎn)點(diǎn)Pixe TexturePixe T
32、exture節(jié)節(jié)節(jié)節(jié)點(diǎn)是點(diǎn)是點(diǎn)是點(diǎn)是像素像素像素像素紋紋紋紋理理理理節(jié)節(jié)節(jié)節(jié)點(diǎn),用點(diǎn),用點(diǎn),用點(diǎn),用來指定來指定來指定來指定紋紋紋紋理映射屬理映射屬理映射屬理映射屬性。性。性。性。從從從從圖圖圖圖10.1710.17中可以看中可以看中可以看中可以看出不同像素局部出不同像素局部出不同像素局部出不同像素局部顏顏顏顏色的灰度程度的差色的灰度程度的差色的灰度程度的差色的灰度程度的差異。異。異。異。圖圖圖圖10.17 10.17 不同灰度紋理不同灰度紋理不同灰度紋理不同灰度紋理 2024/2/432 霧化霧化 VRMLVRML允許在空間添加大氣效果,通過設(shè)定允許在空間添加大氣效果,通過設(shè)定大氣的狀態(tài)增加
33、場景的朦朧效果。如果場大氣的狀態(tài)增加場景的朦朧效果。如果場景中按遠(yuǎn)近有一系列的物體,空間距離只景中按遠(yuǎn)近有一系列的物體,空間距離只能影響它們在瀏覽器中的大小而不能表達(dá)能影響它們在瀏覽器中的大小而不能表達(dá)現(xiàn)實(shí)中因遠(yuǎn)近引起的清晰度的差異。如果現(xiàn)實(shí)中因遠(yuǎn)近引起的清晰度的差異。如果在場景中添加霧化效果,這一差異就能得在場景中添加霧化效果,這一差異就能得到表達(dá),從而使造型顯得更加逼真。到表達(dá),從而使造型顯得更加逼真。2024/2/433 霧化霧化下面給出霧化的一個(gè)例子下面給出霧化的一個(gè)例子,結(jié)果如圖結(jié)果如圖10.1810.18所示。所示。圖圖10.18 10.18 參加霧化效果的場參加霧化效果的場景圖景
34、圖 2024/2/43410.7 一個(gè)一個(gè)VRML虛擬漫游系統(tǒng)的虛擬漫游系統(tǒng)的設(shè)計(jì)設(shè)計(jì) 10.7.1 物體模型的設(shè)計(jì)物體模型的設(shè)計(jì)1.Collision節(jié)點(diǎn)節(jié)點(diǎn) Collision組節(jié)點(diǎn)觀測觀察者和組中的造型組節(jié)點(diǎn)觀測觀察者和組中的造型發(fā)生碰撞。發(fā)生碰撞。2024/2/43510.7.1 物體模型的設(shè)計(jì)物體模型的設(shè)計(jì) 2.2.椅子的椅子的椅子的椅子的設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)如下:如下:如下:如下:先先先先設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)座位局部,座位局部,座位局部,座位局部,為為為為一一一一BoxBox節(jié)節(jié)節(jié)節(jié)點(diǎn)點(diǎn)點(diǎn)點(diǎn) 設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)椅子的腿和靠背椅子的腿和靠背椅子的腿和靠背椅子的腿和靠背都是都是都是都是長長長長方
35、體,代方體,代方體,代方體,代碼碼碼碼和和和和座位局部座位局部座位局部座位局部類類類類似,就不似,就不似,就不似,就不詳細(xì)詳細(xì)詳細(xì)詳細(xì)列出了列出了列出了列出了 設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)椅子的兩個(gè)扶手,椅子的兩個(gè)扶手,椅子的兩個(gè)扶手,椅子的兩個(gè)扶手,扶手是由三個(gè)扶手是由三個(gè)扶手是由三個(gè)扶手是由三個(gè)長長長長方體方體方體方體組組組組合成的,所采用的合成的,所采用的合成的,所采用的合成的,所采用的節(jié)節(jié)節(jié)節(jié)點(diǎn)點(diǎn)點(diǎn)點(diǎn)為為為為BoxBox。圖圖圖圖10.19 10.19 椅子的模型椅子的模型椅子的模型椅子的模型 2024/2/43610.7.1 物體模型的設(shè)計(jì)物體模型的設(shè)計(jì) 3.3.桌子桌子桌子桌子 桌面為一長方體
36、,采桌面為一長方體,采桌面為一長方體,采桌面為一長方體,采用用用用BoxBoxBoxBox節(jié)點(diǎn),首先是外節(jié)點(diǎn),首先是外節(jié)點(diǎn),首先是外節(jié)點(diǎn),首先是外側(cè)的擋板,為一長方側(cè)的擋板,為一長方側(cè)的擋板,為一長方側(cè)的擋板,為一長方體,柜子的擋板和手體,柜子的擋板和手體,柜子的擋板和手體,柜子的擋板和手柄都是簡單的長方體,柄都是簡單的長方體,柄都是簡單的長方體,柄都是簡單的長方體,代碼和外側(cè)擋板類似。代碼和外側(cè)擋板類似。代碼和外側(cè)擋板類似。代碼和外側(cè)擋板類似。設(shè)計(jì)好之后就可以通設(shè)計(jì)好之后就可以通設(shè)計(jì)好之后就可以通設(shè)計(jì)好之后就可以通過坐標(biāo)的變換把右腿過坐標(biāo)的變換把右腿過坐標(biāo)的變換把右腿過坐標(biāo)的變換把右腿也構(gòu)造
37、出來,從而構(gòu)也構(gòu)造出來,從而構(gòu)也構(gòu)造出來,從而構(gòu)也構(gòu)造出來,從而構(gòu)造出桌子造出桌子造出桌子造出桌子 圖圖圖圖10.20 10.20 桌子的模型桌子的模型桌子的模型桌子的模型 2024/2/43710.7.1 物體模型的設(shè)計(jì)物體模型的設(shè)計(jì)4.顯示器顯示器顯示器的模型如圖顯示器的模型如圖10.21所示。所示。圖圖圖圖10.21 10.21 10.21 10.21 顯示器的模型顯示器的模型顯示器的模型顯示器的模型 2024/2/43810.7.2 漫游場景的最終生成漫游場景的最終生成 要將物體模型組合起來,需要將模型的文件要將物體模型組合起來,需要將模型的文件都包含到場景文件中,這需要用到都包含到場
38、景文件中,這需要用到Inline節(jié)節(jié)點(diǎn)。漫游場景的示意圖如圖點(diǎn)。漫游場景的示意圖如圖10.2310.23所示。所示。2024/2/43910.7.2 漫游場景的最終生成漫游場景的最終生成首先要設(shè)計(jì)瀏覽者的視角,使得虛擬人出首先要設(shè)計(jì)瀏覽者的視角,使得虛擬人出現(xiàn)在房間內(nèi)的位置。現(xiàn)在房間內(nèi)的位置。為了能將整個(gè)場景都照亮,需要在房間中為了能將整個(gè)場景都照亮,需要在房間中設(shè)置光源,這里采用點(diǎn)光源。設(shè)置光源,這里采用點(diǎn)光源。生成房子的地板為一長方體,并給它貼上生成房子的地板為一長方體,并給它貼上圖片紋理。圖片紋理。天花板也為一矩形,墻壁也為簡單的矩形,天花板也為一矩形,墻壁也為簡單的矩形,不使用貼圖不使
39、用貼圖 。2024/2/44010.7.2 漫游場景的最終生成漫游場景的最終生成窗戶主要由一些長方體組成框架,然后在窗戶主要由一些長方體組成框架,然后在墻壁的外面放上一張圖片模擬窗外的景色,墻壁的外面放上一張圖片模擬窗外的景色,從而不需要制造玻璃模型。長方體的框架從而不需要制造玻璃模型。長方體的框架之間主要是先計(jì)算好坐標(biāo),然后構(gòu)成所需之間主要是先計(jì)算好坐標(biāo),然后構(gòu)成所需要的窗戶模型,這里只給出窗外的風(fēng)景畫要的窗戶模型,這里只給出窗外的風(fēng)景畫的代碼。的代碼。門主要由兩個(gè)長方體組成,這里不詳細(xì)介門主要由兩個(gè)長方體組成,這里不詳細(xì)介紹。要注意的是兩個(gè)長方體之間要留有一紹。要注意的是兩個(gè)長方體之間要留有一些空隙,從而產(chǎn)生門的觀感。些空隙,從而產(chǎn)生門的觀感。2024/2/44110.7.2 漫游場景的最終生成漫游場景的最終生成設(shè)計(jì)完房間的構(gòu)架,下面就是往房間中參設(shè)計(jì)完房間的構(gòu)架,下面就是往房間中參加前面構(gòu)造的桌子、電腦等模型,這要使加前面構(gòu)造的桌子、電腦等模型,這要使用用InlineInline節(jié)點(diǎn),這里主要是計(jì)算好坐標(biāo),節(jié)點(diǎn),這里主要是計(jì)算好坐標(biāo),把物體放在適當(dāng)?shù)奈恢?。把物體放在適當(dāng)?shù)奈恢?。添加完所有的模型,那么整個(gè)虛擬場景即添加完所有的模型,那么整個(gè)虛擬場景即構(gòu)造完畢。構(gòu)造完畢。2024/2/442
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 采購管理4
- 手術(shù)室的安全管理教材
- 圖表文轉(zhuǎn)換之徽標(biāo)..課件
- 3.2.1古典概型
- 廣泛的民主權(quán)利 (3)
- 3.3公式法(1)
- 哲學(xué)家和船夫的故事
- 古詩十九首-行行重行行
- 第8章 財(cái)務(wù)報(bào)表
- 戰(zhàn)略性績效管理篇_方振邦
- 銅梁總規(guī)分析課件
- 1.2有理數(shù) (3)
- 第二章市場經(jīng)濟(jì)體制-第一章政治經(jīng)濟(jì)學(xué)研究對象與經(jīng)濟(jì)制度
- 彌漫大B細(xì)胞淋巴瘤一線治療新標(biāo)準(zhǔn)課件
- 對公信貸政策知識(shí)培訓(xùn)