![虛擬現(xiàn)實技術課件第四章_第1頁](http://file4.renrendoc.com/view/027dcef1477c44bd0d97681843f735a0/027dcef1477c44bd0d97681843f735a01.gif)
![虛擬現(xiàn)實技術課件第四章_第2頁](http://file4.renrendoc.com/view/027dcef1477c44bd0d97681843f735a0/027dcef1477c44bd0d97681843f735a02.gif)
![虛擬現(xiàn)實技術課件第四章_第3頁](http://file4.renrendoc.com/view/027dcef1477c44bd0d97681843f735a0/027dcef1477c44bd0d97681843f735a03.gif)
![虛擬現(xiàn)實技術課件第四章_第4頁](http://file4.renrendoc.com/view/027dcef1477c44bd0d97681843f735a0/027dcef1477c44bd0d97681843f735a04.gif)
![虛擬現(xiàn)實技術課件第四章_第5頁](http://file4.renrendoc.com/view/027dcef1477c44bd0d97681843f735a0/027dcef1477c44bd0d97681843f735a05.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
虛擬現(xiàn)實技術主講:楊文暉第四章VRML1VRML簡介2VRML編程語法基礎3VRML基本節(jié)點編程4群節(jié)點創(chuàng)建VRML立體空間造型5VRML場景效果節(jié)點編程設計6VRML動態(tài)感知虛擬現(xiàn)實節(jié)點7VRML通用接口節(jié)點8VRML實例編程1VRML簡介虛擬現(xiàn)實三維立體網(wǎng)絡程序設計語言VRML是計算機科學的前沿技術。作為第二代網(wǎng)絡程序設計語言的VRML完全改變了網(wǎng)絡的二維平面世界,實現(xiàn)了真正意義上的三維立體網(wǎng)絡世界、動態(tài)交互與智能感知等,實現(xiàn)計算機網(wǎng)絡、多媒體及人工智能的完美結合使人們真正感受到21世紀計算機網(wǎng)絡世界的無窮魅力。1.1VRML的發(fā)展歷史計算機技術的迅猛發(fā)展,已由初級計算、實時控制、事務處理等迅速朝著巨型化、微型化、網(wǎng)絡化、智能化及多媒體化等方面發(fā)展。計算機將人類社會帶人嶄新的信息時代。尤其是計算機網(wǎng)絡的飛速發(fā)展;使我們的地球變成了一個地球村早期的網(wǎng)絡系統(tǒng)主要傳送文字、數(shù)字等信息,但多媒體技術在網(wǎng)絡上的應用,使目前計算機網(wǎng)絡無法承受如此巨大的信息量。為此,人們開發(fā)出信息高速公路,即寬帶網(wǎng)絡系統(tǒng),而在信息高速公路上馳騁的高速跑車就是VRML虛擬現(xiàn)實建模語言系統(tǒng),也就是“虛擬現(xiàn)實三維立體網(wǎng)絡程序設計語言”。VRML(VirtuslRealityModelingLanguage)是什么?虛擬現(xiàn)實建模語言,是一種三維造型和渲染的圖形描述語言,通過創(chuàng)建一個虛擬場景以達到現(xiàn)實中的效果。VRML給網(wǎng)絡帶來了什么?
VRML支持功能大大改變了原來萬維網(wǎng)上單調(diào)、交互性較差的弱點,創(chuàng)建一個全新的可進入、可參與的三維虛擬現(xiàn)實世界。
VRML的重要性?是虛擬現(xiàn)實三維立體網(wǎng)絡程序設計語言,是寬帶網(wǎng)絡、多媒體與人工智能相融合的高科技產(chǎn)品,是把握未來網(wǎng)絡、多媒體及人工智能的關鍵技術。VRML虛擬現(xiàn)實建模語言用來在網(wǎng)絡上創(chuàng)建逼真的三維虛擬場景。它改變了網(wǎng)絡上2D畫面的狀態(tài),并能實現(xiàn)3D動畫效果,特別是改變了當前網(wǎng)絡與用戶交互的局限性,使得人機交互更加方便、靈活,使虛擬世界的真實性、交互性和動態(tài)性得到了更充分的體現(xiàn)。
VRML是虛擬現(xiàn)實建模語言,是一種三維造型和渲染的圖形描述性語言,它把“虛擬世界”看做一個“場景”,而場景中的一切都被看做“對象”(也稱為節(jié)點),對每一個對象的描述就構成了.wrl文件。發(fā)展歷史1.2VRML的特點虛擬現(xiàn)實三維立體網(wǎng)絡程序設計語言具有4大特點。
(1)VRML具有強大的網(wǎng)絡功能,可以通過運行VRML程序直接接入Intemet??梢詣?chuàng)建立體網(wǎng)頁與網(wǎng)站。
(2)具有多媒體功能,能夠?qū)崿F(xiàn)多媒體制作,合成聲音、圖像以達到影視效果。
(3)創(chuàng)建三維立體造型和場景,實現(xiàn)更好的立體交互界面
(4)具有人工智能,主要體現(xiàn)在VRML具有感知功能??梢岳酶兄獋鞲衅鞴?jié)點來感受用戶及造型之間的動態(tài)交互感覺。虛擬現(xiàn)實三維立體網(wǎng)絡程序設計語言VRML是第二代Web網(wǎng)絡程序設計語言,是21世紀主流高科技軟件開發(fā)工具,是把握未來寬帶網(wǎng)絡、多媒體及人工智能的關鍵技術。掌握了虛擬現(xiàn)實三維立體網(wǎng)絡程序設計語言VRML,就掌握了軟件開發(fā)的主動權,可以在未來網(wǎng)絡世界里馳騁翱翔。1.3VRML的發(fā)展前景虛擬現(xiàn)實建模語言VRML設計源于虛擬現(xiàn)實技術。虛擬現(xiàn)實技術是20世紀末發(fā)展起來的涉及眾多學科的高新技術,它是集計算機、仿真、微電子、傳感與測量技術于一體的高新科技的融合。而虛擬現(xiàn)實建模語言VRML正是利用虛擬現(xiàn)實技術在計算機中創(chuàng)建一種虛擬環(huán)境,通過視覺、聽覺、觸覺、味覺、嗅覺及生理反映等感知器,使用戶產(chǎn)生一種與現(xiàn)實生活相同的感受,有身臨其境的感覺,甚至生理感覺,可實現(xiàn)用戶與虛擬現(xiàn)實環(huán)境直接進行交互。虛擬現(xiàn)實建模語言VRML涉及計算機網(wǎng)絡、多媒體和人工智能技術三大領域及自然科學、社會科學和哲學。具體地講,虛擬現(xiàn)實環(huán)境一般包括計算機圖形學、圖像處理、模式識別、傳感器、語音處理、網(wǎng)絡技術、并行處理、人工智能等高新技術,還涉及天文、地理、數(shù)學、物理、化學、美學、醫(yī)學、軍事、生理學和心理學等領域。計算機硬件技術術、網(wǎng)絡絡技術及及多媒體體技術的融合與與高速發(fā)發(fā)展使得得虛擬現(xiàn)現(xiàn)實技術術獲得了了長足的的發(fā)展,,從而虛虛擬現(xiàn)實實技術能能在網(wǎng)絡絡上得以以實現(xiàn)和和發(fā)展。。目前網(wǎng)站站使用的的均為二二維圖像像與動畫畫網(wǎng)頁,,而采用用虛擬現(xiàn)現(xiàn)實建模模語言VRML可以在網(wǎng)網(wǎng)站上設設計出虛虛擬現(xiàn)實實三維立體體網(wǎng)頁場場景和立立體景物物利用虛擬擬現(xiàn)實技技術制造造出一個個逼真““虛擬人人”,為為醫(yī)學實習、治治療、手手術及科科研做出出貢獻,,也可應應用于軍事設計一個個“模擬擬戰(zhàn)場””,進行行大規(guī)模模高科技技軍事演演習,這這樣既可可以節(jié)省省大量費費用,又又使部隊隊得到了了鍛煉。。在航空航天天發(fā)射中,,也可以以制造一一個“模模擬航天天器”,,模擬整整個航天天器的生生產(chǎn)、發(fā)發(fā)射、運運行和回回收的全全過程,,從而可可以節(jié)約約大量的的經(jīng)費。。虛擬現(xiàn)實實技術還還可以應應用于工業(yè)、農(nóng)農(nóng)業(yè)、商商業(yè)、教教學、娛娛樂和科科研等方面應用前景景非常廣廣闊。虛虛擬現(xiàn)實實建模語語言VRML是21世紀計算機網(wǎng)網(wǎng)絡、多多媒體及及人工智智能為一體的的最為優(yōu)優(yōu)秀的開開發(fā)工具具和手段段。1.4VRML瀏覽器1.5VRML編輯器用記事本本來編寫寫源程序序VRMLPad專用編輯輯器由ParallelGraphics公司開發(fā)發(fā)的VRML開發(fā)工具具2VRML編程語法法基礎介紹VRML的文件結構構、文件件頭及注注釋等VRML文件主要要由節(jié)點點、事件件、場景景、原型型、腳本本及路由由等組成成,其中中節(jié)點又又由域名名、域值值及域值值類型組組成;介紹VRML立體空間間的計量單位位,包括立立體空間間坐標、、長度單單位、角角度單位位及立體體空間的的顏色等等節(jié)點集2.1VRML基本概念念虛擬現(xiàn)實實三維立立體網(wǎng)絡絡(頁)程序設計計語言VRML涉及有關關的基本本概念和和名詞包包括:節(jié)點域事件路由原型場景腳本它是編寫寫VRML的基礎。。什么是節(jié)節(jié)點?節(jié)點是VRML文件最基基本的組成要素素,是VRML文件基本本的組成成部分。。節(jié)點是對對客觀世世界中各各種事物物、對象象、概念念的抽象描述述。VRML文件就是是由許多多節(jié)點之之間并列或?qū)訉訉忧短滋锥鴺嫵傻牡氖裁词鞘率录??每一個節(jié)節(jié)點一般般都有兩兩種事件件,即即一個““入事件件”和一一個““出事件件”。在多數(shù)情情況下,,事件只只是一個個要改變域值值的請求求:“入事件”請求節(jié)節(jié)點改變變自己某某個域的的值“出事件”則是是請求別別的節(jié)點點改變它它的某個個域值。。什么是原原型?原型是用用戶建立立的一種種新的節(jié)點點類型,而不是一一種“節(jié)節(jié)點”。。進行了原原型定義義就相當當于擴充了VRML的標準節(jié)節(jié)點類型型集。節(jié)點的原原型是節(jié)節(jié)點對其中的的域、入入事件和和出事件件的聲明明,可以通通過原型型擴充VRML節(jié)點類型型集原型的定定義可以包含在使用該原原型的文文件中,,也可以在在外部定義義原型可以以根據(jù)其他的VRML節(jié)點來定義,,也可以利利用特定定于瀏覽覽器的擴展機制制來定義。。什么是物物體的造造型?物體的造造型,即即場景圖圖由描述對對象及其其屬性的的節(jié)點組組成。在場景圖圖中,一一類是由由節(jié)點構構成的層層次體系系組成;;另一類類是由節(jié)節(jié)點事件件和路由由構成。。什么是是腳本本?腳本是是一套套程序序,與與其他他高級級語言言或數(shù)數(shù)據(jù)庫庫的接接口。。在VRML中可以以用Script節(jié)點利利用Java或JavaScript語言編編寫的的程序序腳本本來擴充VRML的功能能。腳本通通常作作為一一個事事件級級聯(lián)的的一部部分而而執(zhí)行行,腳腳本可可以接接受事事件,,處理理事件件中的的信息息,還還可以以產(chǎn)生生基于于處理理結果果的輸輸出事事件。。什么是是路由由?路由是是產(chǎn)生生事件件和接接受事事件的的節(jié)點之之間的的連接接通道道。路由不不是節(jié)節(jié)點,,路由由說明明是為為了確確立被被指定定的域域的事事件之之間的的路徑徑而人為設設定的的框架架。路由說說明可以在在VRML文件的的頂部部,也可以以在文文件節(jié)節(jié)點的的某一一個域域中。。在VRML文件中中路由說說明與與路徑徑無關關,它既既可以以在源源節(jié)點點之前前,也也可以以在目目標節(jié)節(jié)點之之后,,在一一個節(jié)節(jié)點中中進行行說明明,與與該節(jié)節(jié)點無無任何何聯(lián)系系。路由的的作用用是將各個個不同同的節(jié)節(jié)點聯(lián)聯(lián)系在一起起,使使虛擬擬空間間具有有更好好的交交互性性、立立體感感、動動感性性和靈靈活性性。什么是是事件件體系系?在場景景圖中中,除除了節(jié)節(jié)點構構成的的層次次體系系結構構外,,還有有一個個““事事件體體系””。事件體體系由相互互通信信的節(jié)節(jié)點組組成。在大多多數(shù)的的VRML節(jié)點中中每一個個事件件都有有一個個輸入入和輸輸出接接口。輸入接接口就就是能能夠接接收事事件的的節(jié)點點,稱稱為eventIn,即入入事件件(也稱事事件入入口);輸出接接口就就是發(fā)發(fā)送事事件的的節(jié)點點,稱稱為eventOut,即為為出事事件(也稱事事件出出口)。一個節(jié)節(jié)點一一般具具有多多個不不同的的入事事件和和出事事件,,但有有一些些節(jié)點點不同同時具具有這這兩種種事件件。入事件件和出出事件件通過過路徑徑相連連,這這就是是VRML文件除除節(jié)點點外的的另一一基本本組成成部分分路由由(ROUTE)。ROUTE語句把把事件件出口口和事事件入入口聯(lián)聯(lián)系起起來,,從而而構成成了““事件件體系系”。2.2VRML立體空空間計計量單單位虛擬現(xiàn)現(xiàn)實建建模語語言(VRML)要創(chuàng)建建立體背背景空空間和立體造造型空空間就需要要定位需要立立體空空間坐坐標系系相應的的長度度角度單單位顏色VRML立體空空間坐坐標系系VRML立體空空間物物體造造型定定位依依靠VRML立體空空間坐坐標系系來實實現(xiàn)。。這些些坐標標軸為為每個個空間間物體體的造造型定定義了了一個個坐標標系。。它包包括::X軸、Y軸、Z軸X軸、Y軸和Z軸相交的點點構成了該該坐標系的的原點X軸的正方向向指向右邊邊,Y軸的正方向向指向正上上方,Z軸的正方向向指向前方方(即瀏覽者),如圖2-1所示。空間間物體的造造型在該坐坐標系中的的位置由相相對于該坐坐標原點的的三維坐標標來確定。。xzy圖2-1空間坐標系VRML長度單位VRML三維立體空空間長度單單位是統(tǒng)一的,只有一一個單位標標量,即VRML單位。VRML單位并不是是一個絕對對的尺寸大大小。VRML尺寸和現(xiàn)實實中的長度度單位不具有任何何可比性,只有在VRML單位間才具具有可比性性VRML單位一般比比實際的長長度單位要要小。在實實際開發(fā)工工作中,考考慮到多個個開發(fā)者在在開發(fā)中協(xié)協(xié)調(diào)統(tǒng)一的的工作,通通常都指定定一個統(tǒng)一一的參考標標準,即以以實際中的的長度單位位為準。VRML角度單位在VRML立體空間中中使用的角角度單位不不是普通的的角度,而而是通常所所使用的弧度。當在VRML使用角度單單位時,先先將角度單單位換算成成弧度單位位后,再將將其編寫入入VRML源程序中。。常用的角角度與弧度度換算表如如表2?1所示。VRML空間立體著著色VRML三維立體空空間的著色色,無論是是立體空間間背景、光光線的顏色色,還是立立體空間中中的各種物物體,它們們的顏色都都是由3種基本顏色色組合而成成紅、綠、藍藍(RGB)。紅、綠、藍藍(RGB)3種基本顏色色對應3個浮點數(shù),,它們的域域值分別在在0.0—1.0之間。紅、、綠、藍3種顏色組成成各種各樣樣姹紫嫣紅紅的“顏色色”,如下下表所示。。VRML文件語法VRML文件語法主主要包括哪哪些?VRML文件頭、節(jié)節(jié)點、原型型、造型、、腳本和路路由等是否每一個個VRML文件都必須須包含這6個部分?只有VRML文件頭是必必需的,而而其他項不不一定是必必需的。他們相互之之間的關系系?VRML立體空間的的場景和造型型是由節(jié)點構成的,再通過路由實現(xiàn)動態(tài)交交互和感知知,或者使用用腳本文件與外部部接口進行行動態(tài)交互互。在軟件開發(fā)發(fā)中,根據(jù)據(jù)不同的實實際情況編編寫不同的的VRML程序,它所所包含的成成分也可能能不同。在在VRML文件中,““節(jié)點點”是VRML核心、靈魂魂,如果沒沒有節(jié)點,,VRML也就不存在在了。VRML文件VRML文件可由文文本編輯器器編寫或由由VrmPad專用編輯器器編寫,其其VRML文件擴展名名為.wrl或.wrz,其中使用用較多的是是.wrl文件。任何何擴展名為為.wrl文件都是VRML文件。通過過VRML瀏覽器可以以直接運行行VRML文件。VRML文件名全稱稱為:***.wrl或***.wrz。VRML文件結構VRML文件的語法法結構由VRML文件頭、節(jié)節(jié)點、事件件、腳本和和路由等組組成。“節(jié)點”可可以由一一個或多個個組成,也也可以創(chuàng)建建新的節(jié)點點,即原型型節(jié)點。VRML文件語法結結構#VRMLV2.0utf8#VRML文件在第一一行必須有有的頭文件件節(jié)點名{#VRML中各種類型型“節(jié)點””域域域值#相應“節(jié)點點”的“域域”和“域域值”………}Script{#腳本Script節(jié)點}ROUTE#路由:把入入事件與出出事件聯(lián)系系起來在VRML文件結構中中,突出軟軟件工程的的設計思想想,使VRML文件結構設設計層次清清晰結構嚴嚴謹、條理理清楚,使使讀者、用用戶易于理理解和掌握握。VRML文件頭在每一個VRML文件中,頭文件是必必需的,且位于于VRML文件的第一行。VRML文件頭語法法結構定義義:VRML文件頭#VRMLV2.0utf8在VRML文件頭相當當于高級語語言C程序中的主主函數(shù)的作作用,每一一個C語言程序必必須從main()開始,否則則編譯或解解釋就會出出錯。VRML文件頭包含含4個部分,每一部分代代表一定含含義。(1)以#開頭,這里里#不是注釋含含義,而是是VRML文件頭的一一部分。。(2)““VRML”告述瀏覽器器該文件是是一個VRML文件。(3)““V2.0”告訴瀏覽器器該VRML文件遵循VRML規(guī)范的2.0版本(4)““utf8”表示該瀏覽覽器VRML文件是一個個使用國際際UTF?8字符集。關于注釋VRML文件的注釋釋部分以一一個符號““#”開頭,結束束于該行的的末尾,當當注釋信息息多于一行行時,將產(chǎn)產(chǎn)生語法錯錯誤,因為為VRML不支支持持多多行行注注釋釋信信息息。瀏瀏覽覽器器在在瀏瀏覽覽VRML文件件時時將將跳跳過過““#””后面面的的所所有有內(nèi)內(nèi)容容。。瀏覽覽器器在在瀏瀏覽覽VRML文件件時時將將自動動忽忽略略VRML文件件中中的的所所有有空空格格和和空空行行。開開發(fā)發(fā)人人員員可可根根據(jù)據(jù)軟軟件件開開發(fā)發(fā)的的結結構構和和思思想想編編寫寫VRML源程程序序。節(jié)點點(Node)和域域VRML文件件中中的的節(jié)節(jié)點點是是VRML文件件中中最最基基本本的的單單位位,,是是VRML精髓髓與與核核心心。。每個個節(jié)節(jié)點點包包含含子節(jié)節(jié)點點和描描述述節(jié)節(jié)點點屬屬性性的的“域域名名””或或““域域值值””。在在高高級級語語言言中中稱稱為為變變量量、、數(shù)數(shù)組組等等,,在在數(shù)數(shù)據(jù)據(jù)庫庫中中常常稱稱為為字字段段。。單一一節(jié)節(jié)點點語語法法定定義義::節(jié)點點名名{域名名域域值值#域值值類類型型說說明明………}節(jié)點點由由節(jié)節(jié)點點名名、、一一對對花花括括號號組組成成,,花花括括號號內(nèi)內(nèi)又又包包括括節(jié)節(jié)點點的的域域名名、、域域值值及及域域值值類類型型節(jié)點點中中包包括括““域域””、、““域域值值””或或子子節(jié)節(jié)點點。。根根據(jù)據(jù)語語法法結結構構的的要要求求,,節(jié)節(jié)點點之之間間可可以以并列列或?qū)訉訉忧肚短滋资褂糜谩?。不不同同作作用用的的?jié)節(jié)點點有有著著不不同同語語法法結結構構,,父父節(jié)節(jié)點點包包括括““域域””、、““域域值值””或或子子節(jié)節(jié)點點,,子子節(jié)節(jié)點點中中也也包包含含““域域””、、““域域值值””等等。。“域域””分分為為兩兩種種::一一種種為為““域域””(field);另另一一種種稱稱為為““暴暴露露域域””(exposeField)。可可以以單單值值也也可可以以多多值值。?!坝蛴颉薄毕嘞喈敭斢谟诟吒呒壖壵Z語言言中中的的普普通通變變量量;;而而““暴暴露露域域””相相當當于于C語言言中中的的外外部部變變量量,,相相當當于于可可視視編編程程VC++語言言類類中中的的公公共共變變量量或或公公共共函函數(shù)數(shù)。。在同同一一““節(jié)節(jié)點點””中中的的域域遵遵循循如如下下規(guī)規(guī)則則::同一一節(jié)節(jié)點點中中的的各各個個域域之之間間無先先后后次次序序之分分;;節(jié)點點中中的的各各個個域域均均有自自己己相相應應的的默默認認值值;不同同的的域域?qū)獞徊煌牡挠蛴蛑抵殿愵愋托?。域名名::域的的標標識識符符叫叫域域名名,,在在節(jié)節(jié)點點作作用用域域的的范范圍圍內(nèi)內(nèi),,域域名名是是惟一一的,,也也是是VRML的保保留留字字或或關關鍵鍵字字。。以下下是是常常見見的的兩兩類類域域名名的的域值值類類型型前前綴綴。單值值類型型的的域域名名,,以以““SF”開始始,,它它只只包包含含單單值值。。單單值值::可可以以是是一一個個獨獨立立的的數(shù)數(shù),,也也可可以以是是一一個個向向量量、、顏顏色色的的幾幾個個數(shù)數(shù)等等,,甚甚至至可可以以是是一一幅幅圖圖像像數(shù)數(shù)據(jù)據(jù)。。還有有一一種種多值值域名名以以““MF”開始始,,它它包包含含多多個個值值,,所所以以叫叫多多值值域域名名。。在VRML文件件中中,,表表示示多域域值值的方方法法是是::整個個用用方括括號號括起起來來的的一一系系列列用用逗逗號號和和空空格格間間隔隔開開的的單單值值;;如果果一一個個多多值值域域不不包包含含任任何何值值,,則則只只標標出出方方括括號號““[]”;如果一個多值值域,恰好只只包含一個數(shù)數(shù),可以不寫寫括號,直接接寫該值。skycolor[]在VRML文件中各個節(jié)節(jié)點語法的各各種“域值類類型”詳細說說明:單值域類型名名用“SF”表示;多多值域名稱用用“MF”表示。1.SFBoolSFBool域是一個單值值布爾量,常常用于開啟或或關閉一個節(jié)節(jié)點的性質(zhì)特特征。SFBool域輸出事件的的默認值為TRUE(真),否則為FALSE(假)。2.SFInt32和MFInt32SFInt32域是單值含有有32位的整數(shù),一一個SFInt32值由一個十進進制或十六進進制格式(0X開頭)的整數(shù)數(shù)。SFInt32域的輸出事件件的初始值是是0。MFInt32域是一個多值值域,由任意意數(shù)量的以逗逗號或空格分分割的整數(shù)組組成。MFInt32域輸出事件的的初始值是[]。其余的用表表表示:域值類型簡簡要要說明SFBool開關值 值為為TRUE或FALSESFFloat/MFFloat單值單精度浮浮點值/多值單精度浮浮點值有正正負之分SFColor/MFColor顏色值 值為為3個浮點數(shù)(RGB)SFRotation/MF旋轉值 前3個指定旋轉坐坐標Rotation軸,第四個指指定旋轉角。。SFString/MFString字符串SFVec2f/MFVec2f二維浮點矢量量2個浮點值SFVec3f/MFVec3f三維浮點矢量量3個浮點值SFInt32/MFInt3232位正整數(shù)SFImage圖像值SFTime時間值1970年1月1日開始。SFNode/MFNode結點值用用于表明一個個屬性節(jié)點節(jié)點名的重定定義和重用意義?減少VRML代碼的編寫量量,對重復的的造型或多個個同樣的造型型在場景中多多次出現(xiàn)時,,通過定義這這個造型節(jié)點點,然后再重重復調(diào)用該節(jié)節(jié)點。定義節(jié)點名稱稱DEF節(jié)點名節(jié)節(jié)點類型{}appearanceDEFBtexiAppearance{……}引用節(jié)點USE節(jié)點名USEBtexi不能用于節(jié)點點名稱的單詞詞:DEF,EXTERNPROTO,F(xiàn)ALSE,IS,NULL,PROTO,ROUTETO,TRUE,USE,eventIneventOut,exposedField,field節(jié)點名的使用用有如下規(guī)定定:不區(qū)分大小寫寫、不能以數(shù)數(shù)字開頭、不不能帶有非印印刷的ASCII字符、不能包包括單引號、、雙引號、數(shù)數(shù)字運算符或或英鎊符號事件、、路由由和腳腳本一個節(jié)節(jié)點一一般都都有哪哪些事事件?一個““入事事件eventIn”,一個個“出出事件件eventOut””事件的的作用用是什什么??入事件件:請請求節(jié)節(jié)點改改變自自己的的某個個域的的值出事件件:請請求別別的節(jié)節(jié)點改改變它它的某某個域域值事件的的命名名規(guī)則則大部分分入事事件以以set_開頭,,但是是addCildren和removeChildren除外大部分分出事事件以以_changed結尾,,SFBool類型的的除外外,它它以is開頭,,例如如isActive如果入入事件件和出出事件件的形形式為為SFTime,那就就不再再使用用set或者changed,例如如bindTime和touchTime路由的的作用用連接一一個節(jié)節(jié)點的的入事事件和和出事事件的的節(jié)點點之間間的通通道說明被被指定定域的的一個個事件件如何何從某某個節(jié)節(jié)點到到達另另一個個節(jié)點點,將將不同同節(jié)點點聯(lián)系系起來來,使使空間間具有有更好好的交交互性性、立立體感感、動動態(tài)感感和靈靈活性性路由在在綁定定節(jié)點點時的的注意意事項項兩個節(jié)節(jié)點的的路由由在沒沒有被被觸發(fā)發(fā)之前前一直直都處處于休休眠狀狀態(tài),,被觸觸發(fā)后后事件件從輸輸出接接口的的節(jié)點點輸出出,通通過路路由傳傳送到到輸入入接口口節(jié)點點,引引發(fā)VR的某種種變化化入事件件和出出事件件同樣樣具有有自己己的數(shù)數(shù)值類類型綁定多多個節(jié)節(jié)點,,創(chuàng)建建復雜雜的路路線,,實現(xiàn)現(xiàn)更真真實的的交互互。腳本的的作用用是什什么??節(jié)點間間存在在路由由,事事件可可以通通過路路徑在在節(jié)點點間傳傳遞,,腳本本可以以對事事件與與路由由進行行編程程設計計。腳本接接受事事件,,處理理事件件中的的信息息,產(chǎn)產(chǎn)生基基于處處理結結果的的輸出出事件件。VRML節(jié)點集集Shape模型節(jié)節(jié)點紋理映映射節(jié)節(jié)點群節(jié)點點環(huán)境、、影音音與視視點導導航效效果節(jié)節(jié)點規(guī)范化化接口口節(jié)點點動態(tài)交交互感感知節(jié)節(jié)點創(chuàng)建新新的VRML節(jié)點1Shape模型節(jié)節(jié)點幾何節(jié)節(jié)點Box盒子節(jié)節(jié)點Cone圓錐節(jié)節(jié)點Sphere球體節(jié)節(jié)點Cylinder圓柱體體節(jié)點點Text文本節(jié)節(jié)點繪圖節(jié)節(jié)點PointSet““點”節(jié)節(jié)點IndexedLineSet““線”節(jié)節(jié)點IndexedFaceSet““面”節(jié)節(jié)點ElvationGrid海拔柵柵格節(jié)節(jié)點Extrusion擠出造造型節(jié)節(jié)點物體外外觀節(jié)節(jié)點Appearance外觀屬屬性節(jié)節(jié)點Material材料節(jié)節(jié)點2紋理映映射節(jié)節(jié)點ImageTexture圖像紋紋理節(jié)節(jié)點MovieTexture影像紋紋理節(jié)節(jié)點TextureTransform紋理變變換節(jié)節(jié)點3群節(jié)點點Group編組節(jié)節(jié)點,,是基基本型型群節(jié)節(jié)點Transform坐標變變換節(jié)節(jié)點,,死轉轉換型型群節(jié)節(jié)點Inline內(nèi)聯(lián)節(jié)節(jié)點,,是引引入型型群節(jié)節(jié)點Switch開關節(jié)節(jié)點,,是選選擇型型群節(jié)節(jié)點Billboard廣告告牌牌節(jié)節(jié)點點,,是是廣廣告告牌牌群群節(jié)節(jié)點點Anchor錨節(jié)節(jié)點點,,是是超超級級鏈鏈接接群群節(jié)節(jié)點點LOD細節(jié)節(jié)層層次次節(jié)節(jié)點點,,是是分分級級型型群群節(jié)節(jié)點點4環(huán)境境、、影影音音與與視視點點導導航航效效果果節(jié)節(jié)點點Background背景景節(jié)節(jié)點點,,是是天天空空、、大大地地及及室室內(nèi)內(nèi)布布景景Fog霧節(jié)節(jié)點點,,是是空空間間大大氣氣場場景景的的一一種種自自然然現(xiàn)現(xiàn)象象的的描描繪繪PointLight點光光源源節(jié)節(jié)點點DirectionLight定向向光光源源節(jié)節(jié)點點SpotLight聚光光燈燈光光源源節(jié)節(jié)點點Sound聲音音節(jié)節(jié)點點,,是是聲聲音音發(fā)發(fā)射射器器節(jié)節(jié)點點AudioClip音響響剪剪輯輯節(jié)節(jié)點點ViewPoint視點點節(jié)節(jié)點點,,是是決決定定觀觀看看點點的的節(jié)節(jié)點點NavigationInfor視點點導導航航信信息息節(jié)節(jié)點點,,是是控控制制瀏瀏覽覽者者功功能能的的節(jié)節(jié)點點5規(guī)范范化化接接口口節(jié)節(jié)點點WorldInfor場景景信信息息節(jié)節(jié)點點,,是是信信息息化化的的節(jié)節(jié)點點Script腳本本節(jié)節(jié)點點,,是是程程序序化化的的節(jié)節(jié)點點6動態(tài)態(tài)交交互互感感知知節(jié)節(jié)點點TimeSensor時間間檢檢測測器器節(jié)節(jié)點點,,是是控控制制時時間間的的檢檢測測器器節(jié)節(jié)點點PositionInterpolator位置置插插補補器器節(jié)節(jié)點點,,是是控控制制位位置置變變換換的的動動態(tài)態(tài)節(jié)節(jié)點點OrientationInterpolator朝向向插插補補器器節(jié)節(jié)點點,,是是控控制制方方位位變變換換的的動動態(tài)態(tài)節(jié)節(jié)點點ScalarInterpolataor標量量插插補補器器節(jié)節(jié)點點,,是是控控制制變變換換強強度度的的動動態(tài)態(tài)節(jié)節(jié)點點ColorInterplator顏色色插插補補器器節(jié)節(jié)點點,,是是控控制制顏顏色色變變換換的的動動態(tài)態(tài)節(jié)節(jié)點點CoordinataeInterPolatoar坐標標插插補補器器節(jié)節(jié)點點,,是是控控制制坐坐標標變變換換的的動動態(tài)態(tài)節(jié)節(jié)點點NormalInterPolator法線線插插補補器器節(jié)節(jié)點點,,是是控控制制向向量量變變換換的的動動態(tài)態(tài)節(jié)節(jié)點點TouchSensor觸摸摸節(jié)節(jié)點點PlaneSensor平面面檢檢測測器器節(jié)節(jié)點點,,是是平平面面移移動動型型傳傳感感器器節(jié)節(jié)點點CylinderSensor圓柱柱檢檢測測器器節(jié)節(jié)點點,,是是單單軸軸旋旋轉轉型型傳傳感感器器節(jié)節(jié)點點SphereSensor球面面檢檢測測器器節(jié)節(jié)點點,,是是任任意意軸軸旋旋轉轉型型傳傳感感器器節(jié)節(jié)點點VisibilitySensor節(jié)點點,,是是能能見見度度傳傳感感器器節(jié)節(jié)點點ProximtitySensor節(jié)點點,,是是親親進進度度傳傳感感器器節(jié)節(jié)點點Collision碰撞撞節(jié)節(jié)點點7創(chuàng)建建新新的的VRML節(jié)點點PROTO原型型節(jié)節(jié)點點,,是是創(chuàng)創(chuàng)建建用用戶戶新新節(jié)節(jié)點點EXTERNPROTO創(chuàng)建建用用戶戶外外部部定定義義的的新新節(jié)節(jié)點點3VRML基本本節(jié)節(jié)點點編編程程在VRML編程程語語言言中中,,VRML文件件由由各各種種各各樣樣節(jié)點點組成成,,““節(jié)節(jié)點點””是是VRML的核核心心,,節(jié)節(jié)點點之之間間可可以以并列列或或?qū)訉訉訉忧肚短滋资褂糜?。。?jié)點點在在VRML文件件中中起起著著主主導導的的作作用用,,它它貫貫穿穿于于整整個個VRML編程程語語言言始始終終。??煽梢砸哉f說,,如如果果沒沒有有節(jié)節(jié)點點,,VRML文件件也也就就不不存存在在了了。。學好好、、用用好好、、掌掌握握好好VRML編程程語語言言的的““節(jié)節(jié)點點””是是至至關關重重要要的的,,因因為為它它是是VRML編程程語語言言的的靈靈魂魂,,是是VRML編程程的的精精髓髓。。VRML三維維立立體體空空間間造造型型就就是是由由許許許許多多多多““節(jié)節(jié)點點””構構成成并并創(chuàng)創(chuàng)建建的的。。3.1Background立體空間間背景節(jié)點點編程Background背景節(jié)點點的作用用?用于定義義VRML世界中天空和地地面顏色色及空間間和地面面角,在天空空和地面面之間,,設定一一幅立體體空間全全景圖并并可以放放置立體體空間造造型。VRML的空間背背景分類類:一類室內(nèi)空間間背景;另一類室外空間間背景。設計者根根據(jù)實際際需要進進行相應應設計和和布局。。室內(nèi)空間間背景設設計室內(nèi)空間間背景設設置哪些些呢?包括六面面體:frontUrl前面、backUrl后面、1eftUrl左面、rightUrl右面,topUrl頂部和bottomUrl底部。六面體(立方體)組成立體體空間的的原理圖圖如圖3-1所示。xzy頂部后面前面右面左面底部圖3-1三維立體空間坐標系之“室內(nèi)空間背景”室外空間間背景設設計VRML三維立體體空間室室外空間間背景從從不同的的觀測角角度可以以得到不不同的結結果。(1)從外太空空觀測地地球的結結果,如如圖3-2所示。地球地面天空大氣宇宙空間宇宙空間圖3-2宇宙空間的三維立體圖(2)從地球上上觀測三三維立體體空間的的結果。。觀測者從從宇宙空空間的三三維立體體圖看到到的結果果轉化為為VRML三維立體體空間天天地合一一立體空空間圖(室外空間間背景),將天空空分成空空間角,,當空間間角平滑滑到一定定程度時時,就變變成一個個球體空空間,即即太極球球,如圖圖3-3所示。(太空)天空地面(地球)地平線(海平面)圖3-3VRML三維立體空間坐標系之“室外空間背景”
0
空間角
x地平線(面)
0
地面角
VRML空間背景
60z9012015018030609015012018030室外立體體空間體體現(xiàn)了天天地渾然然一體,,天地合合一的景景象。在在天地之之間只有有一個地地平線或或海平面面,劃分分出天空空和地面面,體現(xiàn)現(xiàn)了太極極圖的陰陰陽與辨辨證關系系。在VRML虛擬現(xiàn)實實三維立立體世界界里,開開發(fā)人員員可以根根據(jù)你所所設計的的場景的的需要,,采用相相應背景景。如果要設設計室內(nèi)內(nèi)立體空空間場景景,可選選“室內(nèi)內(nèi)空間背背景”進進行開發(fā)發(fā)設計;;如果要設設計室外外立體空空間、宇宇宙空間間場景,,可選用用“室外外空間背背景”場場景設計計;如果既有有室內(nèi)又又有室外外場景,,可以結結合兩者者共同開開發(fā)設計計所需要要的立體體空間場場境。背景節(jié)點點語法Background背景節(jié)點點用來生成VRML的背景,其生成成的背景景是三維維立體式式的,它它會帶給給人一種種空間立立體層次次感效果果。我們們可以設設計室內(nèi)內(nèi)和室外外三維立立體空間間效果,,從而使使設計更更加生動動、逼真真。Background背景節(jié)點點語法定定義:Background{skyColor[0.00.00.0]#exposedFieldMFColorskyAng1e[]#exposedFieldMFFloatgroundColor[0.00.00.0]#exposedFieldMFColorgroundAng1e[]#exposedFieldMFFloatfrontUrl[]#exposedFieldMFStringbackUrl[]#exposedFieldMFString1eftUrl[]#exposedFieldMFStringrightUrl[]#exposedFieldMFStringtopUrl[]#exposedFieldMFStringbottomUrl[]#exposedFieldMFStringset_bind#evemtInSFBoolisBound#evemtOutSFBool}域值類型型注釋::exposedField為“暴露域””;eventIn為入事件;eventOut為出事件;MFFloat域是多值單精精度浮點數(shù);;MFColor域是一個多值值域,包含任任意數(shù)量的RGB顏色值;MFString域是一個含有有零個或多個個字符的多值值域;SFBool域是一個單值值布爾量。1.天空的顏色和和天空角(1)skyColor域的值指定了了對立體空間間背景顏色進進行著色,該域值是組合合而成。其默默認值為(0.00.00.0)。(2)skyAngle域的值指定了了空間背景上上需要著色的的位置的空間間角(用弧度)。VRML瀏覽器就是在在這些空間角角所指位置上上進行著色的的。第一個天空顏顏色著色于天空背背景的正上方方,第二個天空顏顏色著色于第一個個天空角所指指定的位置,,第三個天空顏顏色著色于第二個個天空角所指指定的位置。。依此類推,這這樣就使天空空角之間的顏色慢慢過渡渡,形成顏色色梯度。該域值必須須以升序的方方式排列,默默認值為空。。2.地面的顏色色和地面位置置空間角(1)groundColor域的值指定了了對地面背景顏色色進行著色,該域值由一一系列RGB顏色組合而成成。其默認值值為空。(2)groundAngle域的值指定地地面背景上需需要著色的位位置的空間角角(用弧度)。第一個地面顏顏色著色于地面背背景的正下方方,第二個地面顏顏色著色于第一個個地面角所指指定的位置,,第三個地面顏顏色著色于第二個個地面所指定定的位置,依此類推.該域值中地面面角必須以升序的方式排列,默認值為空。。我們可以通過過對背景設定空空間和地面角角及空間和地地面顏色來產(chǎn)產(chǎn)生天空和地地面效果,以在空間背景景上添加背景景圖像,也可可以創(chuàng)建城市市、原野、樓樓房、山脈等等場景。3.利用VRML立體空間六面面體創(chuàng)建室內(nèi)內(nèi)空間背景利用frontUrl、backUrl、1eftUrl、rightUrl、topUrl和bottomUrl這6個域分別在6個不同的立體體空間添加背背景圖像,形形成室內(nèi)立體體空間景象。??梢栽赩RML中使用的背景景圖像只能是是JPEG、GIF和PNG格式文件。事件說明set_bind入事件(eventIn)和isBound出事件(eventOut)用來實現(xiàn)VRML文件的各種背景切換。工作過程如下下:對需要設定為為當前背景的的Background背景節(jié)點中set_bind入事件發(fā)送一一個TRUE,則這個Background背景節(jié)點就變變成當前背景景節(jié)點同時原先的背背景節(jié)點的出出事件isBound(eventOut)向外發(fā)送一個個FALSE值,就不再是是當前背景節(jié)節(jié)點了。在使使用背景變換換時被用來接接收事件和發(fā)發(fā)送事件。立體空間背景景設計與編程程實例室外立體空間間背景設計和和編程室內(nèi)立體空間間背景設計和和編程1.室外立體空空間背景設計計和編程實例例只對立體空間間背景的“天天空”著色,,是單色調(diào)的的綠顏色,見見效果圖。vrml3-1[實例3·2]只對立體空間間背景的“天天空”顏色及及“空間角””進行設計,,產(chǎn)生天空中中大氣的各種種層次的調(diào)和和顏色效果Vrml3-2[實例3-3]只對立體空間間背景的地面面顏色及地面面角進行設計計,產(chǎn)生地面面的各種層次次的調(diào)和顏色色效果Vrml3-3[實例3-4]對立體空間背背景的“天空”顏色色和“空間角角”及立體空間背背景的“地面”顏色色和“地面角角”同時進行著色色設計,產(chǎn)生生“天空”與與“地面”立立體空間的各各種層次的調(diào)調(diào)和顏色效果果,產(chǎn)生天地地合一效果場場景。vrml3-42.室內(nèi)立體空空間背景設計計和編程實例例設計一個室內(nèi)內(nèi)立體空間背背景,包括立立體空間的6個面,即由前前、后、左、、右、上、下下平面組成。。在VRML中允許使用的的背景圖像文文件有JPEG、GIF和PNG等格式的文件件。根據(jù)不同的材材質(zhì)和圖片,,顯示不同的的效果,現(xiàn)舉舉例加以說明明。[實例3-5]在室內(nèi)立體空空間背景中,,采用外墻圖圖案和地磚圖圖案的室內(nèi)立立體空間效果果圖[實例3-6]在立體空間中中,采用6幅圖像,天空空綠草地和四四周采用的4幅圖片(*.jpg文件)產(chǎn)生的效果vrml3-63.2基本造型虛擬現(xiàn)實的基基本造型有::長方體(Box),圓柱體(Cylinder),圓錐體(Cone),球體(Sphere)這些基本造型型都由相應的專門門節(jié)點直接創(chuàng)創(chuàng)建虛擬現(xiàn)實的基基本造型關于Shape節(jié)點定義一個造型型所具有的幾幾何尺寸、材材料、紋理和和外觀特性所有VR空間里的造型型均有Shape節(jié)點創(chuàng)建注意區(qū)分域名名、節(jié)點名的的大小寫Shape節(jié)點語法:Shape節(jié)點包括了外觀和幾何結構兩個域。Shape{
appearanceNULL#域值類型SFNode
geometryNULL#域值類型SFNode幾何造型外觀造型Shape模型節(jié)點語法法結構textureShape模型節(jié)點Appearance外觀節(jié)點Box立方體節(jié)點Cone圓錐體節(jié)點Cylinder圓柱體節(jié)點Sphere球體節(jié)點Text文本造型節(jié)點Geometry域appearance域materialTextureTransformdiffuseColorambientIntensifyspecularColoremissiveColorshininesstransparency節(jié)點節(jié)點語法
appearance{
materialNULL#域值類型SFNode
textureNULL#域值類型SFNodetextureTransform
NOLL#域值類型SFNode}材料屬性紋理映像二維紋理坐標變換節(jié)點語法Material{ambientIntensity0.2#域值類型SFFloatdiffuseColor0.80.80.8#域值類型SFColoremissiveColor0.00.00.0#域值類型SFColorshininess0.2#域值類型SFFloatspecularColor0.00.00.0#域值類型SFColortransparency0.0#域值類型SFFloat}ambientIntensity有多少環(huán)境光光被該表面反反射,依賴于于光源的數(shù)目目,0.2的默認值表示示對材料產(chǎn)生生較低的環(huán)境境光線效果diffuseColor材料的漫反射射顏色,表面面越接近垂直直光性,被反反射的漫反射射光性越多。。默認值(0.80.80.8)表示中強度度的白光emissiveColor發(fā)光物體產(chǎn)生生的光的顏色色,默認值(0.0,0.0,0.0)表示不發(fā)光shininess造型外觀材料料的亮光,取取值從漫反射射表面的0到高度拋光的的1,默認值為0.2,表示適當?shù)牡牧炼萻pecularColor物體鏡面反射射光線的顏色色,默認值(0.0,0.0,0.0)表示鏡面不反反射transparency物體的透明度度,默認值0表示不透明空間物體造型型外觀顏色設設計物體造型的的外觀顏色色一般都由由幾種基本本顏色組成成:RYB紅(Red)黃(Yellow)藍(Blue)CYM蘭綠(青))黃(Yellow)絳紅(Mauve)RGB紅(Red)綠(Green)藍(Blue)CYMK蘭綠(青))黃(Yellow)絳紅(Mauve)黑(Black)3.2.5Shape空間節(jié)點實實例Vrml3-73.3Box節(jié)點語法Box{size2.02.02.0#域值類型SFVec3f}#寬高深深Vrml3-83.4Sphere節(jié)點語法Sphere{radium1.0#域值類型SFFloat}3.5Cone節(jié)點語法Cone{bottomradium1.0#域值類型SFFloatheight2.0#域值類型SFFloatsideTRUE#域值類型SFBoolbottomTRUE#域值類型SFBool}Vrml3-103.6Cylinder節(jié)點語法Cylinder{radium1.0#域值類型SFFloatheight2.0#域值類型SFFloatsideTRUE#域值類型SFBooltopTRUE#域值類型SFBoolbottomTRUE#域值類型SFBool}vrml3-113.7Text文本造型節(jié)節(jié)點文本造型節(jié)節(jié)點Text用來在VRML空間中創(chuàng)建建文本(文字)造型,通常常使用Shape節(jié)點的geometry域的域值。。Shape{appearanceNULL#域值類型SFNodegeometryNULL#域值類型SFNode}Shape模型節(jié)點Appearance外觀屬性節(jié)點Text文本造型節(jié)點Material造型外觀節(jié)點FontStyle文本外觀節(jié)點AppearanceGeometryText節(jié)點語法Text{
string[]#exposedFieldMFStringlength[]#exposedFieldMFFloatmaxExtent0.0#exposedFieldSFFloatfontStyleNULL#exposedFieldSFNode}域名和域值值詳解(1)string域域值指定了了要創(chuàng)建的的文本內(nèi)容容,其域值值可以是一一行文本,,也可以是是多行文本本。這些文本均均包含在雙引號之內(nèi)內(nèi),在引號內(nèi)內(nèi)的回車符符將被忽略略,所以不不能使用回車鍵分行。在其域值中中每一行文文本串使用用引號包圍圍起來,不不同的行用用逗號分開開。"VRMLscene","Howareyou!"該域值的默默認值為空空,即不產(chǎn)產(chǎn)生文本造造型。(2)length域用來指定文文本造型的的長度,是是以VRML單位為計量量單位的,,這里的長長度指的是是每一行的文文本長度。當設定一個個值后,瀏瀏覽器通過過改變字符符尺寸或字字符間距來來進行壓縮縮或擴展,,以滿足設設定長度的的要求。1ength域的值是和和string域值一一對對應的,即一個個數(shù)值控制制一行文本本,所以壓壓縮或擴展展其實并不不是固定數(shù)數(shù)值的,它它與string域值有關。。當所設定的的長度大于于其文本造造型本來的的長度時,則擴展;反反之則壓縮縮。該域值值的默認值為空空列表,即為0.0,表示即不擴擴展也不壓壓縮。(3)maxExtendt域值指定了文本本造型中所所對應的行的最大有有效長度,也是以VRML單位為計量量單位的。。該域值必須須大于0.0,對于那些些長度大于于所設定長長度的行,,通過改變變字符尺寸寸或字符間間距來進行行壓縮。該域值的默認值為0.0,表示對文文本造型的的長度沒有限限制,可以為任任意長度。。(4)fontStyle域用來定義文文本造型的的外觀特征。一般情況下下其域值為為fontStyle節(jié)點,該域值的默默認值為NULL,即沒有定定義外觀特特征。使用默認的的外觀特征征,如左對對齊,從左左到右,文文本尺寸為為1.0,文本間距為為1.0及默認的字字體大小等等。[實例3-12]在山水畫背背景下,顯顯示兩行文文本文字的的效果圖;;在文本中中兩行不同同的文字用用逗號隔開開,可以設設定兩行不不同的長度度以及設定定字符串最最大有效長長度等3.7.2FontStyle文本外觀節(jié)節(jié)點FontStyle文本外觀節(jié)節(jié)點是Text文本節(jié)點的的子節(jié)點,,用來控制制文本造型型的外觀特特征,通過過設定FontStyle節(jié)點可以改改變由Text節(jié)點創(chuàng)建的的文本造型型的外觀、字體體、字形、、風格和尺尺寸大小,等等。FontStyle文本外觀節(jié)節(jié)點只出現(xiàn)現(xiàn)在Text文本節(jié)點中中的fontStyle域中,用于于說明文字字符號的大大小、風格格、字體、、文本造型型的排列、、文本的擺擺放和語言言設置等。。FontStyle文本外觀節(jié)節(jié)點語法結結構定義FontStyle{family““SERIF””#fieldSFStringstyle““PLAIN”#fieldSFStringsize1.0#fieldSFFloatspacing1.0#fieldSFFloatjustify““BEGIN”#fieldSFStringhorizontalTRUE#fieldSFBoolleftToRightTRUE#fieldSFBooltopToBottomTRUE#fieldSFBoollanguage““””#fieldSFString}域名和域值值詳解(1)family域用來指定在在VRML中使用的VRML字符集,這這些字符集集包括“SERIF”、“SANS”和“TYPEWRITER”?!癝ERIF”是指serif字體,是一一種變寬的的字體,如如“TimesRoman”字體;“SANS””是指sans字體,也是是一種變寬寬的字體,,如“Helvetica”字體;“TYPEWRITER”是指typewriter字體,是一一種等寬字字體,如““Coutier”字體。這里要注意意的是在VRML瀏覽器中實實際顯示的的字符集是是與瀏覽器器本身有關關的,當該域域值設定為為“SERIF”時,瀏覽器器也有可能能顯示NewYork字符集,這這是由瀏覽覽器本身的的設置決定定的。該域域值的默認認值為“SERIF”。(2)size域值用來指定所所顯示的文本字符的的高度,單位為VRML單位。改變變其高度可可以進而改改變文本字字符的尺寸寸大小。該該域值的默認值為1.0。(3)spacing域值用來指定所所顯示的文本字符的的間距。當文本是是水平排列列時,該間間距指的是是水平間距距,而當文文本是垂直直排列時,,該間距指指的是垂直直間距。該該域值的默認值為1.0。(4)style域值用來指定所所顯示的文本的風格格。該域值通常常包括“PLAIN”、“BOLD””、“ITALIC”和“BOLDITALIC”,這些都是是瀏覽器所所能支持的的風格?!癙LAIN”為常用字體體,既不加加粗又不傾傾斜;“BOLD””為加粗字體體;“ITALIC”為傾斜字體體;“BOLDITALIC”為既加粗又又傾斜的字字體。該域值的默默認值為““PLAIN”。(5)horizontal域值控制著文本本造型的排列方式,既可以是是水平排列列還可以是是垂直排列列。該域值值的默認值為TRUE,表示文本本為水平排列;假如如將horizontal域值設定為為FALSE,表示兩行行文本造型型是垂直排列的。(6)leftToRight域值用來指定相相鄰字符在在水平方向上上的擺放。當leftToRight域值為TRUE時,相鄰字字符沿X正方向從左到右排列;當leftToRight域域值為FALSE時則沿X正方向從右右到左排列列。(7)topToBottom域值用來指定相相鄰字符在在垂直方向上上的擺放。當topToBottom域值為TRUE時,相鄰字字符沿Y負方向從上到下排列;當topToBottom域值為FALSE時,相鄰字字符沿Y正方向從下下往上排列列。(8)justify域值相對于X與Y軸來說的對齊方式。如有兩個個選項,第第1個值為主對對齊方式,,第2個值為次對對齊方式可以有“FIRST”、“BEGIN”、“MIDDLE”、“END”默認值為““BEGIN”、“FIRST”(9)Language域值用來指定string域值中所使使用的語言,比如英語語德語等。。在一副背景景空間下,,顯示兩行行文本,要要求是typewriter字體、文本本字符高度度為2.0,字體既加加粗又傾斜斜,造型位位于X、Y軸的中心點點什么樣的場場景?在背景畫面面中,顯示示兩行垂直直文本的畫畫面,要求求是sans字體,高高度為0.5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國半導體用水溶性助焊劑行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國第一人稱視角射擊游戲行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國HDPE模制容器行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國茂金屬線型低密度聚乙烯樹脂行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 合同起草范本
- 汽車自駕租賃合同
- 房屋委托代管合同
- 2025贈與合同公證書
- 維修工聘用合同范本
- 收獲成長迎接新起點主題班會
- 2024年江西省南昌市南昌縣中考一模數(shù)學試題(含解析)
- 繪本的分鏡設計-分鏡的編排
- 查干淖爾一號井環(huán)評
- 體檢中心分析報告
- 人教版初中英語七八九全部單詞(打印版)
- 臺球運動中的理論力學
- 最高人民法院婚姻法司法解釋(二)的理解與適用
- 關于醫(yī)保應急預案
- 新人教版五年級上冊數(shù)學應用題大全doc
- 2022年版義務教育勞動課程標準學習培訓解讀課件筆記
- 2022年中國止血材料行業(yè)概覽:發(fā)展現(xiàn)狀對比分析研究報告(摘要版) -頭豹
評論
0/150
提交評論