成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

Anchor節(jié)點實現(xiàn)VRML虛擬場景跳轉

·88· 計算機與信息技術 經驗與交流Anchor 節(jié)點實現(xiàn)VRML 虛擬場景跳轉王昊鵬1,2,3 賈新宇1(1空

·88· 計算機與信息技術 經驗與交流

Anchor 節(jié)點實現(xiàn)VRML 虛擬場景跳轉

王昊鵬1,2,3 賈新宇1

(1空軍航空大學計算機教研室 吉林 長春 130022) (2中國科學院東北地理與農業(yè)生態(tài)研究所 吉林 長春 130022)

3

(中國科學院研究生院)

摘 要 VRML 構造復雜三維場景時,通常需要多個場景的組合。因此,如何實現(xiàn)三維空間場景跳轉十分關鍵。本文

結合實例討論并給出利用Anchor 組節(jié)點實現(xiàn)多場景跳轉的方法。

關鍵詞 虛擬現(xiàn)實,錨節(jié)點,場景跳轉

1 引言

虛擬現(xiàn)實建模語言(Virtual Reality Modeling Language,簡稱VRML)是一種基于WWW 的具有一定規(guī)范的描述性格式語言。VRML可以快速生成、修飾三維實體對象,并提供強大的交互、動畫和編程功能等。對于復雜三維場景的處理,VRML 提供一個錨點(空間鏈接),即Anchor 節(jié)點將復雜三維場景鏈接在一起,從而實現(xiàn)三維場景快速流暢跳轉。

eventIn 入事件。其中:

(1)eventOut出事件中包含Parameter_Changed域和Description_Changed域,用于傳出參數(shù)和相關描述的變化; (2)eventIn入事件是Anchor 節(jié)點的重要事件,它主要由AddChildren 和RemoveChildren 組成,它們均為MFNode 類型,即多值節(jié)點型。AddChildren用于在Anchor 節(jié)點的Children 域中子節(jié)點序列中加入指定節(jié)點;RemoveChildren用于在Anchor 節(jié)點的Children 域子節(jié)點序列中刪除指定的節(jié)點。

2 Anchor節(jié)點

VRML 空間鏈接綁定在三維虛擬空間中的特定造型上,當游覽者對帶有錨點的造型發(fā)生點擊事件時,VRML瀏覽器將在Web 中提取目的空間場景。VRML 中的任何三維造型均可作為錨點造型。Anchor作為節(jié)點組,其中的任何一個子節(jié)點也可以作為引導到另一個空間的錨點。 2.1 Anchor節(jié)點結構

Anchor 作為編組節(jié)點包括Children 公共域、Description公共域、bBoxSize域、bBoxCenter域和Parameter 域,具體功能如表1所示。

表1 Anchor編組節(jié)點

域名

指定包含在錨

Children 公共域

點組中的子節(jié)點列表

Description 公共域 bBoxSize 域 bBoxCenter 域 Parameter 域

URL

3 程序舉例

3.1 設計思路

首先,

創(chuàng)建2個VRML 虛擬空間場景Space1和Space2。虛擬空間場景Space1作為第一場場景由游覽者瀏覽。然后,在虛擬空間場景Space1中創(chuàng)建一個三維空間造型,這里我們創(chuàng)建一個“門”,將此“門”作為錨點造型。當瀏覽者點擊“門”的錨點造型時將進入虛擬空間場景Space2,從而實現(xiàn)場景間的跳轉(設計思路如圖1所示)。

功能描述

Shape 節(jié)點

指定目的Web 頁面按優(yōu)先級排序的URL 列表 錨點造型

描述目的Web 頁面字符串 指定一個約束長方體的尺寸 指定約束長方體的中心 指定錨點造型其他信息

圖1 2個虛擬空間場景的跳轉

2.2 Anchor節(jié)點事件

Anchor 節(jié)點主要有2個節(jié)點事件:eventOut出事件和

,

經驗與交流 計算機與信息技術 ·89·

3.2 虛擬空間場景的創(chuàng)建

(1)虛擬空間場景Space1

虛擬空間場景Space1中的“門”造型分“門”和“門把手”兩部分。利用Box 幾何節(jié)點構造“門”造型,其三維尺

#VRML V2.0 utf8

Transform {

children [

# 創(chuàng)建“門”造型

Transform {

children [

Anchor {

url "Space2.wrl"

description "Click here go to next space!"

children [

# 創(chuàng)建“門”

Shape {

appearance Appearance {

material Material {

diffuseColor 1 1 1

}

}

geometry Box {

size 3.0 6.0 0.2

}

}

# 創(chuàng)建“門”把手

Transform {

translation 1 0 1

children [

Shape {

appearance Appearance {

material Material {

diffuseColor 0.3 0.3 0.3

}

}

geometry Sphere {

radius 0.2

}

}

]

}

]

}

]

}

]

} 寸為[3.0 6.0 0.2]。利用Sphere 幾何節(jié)點構造“門”把手,其半徑為0.2;利用URL 域創(chuàng)建鏈接,鏈接地址為“Space2.wrl”,從而使“門”三維空間造型成為錨點造型。Description公共域顯示關于錨點造型的提示信息。具體代碼如下:

,

·90· 計算機與信息技術 經驗與交流

(2)虛擬空間場景Space2

虛擬空間場景Space2中是一個植物的植株體。通過虛擬空間場景Space1中的錨點進入虛擬空間場景Space2。 3.3 驗證運行

利用VrmlPad 或文本文檔創(chuàng)建2個虛擬空間場景Space1和Space2,并保存在同一目錄下。運行Space1.wrl,點擊“門”造型后,即可跳轉到Space2.wrl 虛擬空間場景中,程序運行效果如圖2所示(系統(tǒng)中需安裝VRML 插件)。

虛擬場景內部不同觀察點的跳轉是Anchor 節(jié)點的另一重要應用。對于一個復雜的虛擬空間,通常包含多個三維造型或子空間,當用戶瀏覽時會出現(xiàn)“迷失方向”的可能。利用Anchor 節(jié)點對某一造型做錨點處理,使其作為空間導航,即可解決瀏覽者“迷失方向”問題。

4 小結

本文討論了在VRML 中利用Anchor 節(jié)點實現(xiàn)多場景跳轉的方法。Anchor 節(jié)點在VRML 構造復雜的虛擬空間中的作用十分重要,大場景或多場景的三維虛擬仿真研究中均會涉及到。如果將每個場景作為主場景的資源將嚴重影響程序的運行效率。利用Anchor 節(jié)點則有效實現(xiàn)場景間的跳轉,提高了瀏覽器對虛擬現(xiàn)實建模的解釋效率,也提高了其在網絡中的傳輸。

參考文獻

[1] Andreas Dietrich, Ingo Wald, Markus Wagner and Philipp Slusallek.VRML Scene Graphs on an Interactive Ray Tracing Engine[J].Computer Security.2004.5: 109-116

[2] Igor Rojdestvenski, Michael Cottam .Visualizing metabolic networks in VRML[J].Computer Security.2002

[3] 黃文麗,盧碧紅,楊志剛,景寧 等.VRML語言入門與應用[M].中國鐵道出版社.2003年1月

圖2-1 虛擬空間場景

Space1

[4] 吳北新.虛擬現(xiàn)實建模語言VRML[M].高等教育出版社.2004年7月

[5] 張杰.VRML2.0交互式三維圖形編程[M].汕頭大學出版社.1999年1月

[6] 王昊鵬.VRML基于高程格網節(jié)點的復雜造型研究[J].微計算機信息.2006年7月年第22卷第7-1期.P211-212

收稿日期:3月22日 修改日期:4月4日

圖2-2 虛擬空間場景Space2

圖2 程序運行效果

標簽: