摘要:用asp網(wǎng)頁編程語言和虛擬現(xiàn)實(shí)建模語言vrml 作為開發(fā)工具實(shí)現(xiàn)場景顯示,用javascript腳本編程語言
及vrml自帶的各類傳感器實(shí)現(xiàn)場景中動畫的生成及場景對象的可視化操作,設(shè)計(jì)了基于web的多用戶
三維場景布置系統(tǒng)。 通過該平臺,多用戶借助Internet網(wǎng)絡(luò)在可視化人機(jī)界面下編輯三維場景,實(shí)現(xiàn)自
編輯的場景信息保存與下載、在線瀏覽、實(shí)時(shí)編輯維護(hù),任何一個(gè)用戶均可以在平臺上建立一個(gè)基于網(wǎng)
絡(luò)的私有三維數(shù)庫信息空間,在線發(fā)布三維場景等功能。
關(guān)鍵詞:多用戶;三維場景;vrml;web
1、引言
隨著網(wǎng)絡(luò)的發(fā)展以及用戶對產(chǎn)品體驗(yàn)要求的提高,平面的文字圖像信息及其效果已經(jīng)不能滿足用戶需求,當(dāng)需要同步展示產(chǎn)品復(fù)雜的信息時(shí),開發(fā)人機(jī)界面友好的網(wǎng)絡(luò)三維場景布置系統(tǒng)就顯得尤為必要。目前基于網(wǎng)絡(luò)的場景布置或裝配系統(tǒng)大多為單用戶操作或雙用戶的協(xié)同操作系統(tǒng),客戶端插件安裝復(fù)雜(多為三維場景顯示插件和java虛擬機(jī)同時(shí)安裝),難以滿足用戶的要求。
針對web的多用戶三維場景布置系統(tǒng)多用戶操作要求,本系統(tǒng)擬集成場景顯示插件和控制插件,充分利用網(wǎng)絡(luò)編程語言的強(qiáng)大數(shù)據(jù)處理和運(yùn)算功能,綜合三維建模技術(shù),虛擬現(xiàn)實(shí)技術(shù),虛擬動畫技術(shù),數(shù)據(jù)庫技術(shù)以及動態(tài)網(wǎng)絡(luò)編程技術(shù),為三維場景的布置提供一個(gè)交互的,立體的,可視化的操作平臺。任何一個(gè)用戶均可以在平臺上建立一個(gè)基于網(wǎng)絡(luò)的私有三維數(shù)據(jù)庫信息,實(shí)現(xiàn)在線瀏覽,實(shí)時(shí)編輯維護(hù),在線發(fā)布三維場景等功能。該平臺可以廣泛用于樓盤樣板間演示、機(jī)械產(chǎn)品功能性演示、網(wǎng)絡(luò)多媒體教學(xué)演示、異地同步產(chǎn)品的協(xié)同裝配與設(shè)計(jì)等領(lǐng)域。
2、基于web的多用戶三維場景布置系統(tǒng)的設(shè)計(jì)原理
2.1三維場景布置系統(tǒng)的功能及設(shè)計(jì)要求
三維場景布置系統(tǒng)的功能及設(shè)計(jì)要求為:
(1)滿足多用戶使用:系統(tǒng)針對于多用戶使用,系統(tǒng)必須具備多用戶前臺瀏覽界面,后臺管理功能,以及多用戶注冊、修改、維護(hù)功能。
(2)實(shí)現(xiàn)模型數(shù)據(jù)共享:對于同一三維模型或場景,用戶之間可以共享引用,共同編輯,不同的場景賦予用戶不同的管理權(quán)限。
(3)場景可視化編輯操作:由于場景的數(shù)據(jù)是三維信息,簡單的文本操作,已經(jīng)不能滿足要求,必須實(shí)現(xiàn)對三維模型的可視化操作功能,如縮放、拉伸、六自由度的移動旋轉(zhuǎn)、動畫編輯等功能。
(4)場景優(yōu)化,提高渲染速度:系統(tǒng)是基于網(wǎng)絡(luò)的,所以必須要求數(shù)據(jù)信息傳輸速度快,用戶可以快速的下載與顯示場景信息。
2.2三維場景布置系統(tǒng)的設(shè)計(jì)原理
本系統(tǒng)采用asp網(wǎng)頁編程語言作為開發(fā)平臺,以微軟Microsoft SQL Server作為數(shù)據(jù)庫引擎,提供基本的數(shù)據(jù)管理與網(wǎng)頁可視化人機(jī)界面的設(shè)計(jì)與顯示;以虛擬現(xiàn)實(shí)建模語言vrml作為三維場景顯示與開發(fā)工具;結(jié)合了javascript腳本編程語言及vrml自帶的各類傳感器實(shí)現(xiàn)了場景中動畫的生成及三維模型和場景對象的可視化操作。系統(tǒng)原理流程如圖(1)所示。
用戶登錄服務(wù)器發(fā)送場景顯示請求后,服務(wù)器接收請求,在數(shù)據(jù)庫中提取用戶私人場景的物理和幾何信息,經(jīng)過asp程序運(yùn)算和處理后向客戶端發(fā)送三維模型和模型組合信息代碼(這些信息包括客戶端動態(tài)代碼和網(wǎng)頁html代碼,動態(tài)生成的javascript腳本程序,vrml語言構(gòu)建的三維場景信息代碼等)。在客戶端,動態(tài)代碼和html代碼生成網(wǎng)頁人機(jī)界面;vrml語言的三維場景信息作為場景的顯示;javascript腳本語言作為三維場景信息(vrml語言)與網(wǎng)頁(html語言)之間的通信語言,從而實(shí)現(xiàn)對場景的實(shí)時(shí)控制與編輯。用戶可以編輯私人三維場景,也可以共享權(quán)限內(nèi)的其他用戶的三維場景,并可對其編輯修改。修改后的三維場景信息保存到服務(wù)器,供網(wǎng)絡(luò)發(fā)布或其他用戶共享,也可以下載到本地機(jī)上使用。
2.2.1數(shù)據(jù)庫的建立
三維數(shù)據(jù)信息與文本數(shù)據(jù)信息相比較,數(shù)據(jù)量比文本信息大得多,任何一個(gè)對象模型都包含空間信息(空間位置、方向姿態(tài)),對象屬性(比例大小、顏色)以及與其他模型的關(guān)聯(lián)信息。數(shù)據(jù)庫的設(shè)計(jì)及數(shù)據(jù)表關(guān)聯(lián)性設(shè)計(jì)是決定系統(tǒng)數(shù)據(jù)量大小、響應(yīng)速度、可擴(kuò)充性等性能的關(guān)鍵因素。數(shù)據(jù)庫中必須包含用戶信息數(shù)據(jù)表,場景對象數(shù)據(jù)表,用戶對象數(shù)據(jù)表,用戶分類表,場景對象分類表,后臺管理權(quán)限表,和其他擴(kuò)充功能表。其中,場景對象數(shù)據(jù)表中必須包含完整的三維場景信息,這些信息包括類型、數(shù)量、地址、 位置、方向、比例等。為了滿足三維數(shù)據(jù)信息的基本要求,系統(tǒng)采用Microsoft SQL Server作為數(shù)據(jù)庫引擎來建立三維場景信息。
2.2.2 場景的顯示
場景的顯示是通過服務(wù)器端動態(tài)生成客戶端腳本語言以及html網(wǎng)頁靜態(tài)語言現(xiàn)實(shí)人機(jī)界面的。由于系統(tǒng)是多用戶的,因此客戶端顯示的三維場景信息及其數(shù)據(jù)是動態(tài)的,必須通過服務(wù)器端的數(shù)據(jù)庫操作請求和程序運(yùn)算后動態(tài)生成客戶端腳本語言和html網(wǎng)頁靜態(tài)語言以及內(nèi)嵌的vrml代碼,從而達(dá)到不同用戶的不同場景顯示要求。場景第一次傳輸?shù)奖镜氐臄?shù)據(jù)包括場景中對象模型數(shù)據(jù)和場景幾何信息關(guān)系數(shù)據(jù),由于對象模型數(shù)據(jù)量較大,因此第一次顯示場景等待時(shí)間較長。對象模型被緩存到本地ie瀏覽器或vrml瀏覽器后,對場景的編輯操作都是場景幾何位置或?qū)傩缘牟僮?,?shù)據(jù)量小,因此顯示速度快,為場景的實(shí)時(shí)編輯提供了可能。
2.2.3 C/S模式實(shí)現(xiàn)模型場景的可視化編輯操作
場景的編輯是通過java程序控制vrml場景信息實(shí)現(xiàn)的。利用vrml自帶的各類傳感器節(jié)點(diǎn)實(shí)現(xiàn)場景中對象模型的六自由度控制。并把移動后的幾何節(jié)點(diǎn)的位移和姿態(tài)等信息通過java程序傳遞給html網(wǎng)頁中的變量,最后通過html頁面將信息遞交給服務(wù)器處理后保存到數(shù)據(jù)庫。
3、三維場景布置系統(tǒng)的實(shí)現(xiàn)
用戶通過登錄該系統(tǒng),對私人場景進(jìn)行管理,包括編輯對象,添加、刪除對象,設(shè)置私有對象共享權(quán)限,自定義對象等。其中編輯對象包括修改對象數(shù)量、修改對象位置和姿態(tài)、編輯物理屬性(比例、顏色、貼圖等)。通過上傳wrl格式文件或網(wǎng)絡(luò)url地址引用,用戶可自定義對象模型。修改后的場景保存到服務(wù)器,通過設(shè)置權(quán)限,多用戶可以共享豐富的模型庫,或者下載到本地機(jī)器。圖2 為場景布置系統(tǒng)操作流程。圖3為客服端場景顯示界面。
4、結(jié)論
利用三維建模技術(shù)、虛擬現(xiàn)實(shí)技術(shù)、虛擬動畫技術(shù)、數(shù)據(jù)庫技術(shù)以及動態(tài)網(wǎng)絡(luò)編程技術(shù),建立了基于web的多用戶三維場景布置系統(tǒng)。任何一個(gè)用戶均可以在該平臺上共享豐富的三維模型庫,建立基于網(wǎng)絡(luò)的私有三維數(shù)據(jù)庫,實(shí)現(xiàn)在線瀏覽,實(shí)時(shí)編輯維護(hù),在線發(fā)布三維場景等功能。該平臺可用于在線產(chǎn)品發(fā)布、虛擬裝配、虛擬商城、虛擬博物館、三維虛擬聊天室等。
參考文獻(xiàn):
[1] 懂興輝,徐曉惠. 基于vrml三維協(xié)同裝配可視化的實(shí)現(xiàn)[J].工程圖學(xué)學(xué)報(bào),2002(2):69-75.
[2]薛元軍等. 網(wǎng)絡(luò)數(shù)據(jù)庫設(shè)計(jì)與發(fā)布[M].北京:清華大學(xué)出版社,2001.
[3]黃文麗,盧碧紅,楊志剛,等.VRML語言入門與應(yīng)用[M].北京:中國鐵道出版社,2003.
[4]李曉黎,張巍.ASP+SQLserver網(wǎng)絡(luò)應(yīng)用系統(tǒng)開發(fā)與實(shí)例[M].北京:人民郵電出版社,2004.