第4章VRML-造型的空間變換_第1頁
第4章VRML-造型的空間變換_第2頁
第4章VRML-造型的空間變換_第3頁
第4章VRML-造型的空間變換_第4頁
第4章VRML-造型的空間變換_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、4.4 造型的空間變換造型的空間變換造型的空間變換造型的空間變換造型編組和素材調(diào)用造型編組和素材調(diào)用其他組節(jié)點的使用其他組節(jié)點的使用主要內(nèi)容主要內(nèi)容造型的空間變換造型的空間變換v Transform坐標(biāo)變換節(jié)點v 用于創(chuàng)建一個或多個不同于默認(rèn)坐標(biāo)系的新坐標(biāo)系。v 組節(jié)點,在此節(jié)點下可包含一個或多個子節(jié)點,所有子節(jié)點的定位中心都基于同一個坐標(biāo)系的原點。這些子節(jié)點可以是Shape、Group和Transform節(jié)點。造型的空間變換造型的空間變換Transformchildren translation 0 0 0rotation 0 0 1 0scale 1 1 1scaleOrientation

2、 0 0 1 0bboxCenter 0 0 0bboxSize -1 -1 -1center 0 0 0addChildrenremoveChildren注:對造型進(jìn)行平移、旋轉(zhuǎn)、縮放時,無論編輯程序中各域值的排列順序如何,瀏覽器默認(rèn)執(zhí)行順序都為先縮放、再旋轉(zhuǎn)、后平移。造型的空間變換造型的空間變換v 平移-translation域v 例4-9:使用圓錐體和圓柱體組成一個煙囪的造型。v 旋轉(zhuǎn)-rotation域v 例4-10:銀色十字棒造型。v 連續(xù)空間變換,Tranform節(jié)點可以進(jìn)行逐級嵌套。v 例4-11:簡單的鐘表造型。表殼、表軸、時針、分針。角角 度度0304560901201351

3、50180弧弧 度度00.5230.7851.0471.5712.0942.3562.6183.141造型編組和素材調(diào)用造型編組和素材調(diào)用vVRML提供了一類具有編組功能的節(jié)點,它們可以將多個造型作為自己的子節(jié)點組合成一個整體,一起進(jìn)行平移、旋轉(zhuǎn)、縮放、外觀設(shè)計、定義和調(diào)用等。v合理使用組節(jié)點,可減少工作量。vGroup, Transform, Inline, Anchor, Switch, Billboard, LOD造型編組和素材調(diào)用造型編組和素材調(diào)用v一 Group編組節(jié)點Groupchildren bboxCenter 0 0 0bboxSize -1 -1 -1addChildren

4、removeChildren造型編組和素材調(diào)用造型編組和素材調(diào)用v 二 素材調(diào)用的基本方法v 1 采用DEF節(jié)點定義及USE節(jié)點引用的方法,在本文件范圍內(nèi)定義和調(diào)用不需要進(jìn)行改動的素材,使其成為場景中的一部分;v 2 利用Inline內(nèi)聯(lián)節(jié)點,從本文件范圍之外的其他文件或者互聯(lián)網(wǎng)上,調(diào)用不需要進(jìn)行修改加工的素材,使其成為場景中的一部分;v 3 利用帶鏈接功能的Anchor錨節(jié)點,將存儲在本機(jī)硬盤或互聯(lián)網(wǎng)上的素材作為一個新的完整場景調(diào)用,取代原有場景;v 4 利用PROTO語句和EXTERPROTO語句,在本文件范圍內(nèi)或本文件范圍外及互聯(lián)網(wǎng)上定義原型節(jié)點和外部原型節(jié)點,調(diào)用素材時可根據(jù)需要對其原

