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

正文內(nèi)容

虛擬現(xiàn)實(shí)技術(shù)——vrml篇(更新版)

  

【正文】 e。isOver事件通過(guò)路由傳遞給腳本節(jié)點(diǎn)的事件入口startRevolving,從而啟動(dòng)函數(shù)startRevolving,函數(shù)將一個(gè)新的旋轉(zhuǎn)值發(fā)往事件出口revolve,這個(gè)旋轉(zhuǎn)值通過(guò)路由進(jìn)入cube的外露域rotation,修改了方塊的旋轉(zhuǎn)角,引起它的朝向變化。     revolve[3]=angle。   這里我們把時(shí)間檢測(cè)器的fraction_changed事件作為插補(bǔ)器的輸入,這個(gè)事件是一個(gè)[0,1]區(qū)間的值,每個(gè)時(shí)間步都送出一次,表示當(dāng)前周期內(nèi)已過(guò)去的時(shí)間相對(duì)于整個(gè)周期的比例,是插補(bǔ)器常用的輸入源之一。下面是我們這一節(jié)要建立的境界,開始的時(shí)候球體位于左邊紅色方塊的內(nèi)部,在按動(dòng)底部的綠色方塊后,球體進(jìn)人右邊藍(lán)包入塊之內(nèi)。與此同時(shí),根據(jù)addChildren的語(yǔ)義,球體節(jié)點(diǎn)SphereChild加入rightBox 的子節(jié)點(diǎn)列表。接口聲明包括原型的入事件和出事件的類型和名稱,以及原型的域的類型、名稱和缺省值。原型定義中節(jié)點(diǎn)的域、人事件、出事件可以通過(guò)IS語(yǔ)句和接口聲明中的域、入事件、出事件建立關(guān)聯(lián),關(guān)聯(lián)實(shí)際上相當(dāng)于把原型定義中的這些域和事件公開作為原型的域和事件。本例中的關(guān)聯(lián)有兩個(gè):桌面diffuseColor域和接口聲明中的topColor域,桌腿的diffuseColor域和接口聲明中的legColor域之間。作為節(jié)點(diǎn)類型,TwoColorTable的用法和其他內(nèi)部節(jié)點(diǎn)類型—樣。VRML提供了54種節(jié)點(diǎn)類型,稱為內(nèi)部節(jié)點(diǎn)類型。下面為紅方塊增加一個(gè)球體子節(jié)點(diǎn):DEF leftBox Transform { translation 5 0 0  children [   Shape {    appearance Appearance {     material Material {diffuseColor 1 0 0}        }       geometry Box {}       }DEF SphereChild Shape {    appearance Appearance {     material Material {diffuseColor 1 0 1}        }       geometry Sphere {radius }       }     ]   }為了以后引用方便,這里為球體子節(jié)點(diǎn)起了名字:SphereChild。與0和1這兩個(gè)關(guān)鍵幀對(duì)應(yīng)的關(guān)鍵值的旋轉(zhuǎn)軸是相同的,只是旋轉(zhuǎn)角度不同(0,),這樣方位插補(bǔ)器輸出的旋轉(zhuǎn)值的旋轉(zhuǎn)軸固定不變,,然后不斷重復(fù)。     }  } DEF ticker TimeSensor {  cycleInterval  loop TRUE  enabled FALSE  } ROUTE TO ROUTE TO ROUTE TO 上述腳本節(jié)點(diǎn)的功能比較簡(jiǎn)單,只是不斷送出調(diào)整的旋轉(zhuǎn)值,它是關(guān)鍵幀動(dòng)畫的一種。⑵時(shí)間傳感器為了使方塊能夠連續(xù)旋轉(zhuǎn),需要引進(jìn)等間隔連續(xù)發(fā)送的時(shí)間序列,這正是時(shí)間檢測(cè)器的用武之地。      }     }   ROUTE TO   ROUTE TO 其中,方塊cube包含兩個(gè)子節(jié)點(diǎn),前者定義了它的形態(tài)(紅色的單位立方體),后者把它定義成接觸檢測(cè)器。   總之,ProximitySensor能夠檢測(cè)用戶是否進(jìn)入或離開檢測(cè)器指定的空間區(qū)域,典型用法是當(dāng)用戶走進(jìn)房間時(shí)開啟燈光,當(dāng)用戶離開時(shí)關(guān)閉燈光,從而建立功能豐富的“智能”空間。這五個(gè)出事件聯(lián)合起來(lái),就定義了鄰近檢測(cè)器的功能。  ?。?)若用戶松開鼠標(biāo)左鍵,則接觸檢測(cè)器發(fā)出一個(gè)“FALSE”事件,此事件同樣引起腳本函數(shù)調(diào)用并發(fā)送“TRUE”事件,所以view2仍然保持為當(dāng)前視點(diǎn)?! 。?)“url”是腳本節(jié)點(diǎn)的一個(gè)域,可以直接包含腳本,也可以包含一個(gè)或多個(gè)用URL地址指示的腳本,若有多個(gè)地址,則按照先后次序獲取第一個(gè)可得到的腳本。若不想回跳,則要自己來(lái)定義。同樣,發(fā)送事件的節(jié)點(diǎn)應(yīng)有事件出口(eventOut),事件出口也是有類型的。 接觸傳感器(TouchSensor)是最常用的傳感器,先了解一下開關(guān)節(jié)點(diǎn)lightSwitch(組節(jié)點(diǎn)),并定義一個(gè)接觸傳感器作為它的子節(jié)點(diǎn): DEF lightSwitch Group { children [ 各幾何造型節(jié)點(diǎn)…… DEF touchSensor TouchSensor { } ]} 傳感器能引起某種變化,下面看場(chǎng)景變化。VRML97定義了54種基本節(jié)點(diǎn)類型(內(nèi)部節(jié)點(diǎn)類型),用戶也可以通過(guò)原型機(jī)制定義自己的節(jié)點(diǎn)類型。二、初識(shí)VRML(一)VRML的文件結(jié)構(gòu)(VRML97)開頭如下: VRML utf8VRML是大小寫敏感的,utf8是指一種純文本編碼方式(Scene Graph)由描述“對(duì)象及其屬性”的節(jié)點(diǎn)組成,節(jié)點(diǎn)是VRML的基本單元,場(chǎng)景圖的第一類節(jié)點(diǎn)用于從視覺和聽覺角度表現(xiàn)對(duì)象,它們是按照層次體系結(jié)構(gòu)組織的;另一類節(jié)點(diǎn),則參與事件產(chǎn)生和路由機(jī)制。 VRMLDHTML集成工作組(VRMLDHTML Integration WG)為VRML和DHTML在文檔對(duì)象模型、組件(Component)接口和繪制等三個(gè)層次的緊密集成開發(fā)一種概念模型。 活動(dòng)境界工作組(Living Worlds WG)為多用戶(包括多個(gè)開發(fā)者)應(yīng)用的產(chǎn)生和進(jìn)化定義概念框架,并確定一組界面。首要目標(biāo)是能夠表示數(shù)字生命格式( Digital LifeForms)結(jié)構(gòu)和增長(zhǎng)。 例如在教育上,VRML不僅僅是HTML功能更強(qiáng)的替代品,其潛在意義在于突破上述基于WWW的教學(xué)模型建立更自然、更真實(shí)的虛擬教育環(huán)境。幾乎所有生產(chǎn)廠商,無(wú)論是CAD、建模、動(dòng)畫、VR,還是VRML,他們的結(jié)構(gòu)核心都有場(chǎng)景圖。事實(shí)上,目前采用VRML技術(shù)取得成功的案例已經(jīng)很多,例如探路者到達(dá)火星后的信息就是利用VRML在因特網(wǎng)上即時(shí)發(fā)布的,網(wǎng)絡(luò)用戶可以以三維方式隨探路者探索火星。 第一代Web是以HTML為核心的二維瀏覽技術(shù),受HTML語(yǔ)言的局限性,VRML之前的網(wǎng)頁(yè)只能是簡(jiǎn)單的平面結(jié)構(gòu),而且實(shí)現(xiàn)環(huán)境與參與者的動(dòng)態(tài)交互是非常煩瑣的。VRML文件描述的基于時(shí)間的3D空間稱為虛擬境界(Virtual World),簡(jiǎn)稱境界,所包含的圖形對(duì)象和聽覺對(duì)象可通過(guò)多種機(jī)制動(dòng)態(tài)修改。另一類節(jié)點(diǎn)參與事件產(chǎn)生和路由機(jī)制,形成路由圖(Route Graph),確定境界隨時(shí)間的推移如何動(dòng)態(tài)變化。如果把這種方式擴(kuò)大到教學(xué)雙方,則可實(shí)現(xiàn)具有實(shí)時(shí)交互性的虛擬教學(xué)——教師控制的虛擬教師和學(xué)生控制的虛擬學(xué)生就可以在一個(gè)虛擬教室中相互交流。 外部創(chuàng)作接口工作組(External Authoring Interface WG)在VRML境界和外部環(huán)境之間建立標(biāo)準(zhǔn)接口。 生物圈工作組(Biota WG)為生命系統(tǒng)(Living System)的研究和學(xué)習(xí)建立、配備數(shù)字式工具和環(huán)境。這些軟件有些比VRML有了進(jìn)步,在渲染速度、圖像質(zhì)量、造型技術(shù)、交互性以及數(shù)據(jù)的壓縮與優(yōu)化上,都有勝過(guò)VRML之處。(Route)有些VRML節(jié)點(diǎn)能通過(guò)產(chǎn)生事件響應(yīng)環(huán)境變化或用戶交互。(event)分為入事件和出事件,入事件將導(dǎo)致節(jié)點(diǎn)狀態(tài)的改變;出事件向外報(bào)告自身狀態(tài)的變化。這里我們定義兩個(gè)視點(diǎn)節(jié)點(diǎn):  DEF view1 Viewpoint { ?。!皏iew1”是編程時(shí)引用的名字   position 0 0 20    description View1 ?。!癡iew1”是瀏覽器上顯示的名字   }   DEF view2 Viewpoint {    position 5 0 20    description view2    }   目的是使用戶可以通過(guò)觸發(fā)開關(guān)節(jié)點(diǎn)來(lái)切換視點(diǎn)。   事件出口和事件入口通過(guò)路徑相連,這就是VRML文件中除節(jié)點(diǎn)以外的另一基本組成部分:ROUTE 語(yǔ)句。應(yīng)提請(qǐng)注意的是:VRML是基于節(jié)點(diǎn)的語(yǔ)言,所以腳本也是封裝在Script這個(gè)特殊節(jié)點(diǎn)中的。  ?。?)接觸檢測(cè)器發(fā)出一個(gè)“TRUE”事件。在后面的幾節(jié)中,我們將探索一些專題性的有趣功能,而本節(jié)是基礎(chǔ),因而必須透徹理解?! ∥覀円诜綁K、球體和圓柱這三個(gè)物體構(gòu)成的靜態(tài)世界,現(xiàn)在在球體周圍增加一個(gè)鄰近檢測(cè)區(qū):DEF sphere Transform {    translation 0 0 0     children [      Shape {....}      DEF eClose ProximitySensor {       center 0 0 0       size 4 4 4       }      ]     }ProximitySensor的名字為eCloser,鄰近區(qū)的中心和球體的球心重合,形狀為正方體,邊長(zhǎng)為4米,是球體直徑的兩倍。⑴接觸傳感器作為開始的基本代碼是:   VRML utf8   DEF cube Transform {   rotation 1 1 1 0    children [     Shape {      appearance Appearance {       material Material {        diffuseColor 1 0 0        }       }      geometry Box {}      }     DEF TouchS TouchSensor {}     ]    }   DEF revolver Script {    eventIn SFBool startRevolving    eventOut SFRotation revolve    field SFFloat angle 0    url javascript :     function startRevolving () {      revolve[0]=1。Script節(jié)點(diǎn)revolver的核心是內(nèi)聯(lián)的ECMAScript腳本函數(shù)。完整的代碼是:VRML utf8 DEF cube Transform {  rotation 1 1 1 0  children [   Shape {    appearance Appearance {     material Material {      diffuseColor 1 0 0      }     }    geoemtry Box {}    }   DEF TouchS TouchSensor {}   ]  } DEF revolver Script {  eventIn SFTime startRevolving  eventOut SFRotation revolve  field SFFloat angle 0  url vrmlscript :    function startRevolving () {     revolve[0]=1。插補(bǔ)器節(jié)點(diǎn)實(shí)際上是一個(gè)由關(guān)鍵點(diǎn)和對(duì)應(yīng)關(guān)鍵值定義的分段線形函數(shù)。場(chǎng)景圖是描述境界結(jié)構(gòu)的基本概念,節(jié)點(diǎn)是構(gòu)成場(chǎng)景圖的基本單元。節(jié)點(diǎn)S的testNode域是對(duì)球體SphereChild引用(USE語(yǔ)句),引用不復(fù)制該節(jié)點(diǎn),而是把同—節(jié)點(diǎn)再次插入場(chǎng)景圖,從而導(dǎo)致SphereChild擁有多個(gè)父親,所以場(chǎng)景圖儀僅是層次結(jié)構(gòu),而不是樹形結(jié)構(gòu)。原型可以在當(dāng)前文件中定義并使用,也可以在其他文件中定義,即外部原型。例如,如果原型定義中的第一個(gè)節(jié)點(diǎn)是Material節(jié)點(diǎn),則只要可以使用Material節(jié)點(diǎn)的地方,原型實(shí)例都
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1