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

正文內(nèi)容

虛擬現(xiàn)實技術(shù)——vrml篇(專業(yè)版)

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

下一頁面
  

【正文】 例如,如果原型定義中的第一個節(jié)點是Material節(jié)點,則只要可以使用Material節(jié)點的地方,原型實例都可以使用。節(jié)點S的testNode域是對球體SphereChild引用(USE語句),引用不復(fù)制該節(jié)點,而是把同—節(jié)點再次插入場景圖,從而導(dǎo)致SphereChild擁有多個父親,所以場景圖儀僅是層次結(jié)構(gòu),而不是樹形結(jié)構(gòu)。插補器節(jié)點實際上是一個由關(guān)鍵點和對應(yīng)關(guān)鍵值定義的分段線形函數(shù)。Script節(jié)點revolver的核心是內(nèi)聯(lián)的ECMAScript腳本函數(shù)?! ∥覀円诜綁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米,是球體直徑的兩倍。   (2)接觸檢測器發(fā)出一個“TRUE”事件。   事件出口和事件入口通過路徑相連,這就是VRML文件中除節(jié)點以外的另一基本組成部分:ROUTE 語句。(event)分為入事件和出事件,入事件將導(dǎo)致節(jié)點狀態(tài)的改變;出事件向外報告自身狀態(tài)的變化。這些軟件有些比VRML有了進步,在渲染速度、圖像質(zhì)量、造型技術(shù)、交互性以及數(shù)據(jù)的壓縮與優(yōu)化上,都有勝過VRML之處。 外部創(chuàng)作接口工作組(External Authoring Interface WG)在VRML境界和外部環(huán)境之間建立標(biāo)準(zhǔn)接口。另一類節(jié)點參與事件產(chǎn)生和路由機制,形成路由圖(Route Graph),確定境界隨時間的推移如何動態(tài)變化。 第一代Web是以HTML為核心的二維瀏覽技術(shù),受HTML語言的局限性,VRML之前的網(wǎng)頁只能是簡單的平面結(jié)構(gòu),而且實現(xiàn)環(huán)境與參與者的動態(tài)交互是非常煩瑣的。幾乎所有生產(chǎn)廠商,無論是CAD、建模、動畫、VR,還是VRML,他們的結(jié)構(gòu)核心都有場景圖。首要目標(biāo)是能夠表示數(shù)字生命格式( Digital LifeForms)結(jié)構(gòu)和增長。 VRMLDHTML集成工作組(VRMLDHTML Integration WG)為VRML和DHTML在文檔對象模型、組件(Component)接口和繪制等三個層次的緊密集成開發(fā)一種概念模型。VRML97定義了54種基本節(jié)點類型(內(nèi)部節(jié)點類型),用戶也可以通過原型機制定義自己的節(jié)點類型。同樣,發(fā)送事件的節(jié)點應(yīng)有事件出口(eventOut),事件出口也是有類型的?! 。?)“url”是腳本節(jié)點的一個域,可以直接包含腳本,也可以包含一個或多個用URL地址指示的腳本,若有多個地址,則按照先后次序獲取第一個可得到的腳本。這五個出事件聯(lián)合起來,就定義了鄰近檢測器的功能。      }     }   ROUTE TO   ROUTE TO 其中,方塊cube包含兩個子節(jié)點,前者定義了它的形態(tài)(紅色的單位立方體),后者把它定義成接觸檢測器。     }  } DEF ticker TimeSensor {  cycleInterval  loop TRUE  enabled FALSE  } ROUTE TO ROUTE TO ROUTE TO 上述腳本節(jié)點的功能比較簡單,只是不斷送出調(diào)整的旋轉(zhuǎn)值,它是關(guān)鍵幀動畫的一種。下面為紅方塊增加一個球體子節(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é)點類型,TwoColorTable的用法和其他內(nèi)部節(jié)點類型—樣。原型定義中節(jié)點的域、人事件、出事件可以通過IS語句和接口聲明中的域、入事件、出事件建立關(guān)聯(lián),關(guān)聯(lián)實際上相當(dāng)于把原型定義中的這些域和事件公開作為原型的域和事件。與此同時,根據(jù)addChildren的語義,球體節(jié)點SphereChild加入rightBox 的子節(jié)點列表。   這里我們把時間檢測器的fraction_changed事件作為插補器的輸入,這個事件是一個[0,1]區(qū)間的值,每個時間步都送出一次,表示當(dāng)前周期內(nèi)已過去的時間相對于整個周期的比例,是插補器常用的輸入源之一。isOver事件通過路由傳遞給腳本節(jié)點的事件入口startRevolving,從而啟動函數(shù)startRevolving,函數(shù)將一個新的旋轉(zhuǎn)值發(fā)往事件出口revolve,這個旋轉(zhuǎn)值通過路由進入cube的外露域rotation,修改了方塊的旋轉(zhuǎn)角,引起它的朝向變化。      }    }   ROUTE TO   ROUTE TO 啟動VRML瀏覽器進入境界,面向球體一直走過去,當(dāng)你剛剛感到靠近球體時,會突然感到自己后退了一大步(或者說物體跳到前方更遠(yuǎn)的地方),這表明鄰近檢測器已經(jīng)檢測到你的靠近,它把這件事通知腳本節(jié)點,腳本節(jié)點把視點View2綁定成當(dāng)前視點,從而使你感到視點突然改變。  ?。?)view2節(jié)點收到“TRUE”事件,成為當(dāng)前視點。 當(dāng)松開鼠標(biāo)左鍵,又回到原來的視點,稱為視點回跳。(五)交互能力的加入 是交互能力的基礎(chǔ),共9種。以Blaxxun和ParallelGraphics公司為代表,它們都有各自的VR瀏覽器插件,并各自開發(fā)基于VRML標(biāo)準(zhǔn)的擴展節(jié)點功能(X3D),使3D的效果,交互性能更加完美;支持MPEG,Mov、Avi等視頻文件,Rm等流媒體文件,Wav、Midi、MpAiff等多種音頻文件,F(xiàn)lash動畫文件,多種材質(zhì)效果,支持Nurbs曲線,粒子效果,霧化效果;支持多人的交互環(huán)境,VR眼鏡等硬件設(shè)備;在娛樂、電子商務(wù)等領(lǐng)域都有成功的應(yīng)用,并各自為適應(yīng)X3D的發(fā)展,以X3D為核心,有Blaxxun3D等相關(guān)產(chǎn)品。 通用媒體庫工作組(Universal Media Libraries WG)為了提高VRML境界的真實感,同時減少網(wǎng)絡(luò)的下載量,而定義一種由駐留本地的媒體元件(紋理、聲音和VRML對象)組成的小型跨平臺媒體庫。用戶通過瀏覽器獲得的視聽覺效果如同從某個特定方位體驗到的,境界中的這種位置和朝向稱為取景器(Viewer)。 VRML是用來描述三維物體及其行為的,可以構(gòu)建虛擬境界(Virtural World), 可以集成文本、圖像、音響、MPEG影像等多種媒體類型,還可以內(nèi)嵌用Java、ECMAScript等語言編寫的程序代碼??梢园袹PEG、PNG和MPEG文件用于對象紋理映射,把WAV和MIDI文件用于在境界中播放的聲音。人性動畫工作組(Humanoid Animation WG)利用VRML表現(xiàn)人類行為特性。 VRML腳本工作組(VRML Script WG)向VRML監(jiān)查組(VRML Review Board,VRB)提供有關(guān)Java和JavaScript的問題列表、修改建議和評論。目標(biāo)節(jié)點接收后進行相應(yīng)處理,可改變節(jié)點狀態(tài),產(chǎn)生其他事件,或者修改場景圖的結(jié)構(gòu)。(放在Group節(jié)點之前),并把其中的方塊節(jié)點修改成可觸發(fā)節(jié)點:   DEF box Tranform {    children [     Shape { .... Box ...}     DEF touchBox TouchSensor {} #定義觸發(fā)節(jié)點    ]    }   把修改過的文件另存為“”。   上面我們曾把接觸檢測器touchBox 和視點view2直接通過路徑連接起來,現(xiàn)在要定義我們指定的行為,就需要在二者之間插入一個腳本節(jié)點,也就是讓路徑繞個彎:   ROUTE TO   ROUTE TO   其中的腳本節(jié)點touchScript有一個事件人口touchBoxIsActive和一個事件出口bind_View2,前者接收來自接觸檢測器touchBox的事件,然后經(jīng)自己的腳本處理后,把結(jié)果發(fā)送給視點節(jié)點view2:   DEF touchScript Script {    eventIn SFBool touchBoxIsActive ?。H肟凇  ventOut SFBool bindView2    ?。3隹凇  rljavescript:         ?。D_本    function touchBoxIsActive(active) {  ?。Ec入口同名的函數(shù)被調(diào)用     bindView2= TRUE。正如你在標(biāo)準(zhǔn)中可以查到的那樣,ProximitySensor節(jié)點定義為:ProximitySensor {    exposedField SFVec3f center 0 0 0    exposedField SFVec3f size 0 0 0    exposedField SFBool enabled TRUE    eventOut SFBool isActive    eventOut SFVec3f position_changed    eventOut SFRotation orientation_changed    eventOut SFTime enterTime    eventOut SFTime exitTime    }ProximitySensor節(jié)點共有三個外露域(exposedField)和五個出事件(eventOut).出事件我們已經(jīng)熟悉,是節(jié)點狀態(tài)發(fā)生改變時用來通知其它節(jié)點的,這里的出事件isActive 用于ProximitySensor通報自己已被激活。      revolve[2]=1。     revolve[2]=1。VRML中的組節(jié)點包含Anchor(錨)、Billboard(布告牌)、Collision(碰撞)、(Group)(組)、Inline(內(nèi)聯(lián))、LOD(細(xì)節(jié)層次)、Switch(開關(guān))、Transform(變換)共8種,除Inline、LOD 、Switch這幾個具有特殊功能外,它們都定義了人事件addChild和removeChildren,前者用于向組節(jié)點的子節(jié)點域children中增加新的子節(jié)點,后備用于從中刪除子節(jié)點,這樣就可以動態(tài)修改場景圖的結(jié)構(gòu)。本節(jié)的原型例子取自VRML97標(biāo)準(zhǔn),它定義的是—個桌子類型,這個原型為:VRML utf8 PROTO TwoColorTable [ field SFColor legColor field SFColor topColor ]{Transform { Children { Transform { 桌面 translation    children [    Shape {     appearance
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1