5、有的屬性進(jìn)行更改或賦予更多的功能。造型編組和素材調(diào)用造型編組和素材調(diào)用v三 節(jié)點的定義及引用 vDEF定義,USE引用v定義的節(jié)點只在本文件范圍內(nèi)有效。一旦被定義的源節(jié)點的域值進(jìn)行改動,引用節(jié)點的域值也隨之變化。v節(jié)點定義及引用的語法格式:v定義節(jié)點的名稱及調(diào)用規(guī)則:DEF 節(jié)點名節(jié)點名 節(jié)點節(jié)點USE 節(jié)點名節(jié)點名(1)節(jié)點名由字母、數(shù)字及下劃線組成,但不能以數(shù)字開頭,不能包括無法印刷的ASC字符,且字母區(qū)分大小寫;(2)節(jié)點名不能使用單雙引號、數(shù)字運算符號民、各種括號及英鎊符號。(3)節(jié)點名不能使用VRML中已定義的節(jié)點類型名以及在VRML中有特定意義的字符。造型編組和素材調(diào)用造型編組和素

6、材調(diào)用v例4-12:利用旋轉(zhuǎn)嵌套,圍繞Z軸,每旋轉(zhuǎn)45度引用一定銀色圓柱,連續(xù)引用三次,構(gòu)成米字造型。造型編組和素材調(diào)用造型編組和素材調(diào)用v 四 Inline內(nèi)聯(lián)節(jié)點v 采用內(nèi)聯(lián)方法,可將復(fù)雜的場景和造型分解成各自獨立的小文件,分別進(jìn)行設(shè)計和高度,作為素材模塊存在本地硬盤或互聯(lián)網(wǎng)的任意位置上。Inlineurl “ ”bboxCenter 0 0 0bboxSize -1 -1 -1 例4-13:使用內(nèi)聯(lián)節(jié)點,將鐘表造型與Return文本造型組成一個場景。造型編組和素材調(diào)用造型編組和素材調(diào)用v五 Anchor錨鏈接節(jié)點v該節(jié)點將存儲在本機(jī)硬盤或互聯(lián)網(wǎng)上的素材作為一個新的完整的場景進(jìn)行調(diào)用,在原

7、場景中設(shè)置一個錨點造型,當(dāng)瀏覽者點擊錨點造型時,VRML瀏覽器即可鏈接到指定的素材文件,使瀏覽者從原場景中出來,進(jìn)入到素材文件所構(gòu)建的新場景中去。造型編組和素材調(diào)用造型編組和素材調(diào)用Anchorchildren description “ ”parameter url “ ”bboxCenter 0 0 0bboxSize -1 -1 -1addChildren removeChildren造型編組和素材調(diào)用造型編組和素材調(diào)用vchildren:設(shè)定場景中的錨點造型列表;vdescription:設(shè)定提示字符串;vparameter:VRML和HTML瀏覽器附加參數(shù)信息,是一個形如“關(guān)鍵詞=值

8、”的字符串;vurl:設(shè)定要鏈接的素材文件的url地址和文件名。v例4-14:本例包括兩個場景。主場景文件是一個“Red Clock”文本造型,單擊文本造型可鏈接至子場景,即例4-13中的鐘表造型場景。造型編組和素材調(diào)用造型編組和素材調(diào)用v六 原型的定義和調(diào)用v前面三類調(diào)用只適用于對素材不需要進(jìn)行加工處理,原汁原味調(diào)用的情況,如果需要對素材屬性進(jìn)行更改或賦予更多的功能后調(diào)用,可使用PROTO原型節(jié)點或EXTERNPROTO外部原型節(jié)點,它們可定義可供修改的屬性。v原型:即自定義節(jié)點。設(shè)計者可以根據(jù)需要,利用原型創(chuàng)建一種新的節(jié)點類型,可通過對節(jié)點類型實例化建立新節(jié)點,可以為新節(jié)點添加各種域和事件

