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

正文內(nèi)容

虛擬現(xiàn)實(shí)技術(shù)——vrml篇-資料下載頁

2025-07-14 01:56本頁面
  

【正文】 {}     }    DEF TouchS TouchSensor {}    ]  } DEF revolver OrientationInterpolator {  key [0,1]  keyValue [ 0, ]  } DEF ticker TimeSensor {  cycleInterval 2  loop TRUE  enabled FALSE  } ROUTE TO ROUTE TO ROUTE TO 小結(jié):本節(jié)實(shí)現(xiàn)連續(xù)動畫,動畫由接觸檢測器啟動,由時間檢測器驅(qū)動,動畫本身比較簡單,就是不斷地旋轉(zhuǎn)。產(chǎn)生不斷變化的旋轉(zhuǎn)值的方法有兩種:自己編寫腳本,或者利用插補(bǔ)器節(jié)點(diǎn)。場景圖是描述境界結(jié)構(gòu)的基本概念,節(jié)點(diǎn)是構(gòu)成場景圖的基本單元。組節(jié)點(diǎn)是能夠包含子節(jié)點(diǎn)的節(jié)點(diǎn),組節(jié)點(diǎn)本身還可作為其他組節(jié)點(diǎn)的子節(jié)點(diǎn),從而形成層次性體系結(jié)構(gòu)。VRML中的組節(jié)點(diǎn)包含Anchor(錨)、Billboard(布告牌)、Collision(碰撞)、(Group)(組)、Inline(內(nèi)聯(lián))、LOD(細(xì)節(jié)層次)、Switch(開關(guān))、Transform(變換)共8種,除Inline、LOD 、Switch這幾個具有特殊功能外,它們都定義了人事件addChild和removeChildren,前者用于向組節(jié)點(diǎn)的子節(jié)點(diǎn)域children中增加新的子節(jié)點(diǎn),后備用于從中刪除子節(jié)點(diǎn),這樣就可以動態(tài)修改場景圖的結(jié)構(gòu)。下面是我們這一節(jié)要建立的境界,開始的時候球體位于左邊紅色方塊的內(nèi)部,在按動底部的綠色方塊后,球體進(jìn)人右邊藍(lán)包入塊之內(nèi)。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類型,三者都位于場景圖的最高層,都是場景圖的根節(jié)點(diǎn),都包含一個Box幾何體作為子節(jié)點(diǎn)。下面為紅方塊增加一個球體子節(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。為了讓用戶能夠增刪這個兒子,把綠方塊定義成接觸傳感器:DEF onoff Transform { translation 0 5 0  children [   Shape {    appearance Appearance {     material Material {diffuseColor 0 1 0}        }       geometry Box {}       } DEF TS TouchSensor {}     ]   }子節(jié)點(diǎn)增刪的具體任務(wù)由Script節(jié)點(diǎn)來完成:DEF S Script { eventIn SFBool isActive eventOut MFNode child field MFNode testNode USE SphereChild url”javascript: function isActive(value) { if (value) child=testNode。 }” }請注意,它的出事件child的類型是MFNode,也就是說,通過這個事件送出的是節(jié)點(diǎn)。節(jié)點(diǎn)S的testNode域是對球體SphereChild引用(USE語句),引用不復(fù)制該節(jié)點(diǎn),而是把同—節(jié)點(diǎn)再次插入場景圖,從而導(dǎo)致SphereChild擁有多個父親,所以場景圖儀僅是層次結(jié)構(gòu),而不是樹形結(jié)構(gòu)。加上下面的路由語句,建立事件聯(lián)系:ROUTE TO ROUTE TO ROUTE TO 接觸傳感器TS的激活事件isActive鏈接到腳本節(jié)點(diǎn)S的isActive,這樣用戶一旦按動綠方塊,就會啟動腳本節(jié)點(diǎn)的事件處理函數(shù)isActive(),此函數(shù)把testNode節(jié)點(diǎn)(即球體節(jié)點(diǎn)SphereChild) 。根據(jù)路由,按照removeChildren的語義,球體節(jié)點(diǎn)SphereChild從leftBox的子節(jié)點(diǎn)列表中刪除。與此同時,根據(jù)addChildren的語義,球體節(jié)點(diǎn)SphereChild加入rightBox 的子節(jié)點(diǎn)列表。通過這個過程,球體節(jié)點(diǎn)SphereChild的父節(jié)點(diǎn)從leftBox更換成rightBox。VRML提供了54種節(jié)點(diǎn)類型,稱為內(nèi)部節(jié)點(diǎn)類型。然而實(shí)際應(yīng)用中可能要求新的節(jié)點(diǎn)類型,原型(prototype)是VRML實(shí)現(xiàn)節(jié)點(diǎn)類型擴(kuò)充的基本機(jī)制。新節(jié)點(diǎn)類型是根據(jù)已定義的(內(nèi)部的或原型的)節(jié)點(diǎn)類型定義的,一旦定義,原型節(jié)點(diǎn)類型就可以像內(nèi)部節(jié)點(diǎn)類型—樣在場景圖中實(shí)例化。原型可以在當(dāng)前文件中定義并使用,也可以在其他文件中定義,即外部原型。外部原型提供了一種使節(jié)點(diǎn)類型能夠跨越網(wǎng)絡(luò)的機(jī)制。本節(jié)的原型例子取自VRML97標(biāo)準(zhǔn),它定義的是—個桌子類型,這個原型為:VRML utf8 PROTO TwoColorTable [ field SFColor legColor field SFColor topColor ]{Transform { Children { Transform { 桌面 translation    children [    Shape {     appearance Appearance {      material Material {diffuseColor IS topColor}         }        geometry Box {size }        }      ]    }Transform { translation 0    children [    DEF Leg Shape {     appearance Appearance {      material Material {diffuseColor IS legColor}         }        geometry Cylinder {height 1 radius }        }      ]    } Transform { 另一條桌腿 translation 0    children USE Leg    }Transform { 另一條桌腿 translation 0    children USE Leg    }Transform { 另一條桌腿 translation 0    children USE Leg    } ]根節(jié)點(diǎn)Transform的兒子結(jié)束 }根節(jié)點(diǎn)Transform結(jié)束}原型結(jié)束原型語句PROTO分為原型接口聲明和原型定義兩部分。接口聲明包括原型的入事件和出事件的類型和名稱,以及原型的域的類型、名稱和缺省值。這里的接口聲明為:PROTO TwoColorTable [ field SFColor legColor field SFColor topColor ]這個原型的類型名稱為“TwoColorTable”(雙色桌),它有兩個域;legColor (桌腿色)和topColor (桌面色)。作為節(jié)點(diǎn)類型,TwoColorTable的用法和其他內(nèi)部節(jié)點(diǎn)類型—樣。接口聲明之后是原型的主體,稱為原型定義。原型定義實(shí)際上是一個場景圖,由一個或多個根節(jié)點(diǎn)、嵌入的PROTO語句和ROUTE語句構(gòu)成,其中的第一個節(jié)點(diǎn)類型確定原型實(shí)例在VRML文件中的使用方法。例如,如果原型定義中的第一個節(jié)點(diǎn)是Material節(jié)點(diǎn),則只要可以使用Material節(jié)點(diǎn)的地方,原型實(shí)例都可以使用。原型定義中定義的其他節(jié)點(diǎn)及其附帶的場景圖都不進(jìn)入原型實(shí)例所在的變換層系,但可以被原型定義中的ROUTE語句或Script節(jié)點(diǎn)引用。TwoColorTable原型中的第一個節(jié)點(diǎn)是Transform組節(jié)點(diǎn),它決定了TwoColorTable型節(jié)點(diǎn)在場景圖中的方法,在場景圖中添加一個TwoColorTable型節(jié)點(diǎn).相當(dāng)于增加Transform。原型定義中節(jié)點(diǎn)的域、人事件、出事件可以通過IS語句和接口聲明中的域、入事件、出事件建立關(guān)聯(lián),關(guān)聯(lián)實(shí)際上相當(dāng)于把原型定義中的這些域和事件公開作為原型的域和事件。關(guān)聯(lián)的基本規(guī)則是域和域、入事件和入事件、出事件和出事件對應(yīng)關(guān)聯(lián),原型定義中的外露域可以和接口聲明中的域、入事件、出事件或外露城關(guān)聯(lián)。本例中的關(guān)聯(lián)有兩個:桌面diffuseColor域和接口聲明中的topColor域,桌腿的diffuseColor域和接口聲明中的legColor域之間。也就是說,TwoColorTable型節(jié)點(diǎn)中的topColor和legColor值實(shí)際上分別確定了桌面和桌腿的漫反射色diffuseColor。25 / 25
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1