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

正文內(nèi)容

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

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

下一頁面
  

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