9、。造型編組和素材調(diào)用造型編組和素材調(diào)用v 原型具有如下功能:v (1)素材調(diào)用功能。(原型可作為素材庫,反復(fù)調(diào)用)v (2)節(jié)點擴(kuò)展功能。v (3)動態(tài)更新和保護(hù)功能。(通過設(shè)置接口中的域和事件,對虛擬現(xiàn)實中造型屬性進(jìn)行更改或者限制更改,從而達(dá)到場景的動態(tài)更新和保護(hù)一些造型不被改動的目的)v (4)造型及動作打包功能。(VRML中標(biāo)準(zhǔn)節(jié)點均不具備行為自控能力,通過原型可將造型與交互動作、事件、腳本等VRML元素捆綁使用)v (5)網(wǎng)絡(luò)動作功能。(原型可在當(dāng)前文件中定義和反復(fù)調(diào)用,外部原型可在其他文件和網(wǎng)絡(luò)中定義,在當(dāng)前文件中反復(fù)調(diào)用,提供了跨越網(wǎng)絡(luò)的強(qiáng)大功能)造型編組和素材調(diào)用造型編組和素材調(diào)

10、用PROTO nodeTypeNamefield fieldType fieldName DEFaultValueexposedField fieldType fieldName DEFaultValueeventIn eventInType eventInNameeventOut eventOutType eventOutNamenodebody #節(jié)點體,定義節(jié)點執(zhí)行內(nèi)容注:節(jié)點體內(nèi)的節(jié)點在使用節(jié)點接口中設(shè)置的各種域及事件時,必須使用IS語句進(jìn)行連接。使用IS語句可以在節(jié)點體內(nèi)反復(fù)使用同一個域或事件,但是必須注意接口元素的類型一定要與引用節(jié)點中的數(shù)據(jù)、事件的類型相匹配。造型編組和素材調(diào)用造

11、型編組和素材調(diào)用v例4-15:使用PROTO語句定義一個名為Coclock的鐘表原型節(jié)點,并為其設(shè)置表身顏色、表身尺寸及鐘表位置三個接口域;調(diào)用原型節(jié)點時,通過設(shè)置接口域的域值,改變鐘表的位置、顏色及尺寸。造型編組和素材調(diào)用造型編組和素材調(diào)用v外部原型節(jié)點的定義與使用v使用PROTO語句定義的原型節(jié)點,定義和調(diào)用必須在同一個VRML文件中運行,應(yīng)用范圍受到限制。v如果想從其他VRML文件或者網(wǎng)絡(luò)中調(diào)用已經(jīng)定義了的原型節(jié)點,VRML提供了EXTERNPROTO語句用來定義外部原型節(jié)點。v這樣,我們可以將所有原型節(jié)點集中保存在本機(jī)或網(wǎng)絡(luò)上的某一個VRML文件中,組成原型素材庫,方便設(shè)計者利用EXT

12、ERNPROTO語句定義和調(diào)用。造型編組和素材調(diào)用造型編組和素材調(diào)用EXTERNPROTO nodeTypeNamefield fieldType fieldName exposedField fieldType fieldNameeventIn eventInType eventInNameeventOut eventOutType eventOutNameurl or urlList注:PART2:不為接口元素設(shè)定默認(rèn)值。 PART3:被調(diào)用的原型節(jié)點所在的外部文件的url地址或url地址列表,置于雙引號內(nèi),字母url,urlList可以省略。造型編組和素材調(diào)用造型編組和素材調(diào)用vnode

13、TypeName:一般,該名稱應(yīng)與所要引用的位于外部文件中的由PROTO語句定義的原型節(jié)點名相同。v方括號中的接口域,公共域,入事件,出事件應(yīng)與被引用的外部文件中由PROTO語句定義的原型節(jié)點中的完全一致或根據(jù)需要取其中的一部分。v如果在指定的外部文件中包括多個PTOTO語句定義的原型節(jié)點,可用以下格式指定要調(diào)用的原型節(jié)點:v“外部文件名#原型節(jié)點名”造型編組和素材調(diào)用造型編組和素材調(diào)用v例4-16:新建一個index.wrl,并引用sample4-15.wrl中的鐘表原型節(jié)點。其他組節(jié)點的使用其他組節(jié)點的使用v1.Billboard布告牌節(jié)點v無論場景如何移動,始終面向瀏覽者,便于觀察,引起

