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

正文內(nèi)容

虛擬現(xiàn)實技術——vrml篇-全文預覽

2025-08-04 01:56 上一頁面

下一頁面
  

【正文】    ROUTE TO  這里所建立的虛擬境界并不復雜,:利用檢測器產(chǎn)生事件、利用路由傳遞事件以及利用腳本編寫自定義行為。enterTime和exitTime通報用戶(代表用戶的用戶化身或指示器)進入和退出ProximitySensor檢測區(qū)的時刻。這里的enabled外露域是布爾型的,用于ProximitySensor的啟用和停用,center和size定義形為長方體的鄰近檢測區(qū)。      }    }   ROUTE TO   ROUTE TO 啟動VRML瀏覽器進入境界,面向球體一直走過去,當你剛剛感到靠近球體時,會突然感到自己后退了一大步(或者說物體跳到前方更遠的地方),這表明鄰近檢測器已經(jīng)檢測到你的靠近,它把這件事通知腳本節(jié)點,腳本節(jié)點把視點View2綁定成當前視點,從而使你感到視點突然改變。   這一節(jié)仍然制作這樣一個對接觸有反應的方塊,只是接觸后它會連續(xù)不斷地轉(zhuǎn)動,動畫行為可以用時間檢測器(TimeSensor)驅(qū)動,而不斷變化的旋轉(zhuǎn)值可用腳本節(jié)點或朝向插補器(orientationInterpolator)給出。      revolve[3]=angle。由于它是外露域,因而可以通過入事件(名為set_rotation)進行修改,下面定義的動態(tài)行為就是這樣實現(xiàn)的。isOver事件通過路由傳遞給腳本節(jié)點的事件入口startRevolving,從而啟動函數(shù)startRevolving,函數(shù)將一個新的旋轉(zhuǎn)值發(fā)往事件出口revolve,這個旋轉(zhuǎn)值通過路由進入cube的外露域rotation,修改了方塊的旋轉(zhuǎn)角,引起它的朝向變化。并用它來觸發(fā)revolver的startRevolving事件,注意,cycleTime事件的類型為SFTime,而路由兩端事件的類型必須匹配,所以盡管這里我們不關心這個事件表示的具體時刻,revolver的函數(shù)startRevolving(),從而驅(qū)動方塊連續(xù)旋轉(zhuǎn)。     revolve[3]=angle。⑶方位插值器插補器節(jié)點可認為是VRML內(nèi)置的腳本節(jié)點,它們執(zhí)行簡單的動態(tài)計算,通常和時間檢測器或者能夠使對象產(chǎn)生動作的節(jié)點結合在一起使用,生成線性關鍵幀動畫。   這里我們把時間檢測器的fraction_changed事件作為插補器的輸入,這個事件是一個[0,1]區(qū)間的值,每個時間步都送出一次,表示當前周期內(nèi)已過去的時間相對于整個周期的比例,是插補器常用的輸入源之一。產(chǎn)生不斷變化的旋轉(zhuǎn)值的方法有兩種:自己編寫腳本,或者利用插補器節(jié)點。下面是我們這一節(jié)要建立的境界,開始的時候球體位于左邊紅色方塊的內(nèi)部,在按動底部的綠色方塊后,球體進人右邊藍包入塊之內(nèi)。 }” }請注意,它的出事件child的類型是MFNode,也就是說,通過這個事件送出的是節(jié)點。與此同時,根據(jù)addChildren的語義,球體節(jié)點SphereChild加入rightBox 的子節(jié)點列表。新節(jié)點類型是根據(jù)已定義的(內(nèi)部的或原型的)節(jié)點類型定義的,一旦定義,原型節(jié)點類型就可以像內(nèi)部節(jié)點類型—樣在場景圖中實例化。接口聲明包括原型的入事件和出事件的類型和名稱,以及原型的域的類型、名稱和缺省值。原型定義實際上是一個場景圖,由一個或多個根節(jié)點、嵌入的PROTO語句和ROUTE語句構成,其中的第一個節(jié)點類型確定原型實例在VRML文件中的使用方法。原型定義中節(jié)點的域、人事件、出事件可以通過IS語句和接口聲明中的域、入事件、出事件建立關聯(lián),關聯(lián)實際上相當于把原型定義中的這些域和事件公開作為原型的域和事件。25 / 25。本例中的關聯(lián)有兩個:桌面diffuseColor域和接口聲明中的topColor域,桌腿的diffuseColor域和接口聲明中的legColor域之間。原型定義中定義的其他節(jié)點及其附帶的場景圖都不進入原型實例所在的變換層系,但可以被原型定義中的ROUTE語句或Script節(jié)點引用。作為節(jié)點類型,TwoColorTable的用法和其他內(nèi)部節(jié)點類型—樣。外部原型提供了一種使節(jié)點類型能夠跨越網(wǎng)絡的機制。VRML提供了54種節(jié)點類型,稱為內(nèi)部節(jié)點類型。加上下面的路由語句,建立事件聯(lián)系:ROUTE TO ROUTE TO ROUTE TO 接觸傳感器TS的激活事件isActive鏈接到腳本節(jié)點S的isActive,這樣用戶一旦按動綠方塊,就會啟動腳本節(jié)點的事件處理函數(shù)isActive(),此函數(shù)把testNode節(jié)點(即球體節(jié)點SphereChild) 。下面為紅方塊增加一個球體子節(jié)點: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é)點起了名字:SphereChild。組節(jié)點是能夠包含子節(jié)點的節(jié)點,組節(jié)點本身還可作為其他組節(jié)點的子節(jié)點,從而形成層次性體系結構。與0和1這兩個關鍵幀對應的關鍵值的旋轉(zhuǎn)軸是相同的,只是旋轉(zhuǎn)角度不同(0,),這樣方位插補器輸出的旋轉(zhuǎn)值的旋轉(zhuǎn)軸固定不變,,然后不斷重復。根據(jù)插值類型的不同,VRML共定義六個插補器節(jié)點:  ColorInterpolator(顏色插補器)、  CoordinateInterpolator(坐標插補器)、  NormalInterpolator(法線插補器)、  OrientationInterpolator(朝向插補器)、  positionInterpolator(位置插補器)、  ScalarInterpolator(標量插補器)。     }  } DEF ticker TimeSensor {  cycleInterval  loop TRUE  enabled FALSE  } ROUTE TO ROUTE TO ROUTE TO 上述腳本節(jié)點的功能比較簡單,只是不斷送出調(diào)整的旋轉(zhuǎn)值,它是關鍵幀動畫的一種。     revolve[1]=1。⑵時間傳感器為了使方塊能夠連續(xù)旋轉(zhuǎn),需要引進等間隔連續(xù)發(fā)送的時間序列,這正是時間檢測器的用武之地。它給定一個不斷變化的旋轉(zhuǎn)值。      }     }   ROUTE TO   ROUTE TO 其中,方塊cube包含兩個子節(jié)點,前者定義了它的形態(tài)(紅色的單位立方體),后者把它定義成接觸檢測器。      revolve[1]=1。   總之,ProximitySensor能夠檢測用戶是否進入或離開檢測器指定的空間區(qū)域,典型用法是當用戶走進房間時開啟燈光,當用戶離開時關閉燈光,從而建立功能豐富的“智能”空間。當用戶走進球體時就會觸發(fā)這個鄰近檢測器,檢測器發(fā)出isActive事件,我們把這個事件出口通過路由指向Script節(jié)點(用來綁定視點2):DEF eCloserScript Script {    eventIn SFBool enterProximitySensorIsActive    eventOut SFBool bindView2    url javascript :     function enterProximitySensorIsActive (active) {      bindView2=TRUE。這五個出事件聯(lián)合起來,就定義了鄰近檢測器的功能。 (六)進一步的完善與修飾當用戶進入或離開鄰近檢測器所劃定的區(qū)域時就會觸發(fā)它。   (7)若用戶松開鼠標左鍵,則接觸檢測器發(fā)出一個“FALSE”事件,此事件同樣引起腳本函數(shù)調(diào)用并發(fā)送“TRUE”事件,所以view2仍然保持為當前視點。  ?。?)此事件進入腳本節(jié)點touchScript的事件入口touchBoxIsActive.  ?。?)調(diào)用腳本函數(shù)touchBoxIsActive(注意函數(shù)并沒有判斷入事件的值)?! 。?)“url”是腳本節(jié)點的一個域,可以直接包含腳本,也可以包含一個或多個用URL地址指示的腳本,若有多個地址,則按照先后次序獲取第一個可得到的腳本。這里我們不過多討論腳本描述語言的細節(jié),主要討論把腳本集成到VRML文件中的方法。若不想回跳,則要自己來定義。ROUTE語句把事件出口和事件入口聯(lián)系在一起,從而構成事件體系。同樣,發(fā)送事件的節(jié)點應有事件出口(eventOut),事件出口也是有類型的。視點節(jié)點中的坐標表示視點在場景中的位置,坐標的單位是米,視點的名稱將會在瀏覽器菜單中提示出來供用戶選擇。 接觸傳感器(TouchSensor)是最常用的傳感器,先了解一下開關節(jié)點lightSwitch(組節(jié)點),并定義一個接觸傳感器作為它的子節(jié)點: DEF lightSwitch Group { children [ 各幾何造型節(jié)點…… DEF touchSensor TouchSensor { } ]} 傳感器能引起某種變化,下面看場景變化。(三)VRML瀏覽器 Blaxxun Contact 3DCosmo PlayerVisvape等Microsoft Viewer(四)編寫VRML境界VRML utf8Group {children [ Shape { geometry Box {} } ]} ,則可以用瀏覽器看到它。VRML97定義了54種基本節(jié)點類型(內(nèi)部節(jié)點類型),用戶也可以通過原型機制定義自己的節(jié)點類型。事件一旦產(chǎn)生,就按時間順序向路由目標節(jié)點發(fā)送。二、初識VRML(一)VRML的文件結構(VRML97)開頭如下: VRML utf8VRML是大小寫敏感的,utf8是指一種純文本編碼方式(Scene Graph)由描述“對象及其屬性”的節(jié)點組成,節(jié)點是VRML的基本單元,場景圖的第一類節(jié)點用于從視覺和聽覺角度表現(xiàn)對象,它們是按照層次體系結構組織的;另一類節(jié)點,則參與事件產(chǎn)生和路由機制。比如,Cult3D、Viewpoint、GL4Java、Pulse3D、Flatland、Flash、JPEG2000等。 VRMLDHTML集成工作組(VRMLDHTML Integration WG)為VRML和DHTML在文檔對象模型、組件(Component)接口和繪制等三個層次的緊密集成開發(fā)一種概念模型。 分布式交互仿真工作組(Distributed Interactive Simulation WG)為建立有多廣播能力(MulticastCapable)的大規(guī)模虛擬環(huán)境(LargeScale Virtual Environments,LSVEs)確立初始網(wǎng)絡約定。 活動境界工作組(Living Worlds WG)為多用戶(包括多個開發(fā)者)應用的產(chǎn)生和進化定義概念框架,并確定一組界面。 界面組件工作組(Widgets WG)為開發(fā)者和用戶提供一套基礎性的、可自由使用的標準用戶界面組件集,并提供支持基本組件集和所有VRML組件的理論框架。首要目標是能夠表示數(shù)字生命格式( Digital LifeForms)結構和增長。
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1