freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

虛擬現(xiàn)實(shí)技術(shù)——vrml篇-免費(fèi)閱讀

  

【正文】 關(guān)聯(lián)的基本規(guī)則是域和域、入事件和入事件、出事件和出事件對(duì)應(yīng)關(guān)聯(lián),原型定義中的外露域可以和接口聲明中的域、入事件、出事件或外露城關(guān)聯(lián)。這里的接口聲明為:PROTO TwoColorTable [ field SFColor legColor field SFColor topColor ]這個(gè)原型的類(lèi)型名稱(chēng)為“TwoColorTable”(雙色桌),它有兩個(gè)域;legColor (桌腿色)和topColor (桌面色)。通過(guò)這個(gè)過(guò)程,球體節(jié)點(diǎn)SphereChild的父節(jié)點(diǎn)從leftBox更換成rightBox。VRML utf8Viewpoint {position 0 0 15 }DEF leftBox Transform { translation 5 0 0  children [   Shape {    appearance Appearance {     material Material {diffuseColor 1 0 0}        }       geometry Box {}       }     ]   }DEF rightBox Transform { translation 5 0 0  children [   Shape {    appearance Appearance {     material Material {diffuseColor 0 0 1}        }       geometry Box {}       }     ]   }DEF onoff Transform { translation 0 5 0  children [   Shape {    appearance Appearance {     material Material {diffuseColor 0 1 0}        }       geometry Box {}       }     ]   }其中,左邊的方塊為紅色,右邊的方塊為藍(lán)色,下邊的方塊為綠色,都是Transform類(lèi)型,三者都位于場(chǎng)景圖的最高層,都是場(chǎng)景圖的根節(jié)點(diǎn),都包含一個(gè)Box幾何體作為子節(jié)點(diǎn)。與此對(duì)應(yīng),我們把插補(bǔ)器關(guān)鍵幀的取值也定義在[0,1]范圍內(nèi)。     angle+=。鼠標(biāo)指針在cube上面的每次方位變化都引起isOver事件發(fā)送一次,從而導(dǎo)致方塊旋轉(zhuǎn)一次。      angle+=。再稍稍修改一下鄰近檢測(cè)器,把它的中心位置向右移了2米:   DEF eCloser ProximitySensor {    center 2 0 0    size 4 4 4    }   這樣你就可以從左邊(方塊那一邊)走進(jìn)球體(視點(diǎn)不跳),但不能從右邊(圓錐那一邊)走近它(視點(diǎn)跳轉(zhuǎn))。若用戶(hù)已在檢測(cè)器之內(nèi),則當(dāng)用戶(hù)的位置或方位發(fā)生變化時(shí),送出position_changed和orientation_changed出事件。按照VRML約定,“認(rèn)為”上述事件是同時(shí)發(fā)生的,也就是這些事件的時(shí)間戳相同?! 。?)這里定義的事件入口touchBoxIsActive(即入事件)和事件出口bindView2(即出事件)的類(lèi)型都是SFBool(單值布爾型),它們與touchBox的事件出口isActive和view2的事件入口set_bind的類(lèi)型保持一致。因?yàn)樗砷_(kāi)鼠標(biāo)左鍵后,接觸傳感器向view2發(fā)送了“FALSE”事件,這樣view2的當(dāng)前地位被解除。能夠接收事件的節(jié)點(diǎn)都應(yīng)具有事件入口(eventIn),如果它要接收多種類(lèi)型的事件(稱(chēng)為入事件),它就應(yīng)該具有多個(gè)事件入口,也就是說(shuō),事件入口象節(jié)點(diǎn)的域一樣是有類(lèi)型的。在場(chǎng)景中,傳感器節(jié)點(diǎn)一般是以其他節(jié)點(diǎn)的子節(jié)點(diǎn)的身份存在的,它的父節(jié)點(diǎn)稱(chēng)為可觸發(fā)節(jié)點(diǎn),觸發(fā)條件和時(shí)機(jī)由傳感器節(jié)點(diǎn)類(lèi)型確定。(二)VRKL節(jié)點(diǎn)和數(shù)據(jù)類(lèi)型虛擬場(chǎng)景由對(duì)象構(gòu)成,對(duì)象及其屬性用節(jié)點(diǎn)(Node)描述,節(jié)點(diǎn)是構(gòu)成VRML文件的基本單元。在虛擬場(chǎng)景,尤其是大場(chǎng)景的應(yīng)用方面,以VRML標(biāo)準(zhǔn)為核心的技術(shù)具有獨(dú)特的優(yōu)勢(shì)。 Animations WG)為了使用戶(hù)能使用自然語(yǔ)言和VRML動(dòng)畫(huà)形象進(jìn)行交流,從而使交互更自然,增強(qiáng)用戶(hù)和動(dòng)畫(huà)形象之間的信息流動(dòng),研究如何使用“問(wèn)題/回答”、“命令/響應(yīng)”式的對(duì)話(huà)以及基于操作系統(tǒng)命令和字符控制的自然語(yǔ)言。同時(shí)定義一種統(tǒng)一機(jī)制,通過(guò)這種機(jī)制,VRML內(nèi)容創(chuàng)作者可以在自己的境界中使用這些媒體元件。 元形式工作組(Meta Forms WG)針對(duì)利用形式文法生成的作品,提出一般性的方法論和一般性規(guī)范,使之能夠映射為某種特定形式。 VRML在電子商務(wù)、教育、工程技術(shù)、建筑、娛樂(lè)、藝術(shù)等領(lǐng)域有廣泛的應(yīng)用。 VRML使用場(chǎng)景圖(Scene Graph)數(shù)據(jù)結(jié)構(gòu)來(lái)建立3D實(shí)境,VRML的場(chǎng)景圖是一種代表所有3D世界靜態(tài)特征的節(jié)點(diǎn)等級(jí):幾何關(guān)系、質(zhì)材、紋理、幾何轉(zhuǎn)換、光線(xiàn)、視點(diǎn)以及嵌套結(jié)構(gòu)。以VRML為核心構(gòu)建的虛擬世界中用戶(hù)如身處真實(shí)世界,可以和虛擬物體交互,人們可以以習(xí)慣的自然方式訪問(wèn)各種場(chǎng)所,在虛擬社區(qū)中“直接”交談和交往。第二代Web是以VRML為核心的三維瀏覽技術(shù)。 VRML文件可以包含對(duì)其他標(biāo)準(zhǔn)格式文件的引用。 VRML文件的解釋、執(zhí)行和呈現(xiàn)通過(guò)瀏覽器實(shí)現(xiàn),這與利用瀏覽器顯示HTML文件的機(jī)制完全相同。 為了推動(dòng)VRML技術(shù)的發(fā)展,VRML協(xié)會(huì)組織了很多工作組,每個(gè)工作組都是自愿組織、自我約束、并經(jīng)VRML協(xié)會(huì)認(rèn)可的技術(shù)委員會(huì),負(fù)責(zé)某個(gè)與VRML有關(guān)的專(zhuān)題技術(shù)的研究和實(shí)現(xiàn)工作。 界面組件工作組(Widgets WG)為開(kāi)發(fā)者和用戶(hù)提供一套基礎(chǔ)性的、可自由使用的標(biāo)準(zhǔn)用戶(hù)界面組件集,并提供支持基本組件集和所有VRML組件的理論框架。 分布式交互仿真工作組(Distributed Interactive Simulation WG)為建立有多廣播能力(MulticastCapable)的大規(guī)模虛擬環(huán)境(LargeScale Virtual Environments,LSVEs)確立初始網(wǎng)絡(luò)約定。比如,Cult3D、Viewpoint、GL4Java、Pulse3D、Flatland、Flash、JPEG2000等。事件一旦產(chǎn)生,就按時(shí)間順序向路由目標(biāo)節(jié)點(diǎn)發(fā)送。(三)VRML瀏覽器 Blaxxun Contact 3DCosmo PlayerVisvape等Microsoft Viewer(四)編寫(xiě)VRML境界VRML utf8Group {children [ Shape { geometry Box {} } ]} ,則可以用瀏覽器看到它。視點(diǎn)節(jié)點(diǎn)中的坐標(biāo)表示視點(diǎn)在場(chǎng)景中的位置,坐標(biāo)的單位是米,視點(diǎn)的名稱(chēng)將會(huì)在瀏覽器菜單中提示出來(lái)供用戶(hù)選擇。ROUTE語(yǔ)句把事件出口和事件入口聯(lián)系在一起,從而構(gòu)成事件體系。這里我們不過(guò)多討論腳本描述語(yǔ)言的細(xì)節(jié),主要討論把腳本集成到VRML文件中的方法。  ?。?)此事件進(jìn)入腳本節(jié)點(diǎn)touchScript的事件入口touchBoxIsActive.  ?。?)調(diào)用腳本函數(shù)touchBoxIsActive(注意函數(shù)并沒(méi)有判斷入事件的值)。 (六)進(jìn)一步的完善與修飾當(dāng)用戶(hù)進(jìn)入或離開(kāi)鄰近檢測(cè)器所劃定的區(qū)域時(shí)就會(huì)觸發(fā)它。當(dāng)用戶(hù)走進(jìn)球體時(shí)就會(huì)觸發(fā)這個(gè)鄰近檢測(cè)器,檢測(cè)器發(fā)出isActive事件,我們把這個(gè)事件出口通過(guò)路由指向Script節(jié)點(diǎn)(用來(lái)綁定視點(diǎn)2):DEF eCloserScript Script {    eventIn SFBool enterProximitySensorIsActive    eventOut SFBool bindView2    url javascript :     function enterProximitySensorIsActive (active) {      bindView2=TRUE。      revolve[1]=1。它給定一個(gè)不斷變化的旋轉(zhuǎn)值。     revolve[1]=1。根據(jù)插值類(lèi)型的不同,VRML共定義六個(gè)插補(bǔ)器節(jié)點(diǎn):  ColorInterpolator(顏色插補(bǔ)器)、  CoordinateInterpolator(坐標(biāo)插補(bǔ)器)、  NormalInterpolator(法線(xiàn)插補(bǔ)器)、  OrientationInterpolator(朝向插補(bǔ)器)、  positionInterpolator(位置插補(bǔ)器)、  ScalarInterpolator(標(biāo)量插補(bǔ)器)。組節(jié)點(diǎn)是能夠包含子節(jié)點(diǎn)的節(jié)點(diǎn),組節(jié)點(diǎn)本身還可作為其他組節(jié)點(diǎn)的子節(jié)點(diǎn),從而形成層次性體系結(jié)構(gòu)。加上下面的路由語(yǔ)句,建立事件聯(lián)系:ROUTE TO ROUTE TO ROUTE TO 接觸傳感器TS的激活事件isActive鏈接到腳本節(jié)點(diǎn)S的isActive,這樣用戶(hù)一旦按動(dòng)綠方塊,就會(huì)啟動(dòng)腳本節(jié)點(diǎn)的事件處理函數(shù)isActive(),此函數(shù)把testNode節(jié)點(diǎn)(即球體節(jié)點(diǎn)SphereChild) 。外部原型提供了一種使節(jié)點(diǎn)類(lèi)型能夠跨越網(wǎng)絡(luò)的機(jī)制。原型定義中定義的其他節(jié)點(diǎn)及其附帶的場(chǎng)景圖都不進(jìn)入原型實(shí)例所在的變換層系,但可以被原型定義中的ROUTE語(yǔ)句或Script節(jié)點(diǎn)引用。25 / 25。原型定義實(shí)際上是一個(gè)場(chǎng)景圖,由一個(gè)或多個(gè)根節(jié)點(diǎn)、嵌入的PROTO語(yǔ)句和ROUTE語(yǔ)句構(gòu)成,其中的第一個(gè)節(jié)點(diǎn)類(lèi)型確定原型實(shí)例在VRML文件中的使用方法。新節(jié)點(diǎn)類(lèi)型是根據(jù)已定義的(內(nèi)部的或原型的)節(jié)點(diǎn)類(lèi)型定義的,一旦定義,原型節(jié)點(diǎn)類(lèi)型就可以像內(nèi)部節(jié)點(diǎn)類(lèi)型—樣在場(chǎng)景圖中實(shí)例化。 }” }請(qǐng)注意,它的出事件child的類(lèi)型是MFNode,也就是說(shuō),通過(guò)這個(gè)事件送出的是節(jié)點(diǎn)。產(chǎn)生不斷變化的旋轉(zhuǎn)值的方法有兩種:自己編寫(xiě)腳本,或者利用插補(bǔ)器節(jié)點(diǎn)。⑶方位插值器插補(bǔ)器節(jié)點(diǎn)可認(rèn)為是VRML內(nèi)置的腳本節(jié)點(diǎn),它們執(zhí)行簡(jiǎn)單的動(dòng)態(tài)計(jì)算,通常和時(shí)間檢測(cè)器或者能夠使對(duì)象產(chǎn)生動(dòng)作的節(jié)點(diǎn)結(jié)合在一起使用,生成線(xiàn)性關(guān)鍵幀動(dòng)畫(huà)。并用它來(lái)觸發(fā)revolver的startRevolving事件,注意,cycleTime事件的類(lèi)型為SFTime,而路由兩端事件的類(lèi)型必須匹配,所以盡管這里我們不關(guān)心這個(gè)事件表示的具體時(shí)刻,revolver的函數(shù)startRevolving(),從而驅(qū)動(dòng)方塊連續(xù)旋轉(zhuǎn)。由于它是外露域,因而可以通過(guò)入事件(名為set_rotation)進(jìn)行修改,下面定義的動(dòng)態(tài)行為就是這樣實(shí)現(xiàn)的。   這一節(jié)仍然制作這樣一個(gè)對(duì)接觸有反應(yīng)的方塊,只是接觸后它會(huì)連續(xù)不斷地轉(zhuǎn)動(dòng),動(dòng)畫(huà)行為可以用時(shí)間檢測(cè)器(TimeSensor)驅(qū)動(dòng),而不斷變化的旋轉(zhuǎn)值可用腳本節(jié)點(diǎn)或朝向插補(bǔ)器(orientationInterpolator)給出。這里的enabled外露域是布爾型的,用于ProximitySensor的啟用和停用,center和size定義形為長(zhǎng)方體的鄰近檢測(cè)區(qū)。        }      }     ROUTE TO     ROUTE TO  這里所建立的虛擬境界并不復(fù)雜,:利用檢測(cè)器產(chǎn)生事件、利用路由傳遞事件以及利用腳本編寫(xiě)自定義行為。   下面我們整理一下事件流程:  ?。?)用戶(hù)在方塊上按下鼠標(biāo)左鍵。VRML97支持的腳本描述語(yǔ)言目前有兩種:Java和EMCAScript(這是JavaScript標(biāo)準(zhǔn)化后的名稱(chēng)),關(guān)于這兩種語(yǔ)言本身,請(qǐng)參考相應(yīng)參考書(shū),VRML97標(biāo)準(zhǔn)中定義了它們和VRML的接口方法。又如,接觸檢測(cè)器TouchSensor有一個(gè)事件出口isActive,當(dāng)受到用戶(hù)觸發(fā)后它就從此出口送出一個(gè)“TRUE”(即所謂的出事件),在下一個(gè)事件發(fā)送之前
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1