14、人們的注意。v適用于場景提示、路標(biāo)指示、布告牌、廣告牌及幫助信息等。其他組節(jié)點的使用其他組節(jié)點的使用Billboardchildren axisOfRotation 0 1 0bboxCenter 0 0 0bboxSize -1 -1 -1addChildren removeChildrenaxisOfRotation:設(shè)定一個旋轉(zhuǎn)軸。當(dāng)用戶移動的時候,Billboard節(jié)點自動地以其局部坐標(biāo)系的Z軸圍繞該軸旋轉(zhuǎn),從而保證布告牌造型始終面向瀏覽者。v 例4-17:將4-13中的“Return”文本造型設(shè)置成布告牌。其他組節(jié)點的使用其他組節(jié)點的使用v2.Switch開關(guān)節(jié)點v允許多個場景造型作

15、為子節(jié)點并列排放在組內(nèi),瀏覽器每次只能選擇其中某一個子場景造型進(jìn)行渲染。Switchchoice whichChoice -1choice:設(shè)定子節(jié)點場景造型列表;whichChoice:設(shè)定所要選擇的子節(jié)點的指針序號;其他組節(jié)點的使用其他組節(jié)點的使用v例4-17:當(dāng)whichChoice為0時,顯示第一個文本造型“Welcome”;當(dāng)whichChoice為1時,顯示第二個文本造型“Color”;當(dāng)whichChoice為2時,顯示第一個文本造型“Red Clock”.其他組節(jié)點的使用其他組節(jié)點的使用v3. LOD細(xì)節(jié)層次控制節(jié)點v根據(jù)瀏覽者與造型距離的遠(yuǎn)近,選擇按照不同的細(xì)致度刻畫的造型。

16、LODlevel center 0 0 0rang 其他組節(jié)點的使用其他組節(jié)點的使用v level:設(shè)定細(xì)節(jié)層次列表;通常第一個子節(jié)點提供高細(xì)節(jié)造型,后面的子節(jié)點提供的造型細(xì)節(jié)描述層次下降;不同細(xì)節(jié)層次造型的選擇與切換,由瀏覽者和造型之間距離的遠(yuǎn)近來決定。v center:設(shè)定細(xì)節(jié)層次造型的中心點坐標(biāo)。v rang:瀏覽者與造型之間距離的列表。瀏覽器依據(jù)此列表選擇需要顯示的level域中列出的不同細(xì)節(jié)層次的造型。v 注:使用LOD,一般可為一個對象創(chuàng)建三個不同細(xì)節(jié)層次的造型,一般不超過五個。各層次造型創(chuàng)建之后,最好采用單獨VRML文件形式保存,然后在LOD節(jié)點的level域中利用Inline內(nèi)聯(lián)節(jié)點進(jìn)行引入和編組。上機(jī)練習(xí)上機(jī)練習(xí)v 上機(jī)練習(xí)三:v (1)白紅兩個定位點相同的球體,白球未經(jīng)過縮放處理,可以作為參照物。紅色球體在X軸放大2倍,Y,Z軸分別放大1.1倍,材質(zhì)為半透明。觀察效果。v (2)重復(fù)引用編組造型節(jié)點。將例4-12創(chuàng)建的米字造型用Group節(jié)點進(jìn)行編組,然后作為整體造型連續(xù)三次用Transform節(jié)點進(jìn)行位移調(diào)用,觀察效果。v (3)使用重復(fù)引用節(jié)點的方法,為例4-11中的鐘表造型的表盤配上12個刻度點。用銀色小球作為小時刻度標(biāo)志,每隔0.524(30度

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論