VRML高級(jí)三維模型.ppt
《VRML高級(jí)三維模型.ppt》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《VRML高級(jí)三維模型.ppt(31頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、第四講 VRML高級(jí)三維模型,,大綱,造型的編組與素材調(diào)用 Group DEF/USE 造型的外觀(guān)設(shè)計(jì) Material節(jié)點(diǎn) 創(chuàng)建文本造型 高級(jí)三維模型 點(diǎn)集造型節(jié)點(diǎn) 線(xiàn)集造型節(jié)點(diǎn) 面集造型節(jié)點(diǎn) 擠出造型節(jié)點(diǎn) 網(wǎng)格標(biāo)高造型節(jié)點(diǎn) 作業(yè),造型的編組與素材調(diào)用,造型的編組和素材調(diào)用 VRML提供了一類(lèi)具有編組功能的節(jié)點(diǎn),可以將多個(gè)造型作為自己的子節(jié)點(diǎn)組合成一個(gè)整體,一起進(jìn)行平移、旋轉(zhuǎn)、縮放等操作: Group編組節(jié)點(diǎn) Transform變換節(jié)點(diǎn) Inline內(nèi)聯(lián)結(jié)點(diǎn) Anchor超級(jí)鏈接節(jié)點(diǎn) Switch選擇開(kāi)關(guān)結(jié)點(diǎn) Billboard布告牌節(jié)點(diǎn) LOD層次細(xì)節(jié)控制節(jié)點(diǎn),造型的編組與素材調(diào)用,Gro
2、up編組節(jié)點(diǎn) 編組節(jié)點(diǎn)可以包含任意數(shù)目的子節(jié)點(diǎn),將多個(gè)簡(jiǎn)單造型組合成一組復(fù)雜造型,作為一個(gè)整體進(jìn)行設(shè)計(jì)、命名和調(diào)用。 語(yǔ)法: Group { children [ ] [ ] #exposedField MFNode bboxCenter 0.0 0.0 0.0 #SFVec3f bboxsize - 1 -1 -1 #SFVec3f addChildren #eventIn MFNode removeChildren #eventIn MFNode },造型的編組與素材調(diào)用,children域 用于設(shè)定包含在該組結(jié)點(diǎn)中的所有子節(jié)點(diǎn),通常為
3、Shape造型節(jié)點(diǎn)、Transform坐標(biāo)變換節(jié)點(diǎn)及下一層的Group結(jié)點(diǎn),組節(jié)點(diǎn)的數(shù)目無(wú)限制。 默認(rèn)為空列表。 bboxCenter域 用于設(shè)定包圍該組節(jié)點(diǎn)所有造型的包圍盒的中心點(diǎn)坐標(biāo)。 默認(rèn)值為 (0 0 0),中心點(diǎn)在原點(diǎn)。 bboxSize域 設(shè)定包圍在當(dāng)前包圍盒的尺寸。 默認(rèn)值為(-1 -1 -1),由系統(tǒng)設(shè)置。 addChildren入事件用于將指定節(jié)點(diǎn)加入到該組節(jié)點(diǎn)列表中。 removeChildren入事件用于將指定節(jié)點(diǎn)從該組節(jié)點(diǎn)列表中刪除。,造型的編組與素材調(diào)用,節(jié)點(diǎn)名的定義與重用 在虛擬空間的場(chǎng)景中,為了減少源代碼的編寫(xiě)量,提高效率,對(duì)重復(fù)的造型,通過(guò)可以先定義,后重復(fù)使用
4、該定義。 編寫(xiě)簡(jiǎn)練; 減少程序代碼; 層次清晰; 結(jié)構(gòu)合理; DEF 節(jié)點(diǎn)名 節(jié)點(diǎn)類(lèi)型{ } USE 節(jié)點(diǎn)名 節(jié)點(diǎn)名可以由任何字母和數(shù)字開(kāi)頭;不能包括單引號(hào)、雙引號(hào)、數(shù)字運(yùn)算或英鎊符號(hào)。 定義的節(jié)點(diǎn)只在本文件范圍內(nèi)調(diào)用有效,一旦對(duì)被定義的源節(jié)點(diǎn)的域值進(jìn)行修改,所有引用節(jié)點(diǎn)的域值都隨之改變。 舉例:desk.wrl,造型的外觀(guān)設(shè)計(jì),Appearance節(jié)點(diǎn) 立體幾何造型的外觀(guān)設(shè)計(jì) 為造型添加顏色; 設(shè)置有關(guān)材質(zhì)的屬性,創(chuàng)建出金屬、玻璃、石頭等屬性: 透明度 反光度 發(fā)光度 為造型添加紋理貼圖,增強(qiáng)造型的真實(shí)感。,造型的外觀(guān)設(shè)計(jì),語(yǔ)法: Appearance{ material NULL
5、#exposedField SFNode texture NULL #exposedField SFNode textureTransform NULL #exposedField SFNode } 域值說(shuō)明: material域用于設(shè)定立體造型外觀(guān)的材質(zhì)屬性。 texture域用于設(shè)定立體造型表面靜態(tài)或動(dòng)態(tài)的紋理貼圖。 textureTransform域用于對(duì)使用的紋理貼圖進(jìn)行坐標(biāo)變換。,造型的外觀(guān)設(shè)計(jì),Material材質(zhì)節(jié)點(diǎn) 當(dāng)節(jié)點(diǎn)為NULL時(shí), 即apperance Appearance { material NULL}或 apperance Appearance{ }
6、表示相關(guān)的幾何體本身為發(fā)白光的材質(zhì),忽略周?chē)乃泄庹?,造型為純白色,無(wú)任何亮度對(duì)比,無(wú)立體感。 當(dāng)節(jié)點(diǎn)為空時(shí), 即appearance Appearance{matrial Material{ } } 表示一個(gè)默認(rèn)材質(zhì)結(jié)點(diǎn),采取默認(rèn)的光照,呈現(xiàn)淺灰色,有亮度對(duì)比和立體感。 舉例,造型的外觀(guān)設(shè)計(jì),Material節(jié)點(diǎn) 語(yǔ)法 Material { diffuseColor 0.8 0.8 0.8 #exposedField SFColor ambientIntensify 0.2 #exposedField SFFlot specularColor 0 0 0 # exposedFi
7、eld SFColor emissiveColor 0 0 0 # exposedField SFColor shininess 0.2 #exposedField SFFlot transparency 0 #exposedField SFFlot },造型的外觀(guān)設(shè)計(jì),diffuseColor域 設(shè)定物體的漫反射顏色:當(dāng)光照射在物體表面時(shí),物體表面向各個(gè)方向反射的基本色彩。 域值由三個(gè)浮點(diǎn)值組成,分別代表紅、綠、藍(lán)三原色(RGB)。 默認(rèn)值為0.8 0.8 0.8,淺灰色。 ambientIntensify域 設(shè)定有多少環(huán)境光線(xiàn)被物體表面反射。 環(huán)境光各向同性,以dif
8、fuseColor*ambientIntensify來(lái)計(jì)算。 默認(rèn)值為0.2。,造型的外觀(guān)設(shè)計(jì),specularColor域 設(shè)定鏡面反射光的顏色。 入射角等于反射角是鏡面反射的基本原理。 設(shè)置了鏡面反射,會(huì)因觀(guān)察角度變化感受到強(qiáng)弱不同的反射效果。 默認(rèn)值為0 0 0 ,反射光為黑色。 emmisiveColor域 設(shè)定發(fā)光物體產(chǎn)生光的顏色。 默認(rèn)值為0 0 0,表示不發(fā)光。,造型的外觀(guān)設(shè)計(jì),shininess域 設(shè)定物體表面的亮度。 取值范圍從漫反射表面的0到高度拋光表面的1; 較小的取值表示像纖維材質(zhì); 較大的取值表示像金屬材質(zhì)。 默認(rèn)值為 0.2。 Transparency域 設(shè)定物體的
9、透明度。 取值范圍從不透明的0到完全透明的1。 默認(rèn)值為0.0,表示不透明。,造型的外觀(guān)設(shè)計(jì),,創(chuàng)建文本造型,文本(Text)是場(chǎng)景中的一種造型,但不是幾何造型。 VRML的文本對(duì)場(chǎng)景進(jìn)行說(shuō)明、信息提示和超級(jí)鏈接。 性質(zhì): 有不同的外觀(guān)和材質(zhì)屬性; 可以進(jìn)行紋理包裝; 它是一個(gè)沒(méi)有厚度的平面造型,不具備三維立體特征。 Text語(yǔ)法 Text{ string [ ] #exposedField MFString length [ ] #exposedField MFFlot maxExtent 0.0 #exposed SFFLot fontStyle NULL #exposed
10、 SFNode },創(chuàng)建文本造型,string域 設(shè)定要?jiǎng)?chuàng)建的文本內(nèi)容。 域值可以是一行文本,也可以是多行文本。 每一行的文本都要包含在雙引號(hào)內(nèi),多行文本要用逗號(hào)或空格分隔,或者分行書(shū)寫(xiě),在引號(hào)內(nèi)的回車(chē)符、換行符無(wú)效。 行間距由FontStyle文本外觀(guān)節(jié)點(diǎn)的Spacing域的域值設(shè)定。 默認(rèn)值為空列表,不創(chuàng)建任何文本。 例:[“Hello”,”I am a Student”] [“Welcom To ”,“Xiamen Univ.” ],創(chuàng)建文本造型,length域 域值為每一行文本造型設(shè)定長(zhǎng)度。 長(zhǎng)度以VRML長(zhǎng)度單位計(jì)算。 根據(jù)設(shè)定的長(zhǎng)度,系統(tǒng)自動(dòng)改變字符的尺寸或字符間距來(lái)滿(mǎn)足設(shè)定的長(zhǎng)
11、度。 默認(rèn)值為空列表,由系統(tǒng)自動(dòng)設(shè)定。 maxExtent域 域值設(shè)定任意行或列文本的最大有效長(zhǎng)度。 當(dāng)某一行文本造型的長(zhǎng)度大于它的域值時(shí),系統(tǒng)將通過(guò)改變字符尺寸和字符間距將其壓縮到其域值所設(shè)定的最大有效長(zhǎng)度內(nèi)。 默認(rèn)值為0.0,不對(duì)長(zhǎng)度進(jìn)行最大限制。 注意:其他沒(méi)被壓縮行的字符間距與被壓縮行的字符間距相同。,創(chuàng)建文本造型,fontStyle域 設(shè)定文本造型的外觀(guān)特征。 域值為NULL或一個(gè)FontStyle結(jié)點(diǎn)。 當(dāng)域值NULL時(shí),表示使用默認(rèn)的外觀(guān)特征: 左對(duì)齊; 水平從左到右排列; 垂直方面從上到下排列; 文本高度為1.0; 文本間距為1.0; 字體為Serif。,創(chuàng)建文本造型,Font
12、Style節(jié)點(diǎn) 用于設(shè)定文本的語(yǔ)種、字符的大小和形狀、字體的風(fēng)格以及文本的對(duì)齊方式、排列方式,行間距或列間距等。 語(yǔ)法: FontStyle{ family “SERIF” #SFString size 1.0 #SFFloat spacing 1.0 #SFFloat style “PLAIN” #SFString Horizontal TRUE #SFBool justify [“BEGIN”] #MFString leftToRight TRUE #SFBool topToBottom TRUE #SFBool langu
13、age “” #SFString },創(chuàng)建文本造型,family域 設(shè)定文本造型的字符集。 字符集有三種: “SERIF”,它是一種細(xì)線(xiàn)變寬字體,系統(tǒng)選用Times New Roman字體; “SANS”,它是一種簡(jiǎn)單變寬字體,系統(tǒng)選用Helvertica字體; “TYPEWRITER”,它是一種等寬字體,系統(tǒng)選用Coutier字體。 默認(rèn)值為”SERIF”。 size域 設(shè)定文本字符的尺寸; 水平排列時(shí),設(shè)定文本高度;垂直排列時(shí),設(shè)定文本寬度; 默認(rèn)時(shí)為1.0。,創(chuàng)建文本造型,spacing域 設(shè)定文本字符的行間距。 當(dāng)水平排列時(shí),為行間距; 當(dāng)垂直排列時(shí),為列間距; 默認(rèn)值為1
14、.0。 style域 設(shè)定文本造型的字體風(fēng)格; 有四種:“PLAIN” 普通體;“BOLD”粗體; “ITALIC”斜體; “BOLDITALIC” 加粗斜體。 默認(rèn)值為 “PLAIN”。,創(chuàng)建文本造型,Horizontal域 設(shè)置文本造型的主排列方向:水平或垂直; 默認(rèn)值為T(mén)RUE,表示水平方向是主排列方向、垂直方向是次排列方向。 Justify域 表示文本造型中字符塊的對(duì)齊方式; 域值為含有一個(gè)或兩個(gè)域值的列表; 有兩個(gè)域值時(shí),用空格或逗號(hào)分隔; 第一個(gè)為主對(duì)齊方式;第二個(gè)為次對(duì)齊方式; 當(dāng)水平排列時(shí),主對(duì)齊方式為水平方向,次對(duì)齊方式為垂直方向; 當(dāng)垂直排列時(shí),主對(duì)齊方式為垂直方向,次對(duì)齊
15、方式為水平方向。 有四種類(lèi)型:“BEGIN”左對(duì)齊;“MIDDLE”居中對(duì)齊;“END”右對(duì)齊;“FIRST”; 默認(rèn)值為 [ “BEGIN”,“FIRST” ]。,創(chuàng)建文本造型,leftToRight域 設(shè)定文本造型的字符是否從左到右排列; 默認(rèn)值TRUE,從左到右。 topToBottom域 設(shè)定文本造型中的文本是否從上到下排列; 默認(rèn)值為T(mén)RUE,從上到下。 Language域 設(shè)定文本造型使用的語(yǔ)言; 以?xún)蓚€(gè)字母表示,有不同語(yǔ)言編碼的地區(qū)在語(yǔ)言代碼后加連字符和地區(qū)編碼: ar(阿拉伯);de(德語(yǔ));de_DE(德語(yǔ)[德國(guó)]);de_CH(德語(yǔ)[瑞士]);en(英語(yǔ));en_US(英語(yǔ)
16、[美國(guó)]);en_GB(英語(yǔ)[英國(guó)]);hi(印度);jp(日語(yǔ));ru(俄語(yǔ));sa(梵語(yǔ));zh(中文);zh_TW(中文繁體);zh_CN(中文簡(jiǎn)體);,創(chuàng)建文本造型,舉例:例3-39、3-40、3-41、3-42、3-43,高級(jí)三維模型,PointSet點(diǎn)集節(jié)點(diǎn) VRML中點(diǎn)的造型是用X、Y、Z三維坐標(biāo)定位,大小為一個(gè)像素的空間點(diǎn)。 點(diǎn)集就是不同位置空間點(diǎn)的集合。 用途: 模擬天上閃爍的繁星和遠(yuǎn)處點(diǎn)點(diǎn)的燈光; 特性: 不受光源影響; 不能粘貼紋理; 不能進(jìn)行碰撞檢測(cè);,高級(jí)三維模型,語(yǔ)法: PointSet { coord NULL #exposedField SFNode col
17、or NULL #exposedField SFNode } coord 域設(shè)定離散點(diǎn)的三維坐標(biāo)位置; color 域設(shè)定空間點(diǎn)的顏色;,高級(jí)三維模型,當(dāng)域coord 可取值NULL,表示無(wú)任何點(diǎn)造型。 當(dāng)域coord取值Coordinate坐標(biāo)節(jié)點(diǎn)時(shí),表示對(duì)點(diǎn)的坐標(biāo)進(jìn)行定位。 Coordinate坐標(biāo)節(jié)點(diǎn)語(yǔ)法 Coordinate { point [ ] #exposedField MFVec3f } Point域的域值提供了一張三維坐標(biāo)列表,用來(lái)設(shè)定一個(gè)或一組空間點(diǎn)的XYZ坐標(biāo)。 三個(gè)數(shù)一組,用空格分隔;組與組之間用逗號(hào)分隔。 如 point [ 1 1 1, 1 2 0, 3 4 5
18、],高級(jí)三維模型,如圖: 垂直三角錐體有4個(gè)頂點(diǎn) geometry Pointset{ coord Coordinate{ point [ 0 0 0 2 0 0 0 2 0 0 0 2 ] } },高級(jí)三維模型,當(dāng)color域取值NULL,表示不對(duì)空間點(diǎn)著色; 當(dāng)color域取值Color節(jié)點(diǎn)時(shí),表示設(shè)定每個(gè)空間點(diǎn)的顏色; Color節(jié)點(diǎn)語(yǔ)法: Color{ color [ ] #exposedField MFColor } Color域的域值設(shè)定了一系列的顏色列表。 例3-18,作業(yè)1,自由練習(xí): 編組節(jié)點(diǎn)、文本造型、點(diǎn)集節(jié)點(diǎn) 作業(yè):設(shè)計(jì)一個(gè)文本造型如圖所示。,作業(yè)提交注意:,上傳到:學(xué)院教學(xué)FTP://上傳作業(yè)-夏侯建兵-虛擬現(xiàn)實(shí)作業(yè)文件夾中。 作業(yè)提交的文件夾命名規(guī)則:學(xué)號(hào)_姓名_作業(yè)序號(hào)。 例:30920078102589_白旋旋_第xx講01(作業(yè)一)/02(作業(yè)二) 說(shuō)明:請(qǐng)大家上傳作業(yè)時(shí)統(tǒng)一用壓縮文件打包上傳。,
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第11講-相對(duì)定向
- 部編八級(jí)上冊(cè)-經(jīng)濟(jì)和社會(huì)生活的變化課件
- 光學(xué)部份復(fù)習(xí)幻燈片
- 健康:保護(hù)牙齒 (2)
- 新人培訓(xùn)之市場(chǎng)部門(mén)員工培訓(xùn)(財(cái)務(wù))
- 五上Module2復(fù)習(xí)課件
- 做一個(gè)有道德的人主題班會(huì)
- 選擇希望人生課件3-人教版
- 前廳運(yùn)行與管理課程課件
- 海事和海事預(yù)防 (2)
- 課輝煌的隋唐文化課件1
- 信息搜索新發(fā)展
- 牛津譯林版七年級(jí)英語(yǔ)下冊(cè)(7B)Unit7-Integrated-SKills課件
- 骨的形態(tài)和結(jié)構(gòu)ppt
- 預(yù)定登記總控和優(yōu)惠價(jià)格分析