虛擬現(xiàn)實(shí)技術(shù)-vrml2_第1頁(yè)
虛擬現(xiàn)實(shí)技術(shù)-vrml2_第2頁(yè)
虛擬現(xiàn)實(shí)技術(shù)-vrml2_第3頁(yè)
虛擬現(xiàn)實(shí)技術(shù)-vrml2_第4頁(yè)
虛擬現(xiàn)實(shí)技術(shù)-vrml2_第5頁(yè)
已閱讀5頁(yè),還剩50頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

虛擬現(xiàn)實(shí)技術(shù)虛擬現(xiàn)實(shí)技術(shù)2022/11/42VRML編程VRML,2021內(nèi)容提要Shape節(jié)點(diǎn)根本幾何造型造型材質(zhì)控制Group節(jié)點(diǎn)節(jié)點(diǎn)定義及引用VRML,20211.1Shape節(jié)點(diǎn)VRML虛擬場(chǎng)景中的空間造型使用Shape節(jié)點(diǎn)加以創(chuàng)立。場(chǎng)景造型包括根本幾何造型(立方體、球體、圓柱體、圓錐體),文本造型以及以點(diǎn)、線、面方式構(gòu)造的任意幾何造型。(1)Shape節(jié)點(diǎn)語(yǔ)法格式如下: Shape{ appearanceNULL #exposedFieldSFNode geometryNULL #exposedFieldSFNode }Shape節(jié)點(diǎn)由兩個(gè)重要的屬性組成,即造型的外觀屬性和幾何屬性。VRML,2021Shape節(jié)點(diǎn)造型的外觀屬性由appearance域的域值設(shè)置:指定另一個(gè)外觀節(jié)點(diǎn)Appearance節(jié)點(diǎn),缺省為NuLL,表示不包含任何外觀節(jié)點(diǎn),此時(shí)系統(tǒng)使用缺省的造型外觀屬性(白色發(fā)光)。造型的幾何屬性由geometry域的域值設(shè)置:指定另一個(gè)造型節(jié)點(diǎn),如Box、Sphere節(jié)點(diǎn)等,其缺省為NULL,表示不包含任何造型節(jié)點(diǎn),即不創(chuàng)立任何造型。Shape節(jié)點(diǎn)的功能在于創(chuàng)立geometry域設(shè)置的造型,并將Appearance節(jié)點(diǎn)指定的外觀屬性應(yīng)用到geometry域的造型節(jié)點(diǎn)上。VRML,2021Shape節(jié)點(diǎn)(2)Appearance節(jié)點(diǎn)語(yǔ)法格式Appearance節(jié)點(diǎn)用于指定造型的外觀屬性,常作為Shape節(jié)點(diǎn)appearance域的域值使用。Appearance節(jié)點(diǎn)由3個(gè)重要的屬性組成,即造型的材質(zhì)屬性、紋理渲染屬性以及紋理變換屬性。

Appearance{ materialNULL #exposedFieldSFNode textureNULL #exposedFieldSFNode textureTransformNULL#exposedFieldSFNode }VRML,2021Shape節(jié)點(diǎn)material域設(shè)置造型的材質(zhì)屬性,其域值指定另一個(gè)材質(zhì)節(jié)點(diǎn)Material,缺省為NULL,此時(shí)系統(tǒng)使用缺省的造型材質(zhì)屬性。texture域設(shè)置造型的紋理渲染屬性,其域值指定一個(gè)應(yīng)用于造型的二維紋理映射(如ImageTexture、PixelTexture、MovieTexture),缺省為NULL,表示不應(yīng)用任何紋理映射。textureTransform域設(shè)置造型的紋理變換屬性,其域值指定紋理映射到造型時(shí)所使用的二維紋理坐標(biāo)變換,缺省域值為NULL,表示不對(duì)紋理進(jìn)行任何坐標(biāo)變換。VRML,20211.2根本幾何造型VRML根本幾何造型共有4種,它們是立方體、球體、圓柱體以及圓錐體幾何造型,分別使用Box節(jié)點(diǎn)、Sphere節(jié)點(diǎn)、Cylinder節(jié)點(diǎn)和Cone節(jié)點(diǎn)加以創(chuàng)立。造型的幾何屬性由Shape節(jié)點(diǎn)的geometry域的域值設(shè)置,它要具體指定的另一個(gè)造型節(jié)點(diǎn)可以是Box、Sphere、Cylinder、Cone標(biāo)準(zhǔn)幾何造型節(jié)點(diǎn)或文本節(jié)點(diǎn)或以點(diǎn)、線、面方式構(gòu)造幾何造型的非根本幾何造型節(jié)點(diǎn)。VRML,2021根本幾何造型1.Box節(jié)點(diǎn) 用于創(chuàng)立標(biāo)準(zhǔn)立方體幾何造型。Box節(jié)點(diǎn)語(yǔ)法格式如下: Box{ size2.02.02.0 #fieldSFVec3f }VRML,2021根本幾何造型size域值指定一個(gè)以VRML空間坐標(biāo)系原點(diǎn)為中心,且每個(gè)面均與坐標(biāo)平面平行的三維

長(zhǎng)方體的長(zhǎng)、寬、高尺寸。缺省值為(2.02.02.0),分別表示長(zhǎng)方體在x、y、z軸方向上的長(zhǎng)度值。VRML,2021根本幾何造型例1標(biāo)準(zhǔn)立方體VRML,2021根本幾何造型VRML,2021根本幾何造型例2創(chuàng)立平板造型VRML,2021根本幾何造型VRML,2021根本幾何造型2.Sphere節(jié)點(diǎn) 用以創(chuàng)立標(biāo)準(zhǔn)球體幾何造型。Sphere節(jié)點(diǎn)語(yǔ)法格式如下: Sphere{ radius1.0 #fieldSFFloat }VRML,2021根本幾何造型Sphere節(jié)點(diǎn)僅包含一個(gè)radius私有域,radius域的域值指定一個(gè)以VRML空間坐標(biāo)系原點(diǎn)為中心的球體的半徑尺寸,其缺省值為1.0。VRML,2021根本幾何造型例3圓球Background節(jié)點(diǎn)用以渲染場(chǎng)景背景設(shè)置天空背景顏色為白色,默認(rèn)為黑色。VRML,2021根本幾何造型VRML,2021根本幾何造型3.Cylinder節(jié)點(diǎn) 用于創(chuàng)立標(biāo)準(zhǔn)圓柱體幾何造型。Cylinder節(jié)點(diǎn)語(yǔ)法格式如下: Cylinder{ radius1.0 #fieldSFFloat height2.0 #fieldSFFloat topTURE #fieldSFBool sideTURE #fieldSFBool bottomTURE #fieldSFBool }VRML,2021根本幾何造型radius域:以y軸為中心軸的圓柱體的底圓半徑尺寸(缺省值為1.0)height域:圓柱體在y軸上的高度(缺省值為2.0)top域:是否繪制頂圓(缺省值為TRUE)side域:是否繪制圓柱側(cè)面(缺省值為TRUE)bottom域:是否繪制底圓(缺省值為TRUE)VRML,2021根本幾何造型Cylinder節(jié)點(diǎn)共有5個(gè)私有域。標(biāo)準(zhǔn)Cylinder節(jié)點(diǎn)創(chuàng)立的是底圓半徑為1個(gè)VRML長(zhǎng)度單位,高度為2個(gè)VRML長(zhǎng)度單位的以空間坐標(biāo)系原點(diǎn)為中心、以y軸為中心軸的圓柱體。VRML,2021根本幾何造型例4有底無(wú)頂圓柱半徑為1個(gè)單位長(zhǎng)度、高度為2個(gè)單位長(zhǎng)度的有底無(wú)頂圓柱體造型。VRML,2021根本幾何造型VRML,2021根本幾何造型4.Cone節(jié)點(diǎn) 用以創(chuàng)立標(biāo)準(zhǔn)圓錐體幾何造型。Cone節(jié)點(diǎn)語(yǔ)法格式如下: Cone{ bottomRadius1.0 #fieldSFFloat height2.0 #fieldSFFloat sideTRUE #fieldSFBool bottomTRUE #fieldSFBool }VRML,2021根本幾何造型bottomRadius域:以y軸為中心軸的圓錐體的底圓半徑尺寸(缺省值為1.0)height域:圓錐體在y軸上的高度(缺省值為2.0)side域:是否繪制錐面(缺省值為TRUE)bottom域:是否繪制底面(缺省值為TRUE)VRML,2021根本幾何造型Cone節(jié)點(diǎn)共有4個(gè)私有域。標(biāo)準(zhǔn)Cone節(jié)點(diǎn)創(chuàng)立的是底圓半徑為1個(gè)VRML長(zhǎng)度單位,高度為2個(gè)VRML長(zhǎng)度單位的以空間坐標(biāo)系原點(diǎn)為中心、以Y軸為中心軸的圓錐體。VRML,2021根本幾何造型例5谷倉(cāng)VRML,2021根本幾何造型VRML,20211.3造型材質(zhì)控制造型的材質(zhì)屬性,包括造型的反光顏色、發(fā)光顏色、明亮程度以及透明度等。造型的材質(zhì)控制使用Appearance節(jié)點(diǎn)的material域的域值設(shè)置。1.材質(zhì)的顏色外觀

VRML中,造型的顏色通常使用RGB色彩進(jìn)行度量,造型材質(zhì)的顏色外觀分別由Red、Green、Blue三原色進(jìn)行調(diào)制設(shè)置。VRML,2021造型材質(zhì)控制

該顏色數(shù)據(jù)由一組分別表示RGB分量的三個(gè)浮點(diǎn)數(shù)值構(gòu)成,每個(gè)浮點(diǎn)數(shù)的取值范圍是0.0~1.0。常見顏色的RGB分量2022/11/431VRML,2021虛擬現(xiàn)實(shí)網(wǎng)絡(luò)程序設(shè)計(jì)造型材質(zhì)控制2.發(fā)光材質(zhì) VRML在材質(zhì)控制中設(shè)置了相應(yīng)的材質(zhì)發(fā)光屬性,不但可以設(shè)置其發(fā)光顏色,而且可以設(shè)置其發(fā)光強(qiáng)度。3.材質(zhì)透明度 不同的造型有不同的材質(zhì)透明度。材質(zhì)的透明度不同,透過材質(zhì)的光線數(shù)量就不等。完全透明的材質(zhì),光線透過造型而使其后場(chǎng)景清晰可見;半透明的材質(zhì),局部光線透過而使其后的場(chǎng)景隱約可見;完全不透明的材質(zhì),光線無(wú)法透過該造型而使其后的場(chǎng)景完全不可見。VRML,2021虛擬現(xiàn)實(shí)網(wǎng)絡(luò)程序設(shè)計(jì)造型材質(zhì)控制4.Material節(jié)點(diǎn)

用于指定造型使用的材質(zhì)屬性。Material節(jié)點(diǎn)語(yǔ)法格式如下:

Material{ diffuseColor0.80.80.8 #exposedFieldSFColor emissiveColor0.00.00.0 #exposedFieldSFColor specularColor0.00.00.0 #exposedFieldSFColor ambientIntensity0.2 #exposedFieldSFColor shininess0.2 #exposedFieldSFFloat transparency0.0 #exposedFieldSFFloat }VRML,2021虛擬現(xiàn)實(shí)網(wǎng)絡(luò)程序設(shè)計(jì)造型材質(zhì)控制Material節(jié)點(diǎn)共包含以下6個(gè)公共域的屬性設(shè)置:(1) diffuseColor域 材質(zhì)的漫反射顏色。造型外表相對(duì)于光源的角度將決定它對(duì)來自光源的顏色光線的反射強(qiáng)度,外表越接近垂直于光線,被反射的顏色光線就越多。該域值由一個(gè)三維數(shù)組來表示RGB分量,其缺省值為(0.80.80.8),表示中強(qiáng)度的白光。(2) emissiveColor域 發(fā)光材質(zhì)發(fā)射光線的顏色,其缺省值為(0.00.00.0),表示發(fā)射光線為黑色。發(fā)光顏色在創(chuàng)立基于輻射度造型或在顯示可視化科學(xué)數(shù)據(jù)時(shí)廣泛應(yīng)用。VRML,2021虛擬現(xiàn)實(shí)網(wǎng)絡(luò)程序設(shè)計(jì)造型材質(zhì)控制(3) specularColor域

材質(zhì)鏡面反射光線的RGB顏色,缺省值為(0.00.00.0),表示鏡面反射光線為黑色。(4) ambientIntensity域

將有多少環(huán)境光線被該材質(zhì)反射。環(huán)境光線具有各向同性屬性,并僅依賴于光源的數(shù)目,它的顏色由ambientIntensity乘以diffuseColor計(jì)算;該域值的缺省值為0.2,表示對(duì)光源產(chǎn)生較少的環(huán)境光線反射效果。VRML,2021虛擬現(xiàn)實(shí)網(wǎng)絡(luò)程序設(shè)計(jì)造型材質(zhì)控制(5) shininess域

造型材質(zhì)的明亮程度,其值從漫反射材質(zhì)的0.0到高度拋光材質(zhì)的1.0之間取值,缺省值為0.2,表示適當(dāng)?shù)牟馁|(zhì)亮度。specularColor域和shininess域共同決定了鏡面反射光線的效果。(6) transparency域

造型材質(zhì)的透明屬性,其值從完全不透明材質(zhì)的0.0到完全透明材質(zhì)的1.0之間取值,缺省值為0.0,表示完全不透明材質(zhì)。VRML,2021虛擬現(xiàn)實(shí)網(wǎng)絡(luò)程序設(shè)計(jì)造型材質(zhì)控制常見材質(zhì)的material域值屬性VRML,2021虛擬現(xiàn)實(shí)網(wǎng)絡(luò)程序設(shè)計(jì)造型材質(zhì)控制例6金箍棒VRML,2021虛擬現(xiàn)實(shí)網(wǎng)絡(luò)程序設(shè)計(jì)造型材質(zhì)控制VRML,2021虛擬現(xiàn)實(shí)網(wǎng)絡(luò)程序設(shè)計(jì)造型材質(zhì)控制例7發(fā)光燈泡VRML,2021虛擬現(xiàn)實(shí)網(wǎng)絡(luò)程序設(shè)計(jì)造型材質(zhì)控制VRML,2021虛擬現(xiàn)實(shí)網(wǎng)絡(luò)程序設(shè)計(jì)造型材質(zhì)控制如果將該例程序代碼中的emissiveColor域替換成diffuseColor域且域值不變,場(chǎng)景有什么變化?調(diào)整NavigationInfo節(jié)點(diǎn)headlight域的域值為FALSE,同時(shí)調(diào)整emissiveColor域?yàn)閐iffuseColor域,看兩者有何區(qū)別。VRML,2021虛擬現(xiàn)實(shí)網(wǎng)絡(luò)程序設(shè)計(jì)造型材質(zhì)控制例8三維模具VRML,2021虛擬現(xiàn)實(shí)網(wǎng)絡(luò)程序設(shè)計(jì)造型材質(zhì)控制VRML,2021虛擬現(xiàn)實(shí)網(wǎng)絡(luò)程序設(shè)計(jì)1.4Group編組節(jié)點(diǎn)Group編組節(jié)點(diǎn) 使用Group編組節(jié)點(diǎn)可以將多個(gè)相同或不同的VRML節(jié)點(diǎn)進(jìn)行編組,以捆綁創(chuàng)立復(fù)雜造型。Group編組節(jié)點(diǎn)語(yǔ)法格式如下: Group{ children[] #exposedFieldMFNode bboxCenter0.00.00.0 #fieldSFVec3f bboxSize-1.0-1.0-1.0 #fieldSFVec3f addChildren #eventlnMFNode removeChildren #eventlnMFNode }VRML,2021虛擬現(xiàn)實(shí)網(wǎng)絡(luò)程序設(shè)計(jì)Group編組節(jié)點(diǎn)Group編組節(jié)點(diǎn)包括一個(gè)公共域、兩個(gè)私有域以及一個(gè)入事件和一個(gè)出事件:children域設(shè)置包含在該編組節(jié)點(diǎn)中的子節(jié)點(diǎn)列表,該域值缺省為空列表,即不包含任何子節(jié)點(diǎn)。bboxCenter域設(shè)置包圍該編組節(jié)點(diǎn)造型的包圍盒的中心點(diǎn)坐標(biāo),該域值缺省為(0.00.00.0)。VRML,2021虛擬現(xiàn)實(shí)網(wǎng)絡(luò)程序設(shè)計(jì)Group編組節(jié)點(diǎn)bboxSize域包圍該編組節(jié)點(diǎn)造型的包圍盒在當(dāng)前坐標(biāo)系x、y、z方向上的尺寸,該域值缺省為(-1.0-1.0-1.0),即默認(rèn)不人為設(shè)置包圍盒,由瀏覽器渲染時(shí)自動(dòng)設(shè)置。addChildren入事件用于將指定的節(jié)點(diǎn)增加到該編組節(jié)點(diǎn)的子節(jié)點(diǎn)列表中;假設(shè)該節(jié)點(diǎn)已在子節(jié)點(diǎn)列表中,那么事件將被忽略。removeChildren入事件用于將指定的節(jié)點(diǎn)從編組節(jié)點(diǎn)的子節(jié)點(diǎn)列表中刪除;假設(shè)該節(jié)點(diǎn)不在子節(jié)點(diǎn)列表中,那么事件將被忽略。VRML,2021虛擬現(xiàn)實(shí)網(wǎng)絡(luò)程序設(shè)計(jì)Group編組節(jié)點(diǎn)注意:大局部編組節(jié)點(diǎn)都使用bboxCenter和bboxSize域描述包圍盒。包圍盒設(shè)置包圍編組節(jié)點(diǎn)內(nèi)部所有幾何造型的一個(gè)立方體。包圍盒應(yīng)大到能包含組中所有可能的活動(dòng)空間。當(dāng)包圍盒在視野內(nèi)時(shí),瀏覽器將繪制包圍盒內(nèi)的全部場(chǎng)景。如果包圍盒過大,將導(dǎo)致許多不必見、不可見的場(chǎng)景也被繪制了。此時(shí)應(yīng)使用諸如Group或Transform等編組節(jié)點(diǎn)對(duì)場(chǎng)景進(jìn)行分割規(guī)劃,遵循的原那么是一個(gè)組節(jié)點(diǎn)所跨越的場(chǎng)景不應(yīng)過大,以方便瀏覽器實(shí)時(shí)渲染。VRML,2021虛擬現(xiàn)實(shí)網(wǎng)絡(luò)程序設(shè)計(jì)Group

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論