摘要:用asp網頁編程語言和虛擬現實建模語言vrml 作為開發工具實現場景顯示,用javascript腳本編程語言
及vrml自帶的各類傳感器實現場景中動畫的生成及場景對象的可視化操作,設計了基于web的多用戶
三維場景布置系統。 通過該平臺,多用戶借助Internet網絡在可視化人機界面下編輯三維場景,實現自
編輯的場景信息保存與下載、在線瀏覽、實時編輯維護,任何一個用戶均可以在平臺上建立一個基于網
絡的私有三維數庫信息空間,在線發布三維場景等功能。
關鍵詞:多用戶;三維場景;vrml;web
1、引言
隨著網絡的發展以及用戶對產品體驗要求的提高,平面的文字圖像信息及其效果已經不能滿足用戶需求,當需要同步展示產品復雜的信息時,開發人機界面友好的網絡三維場景布置系統就顯得尤為必要。目前基于網絡的場景布置或裝配系統大多為單用戶操作或雙用戶的協同操作系統,客戶端插件安裝復雜(多為三維場景顯示插件和java虛擬機同時安裝),難以滿足用戶的要求。
針對web的多用戶三維場景布置系統多用戶操作要求,本系統擬集成場景顯示插件和控制插件,充分利用網絡編程語言的強大數據處理和運算功能,綜合三維建模技術,虛擬現實技術,虛擬動畫技術,數據庫技術以及動態網絡編程技術,為三維場景的布置提供一個交互的,立體的,可視化的操作平臺。任何一個用戶均可以在平臺上建立一個基于網絡的私有三維數據庫信息,實現在線瀏覽,實時編輯維護,在線發布三維場景等功能。該平臺可以廣泛用于樓盤樣板間演示、機械產品功能性演示、網絡多媒體教學演示、異地同步產品的協同裝配與設計等領域。
2、基于web的多用戶三維場景布置系統的設計原理
2.1三維場景布置系統的功能及設計要求
三維場景布置系統的功能及設計要求為:
(1)滿足多用戶使用:系統針對于多用戶使用,系統必須具備多用戶前臺瀏覽界面,后臺管理功能,以及多用戶注冊、修改、維護功能。
(2)實現模型數據共享:對于同一三維模型或場景,用戶之間可以共享引用,共同編輯,不同的場景賦予用戶不同的管理權限。
(3)場景可視化編輯操作:由于場景的數據是三維信息,簡單的文本操作,已經不能滿足要求,必須實現對三維模型的可視化操作功能,如縮放、拉伸、六自由度的移動旋轉、動畫編輯等功能。
(4)場景優化,提高渲染速度:系統是基于網絡的,所以必須要求數據信息傳輸速度快,用戶可以快速的下載與顯示場景信息。

2.2三維場景布置系統的設計原理
本系統采用asp網頁編程語言作為開發平臺,以微軟Microsoft SQL Server作為數據庫引擎,提供基本的數據管理與網頁可視化人機界面的設計與顯示;以虛擬現實建模語言vrml作為三維場景顯示與開發工具;結合了javascript腳本編程語言及vrml自帶的各類傳感器實現了場景中動畫的生成及三維模型和場景對象的可視化操作。系統原理流程如圖(1)所示。
用戶登錄服務器發送場景顯示請求后,服務器接收請求,在數據庫中提取用戶私人場景的物理和幾何信息,經過asp程序運算和處理后向客戶端發送三維模型和模型組合信息代碼(這些信息包括客戶端動態代碼和網頁html代碼,動態生成的javascript腳本程序,vrml語言構建的三維場景信息代碼等)。在客戶端,動態代碼和html代碼生成網頁人機界面;vrml語言的三維場景信息作為場景的顯示;javascript腳本語言作為三維場景信息(vrml語言)與網頁(html語言)之間的通信語言,從而實現對場景的實時控制與編輯。用戶可以編輯私人三維場景,也可以共享權限內的其他用戶的三維場景,并可對其編輯修改。修改后的三維場景信息保存到服務器,供網絡發布或其他用戶共享,也可以下載到本地機上使用。
2.2.1數據庫的建立
三維數據信息與文本數據信息相比較,數據量比文本信息大得多,任何一個對象模型都包含空間信息(空間位置、方向姿態),對象屬性(比例大小、顏色)以及與其他模型的關聯信息。數據庫的設計及數據表關聯性設計是決定系統數據量大小、響應速度、可擴充性等性能的關鍵因素。數據庫中必須包含用戶信息數據表,場景對象數據表,用戶對象數據表,用戶分類表,場景對象分類表,后臺管理權限表,和其他擴充功能表。其中,場景對象數據表中必須包含完整的三維場景信息,這些信息包括類型、數量、地址、 位置、方向、比例等。為了滿足三維數據信息的基本要求,系統采用Microsoft SQL Server作為數據庫引擎來建立三維場景信息。
2.2.2 場景的顯示
場景的顯示是通過服務器端動態生成客戶端腳本語言以及html網頁靜態語言現實人機界面的。由于系統是多用戶的,因此客戶端顯示的三維場景信息及其數據是動態的,必須通過服務器端的數據庫操作請求和程序運算后動態生成客戶端腳本語言和html網頁靜態語言以及內嵌的vrml代碼,從而達到不同用戶的不同場景顯示要求。場景第一次傳輸到本地的數據包括場景中對象模型數據和場景幾何信息關系數據,由于對象模型數據量較大,因此第一次顯示場景等待時間較長。對象模型被緩存到本地ie瀏覽器或vrml瀏覽器后,對場景的編輯操作都是場景幾何位置或屬性的操作,數據量小,因此顯示速度快,為場景的實時編輯提供了可能。

2.2.3 C/S模式實現模型場景的可視化編輯操作
場景的編輯是通過java程序控制vrml場景信息實現的。利用vrml自帶的各類傳感器節點實現場景中對象模型的六自由度控制。并把移動后的幾何節點的位移和姿態等信息通過java程序傳遞給html網頁中的變量,最后通過html頁面將信息遞交給服務器處理后保存到數據庫。
3、三維場景布置系統的實現
用戶通過登錄該系統,對私人場景進行管理,包括編輯對象,添加、刪除對象,設置私有對象共享權限,自定義對象等。其中編輯對象包括修改對象數量、修改對象位置和姿態、編輯物理屬性(比例、顏色、貼圖等)。通過上傳wrl格式文件或網絡url地址引用,用戶可自定義對象模型。修改后的場景保存到服務器,通過設置權限,多用戶可以共享豐富的模型庫,或者下載到本地機器。圖2 為場景布置系統操作流程。圖3為客服端場景顯示界面。
4、結論
利用三維建模技術、虛擬現實技術、虛擬動畫技術、數據庫技術以及動態網絡編程技術,建立了基于web的多用戶三維場景布置系統。任何一個用戶均可以在該平臺上共享豐富的三維模型庫,建立基于網絡的私有三維數據庫,實現在線瀏覽,實時編輯維護,在線發布三維場景等功能。該平臺可用于在線產品發布、虛擬裝配、虛擬商城、虛擬博物館、三維虛擬聊天室等。

參考文獻:
[1] 懂興輝,徐曉惠. 基于vrml三維協同裝配可視化的實現[J].工程圖學學報,2002(2):69-75.
[2]薛元軍等. 網絡數據庫設計與發布[M].北京:清華大學出版社,2001.
[3]黃文麗,盧碧紅,楊志剛,等.VRML語言入門與應用[M].北京:中國鐵道出版社,2003.
[4]李曉黎,張巍.ASP+SQLserver網絡應用系統開發與實例[M].北京:人民郵電出版社,2004.