国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

3D虛擬仿真技術(shù)在體育館購票系統(tǒng)開發(fā)中的應(yīng)用研究

2017-01-11 14:14段思婧魏莉謝睿張哲源龔德良
計算技術(shù)與自動化 2016年4期
關(guān)鍵詞:三維建模虛擬仿真

段思婧 魏莉 謝?!堈茉础↓彽铝?/p>

摘要:傳統(tǒng)體育館售票方式無法使購票者在購票時實時感知座位的具體視角。本文提出一種解決思路,其基本思想是根據(jù)設(shè)計圖紙?zhí)崛鲳^的拓撲結(jié)構(gòu)和幾何信息,并對場館三維建模,虛擬仿真體育館內(nèi)部場景,再使用OpenGL庫函數(shù)將模型導(dǎo)入系統(tǒng)來實現(xiàn)場景旋轉(zhuǎn)、轉(zhuǎn)換和購票等人機交互操作。為使用戶在購票時更好地感受逼真的三維視角效果,運用畫法幾何中射線和三角形求交算法解決三維仿真交互中座位定位等問題。

關(guān)鍵詞:虛擬仿真;OpenGL;三維建模;畫法幾何

中圖分類號:TP391.9文獻標(biāo)識碼:A

Abstract:The traditional way of ticketselling can not make buyers perceive the concrete perspective of the seat in real time when buying tickets. In this paper, we propose a solution, the basic idea is according to the design drawings, extracting the topology and geometry information of the stadium, and accomplishing threedimensional modeling of venues, virtually simulating the inner scene of the gym, then using OpenGL graphics library to import external model into the system to achieve scene rotation,conversion, ticketing and other manmachine interaction. In order to allow users to feel vivid 3D perspective better when buying tickets, we use ray and triangle intersection algorithm based on descriptive geometry to solve the problems of threedimensional simulation and interaction in seat positioning.

Key words:virtual simulation; OpenGL; Threedimensional modeling; descriptive geometry

1引言

傳統(tǒng)購票方式,人們只能根據(jù)不同票的價格來判斷看臺座位的基本情況,無法感知所購座位的具體視角。其實同一票價的座位,其視角可能有很大的差別,而且不同的球迷有自己特有的喜好。因此,對于體育館來說,如何根據(jù)用戶心理需求,設(shè)計一個具有高度仿真體驗的購票系統(tǒng),以提高運營效率和服務(wù)質(zhì)量顯得尤為重要[1]。通過采用虛擬仿真技術(shù)和三維建模技術(shù)對體育場館進行建模,構(gòu)建3D虛擬仿真體育館,使購票者購票時就能提前預(yù)覽每個座位的真實視野范圍,身臨其境地感受和體驗到所選座位的視角,充分調(diào)動廣大球迷觀看球賽和表演的欲望,提高門票的銷售率,幫助體育館運營商高效管理體育賽事。

2體育館場景模型的構(gòu)造

我們知道,建立場景模型要對實際場景進行抽象仿真,盡可能地符合真實情況。因此我們利用3Dmax根據(jù)設(shè)計圖紙構(gòu)造體育場館的場景模型,再處理模型的光照和紋理映射對場景進行渲染[2]。建模數(shù)據(jù)來自場地、座位、區(qū)域、視角等,空間形態(tài)的參數(shù)主要有座位的三維坐標(biāo)、二維場景平面,法向量等,場景中的物體基本上由簡單幾何體構(gòu)成,接下來以某地體育場館為實例進行設(shè)計說明。

2.1構(gòu)建場地

根據(jù)體育館的設(shè)計圖紙構(gòu)建模型,按一定的比例(此比例根據(jù)實際需求設(shè)定,可進行縮放)在場景中設(shè)計邊線、端線、中線、三分投籃區(qū)、限制區(qū)、罰球線、罰球區(qū)等球場參數(shù),均由平面構(gòu)成,另設(shè)置材質(zhì)、紋理信息。3Dmax中包含繪圖編輯命令和修改命令以及點、線、面圖例,通過圖形元素來建立模型的場地模塊。

2.2構(gòu)建座位

在該場景中,座位主要分東、西、南、北四個區(qū)域,每個區(qū)域占三排,每排14個座位均勻排列,座位由小方格表示,共164個。由于實際需要,根據(jù)座位離中心點的距離對座位進行分類,每區(qū)前兩排中間5個位置為視覺享受模式的座位、其余由座位的物理位置分為并排、盡量集中、價格便宜模式,后期用OpenGL的顏色渲染函數(shù)標(biāo)記座位的售出、待售、未售三種不同的狀態(tài)。

2.3構(gòu)建區(qū)域

本體育場館劃分為四個區(qū)域,東西和南北兩個區(qū)域分別對稱,因此購票者在查看座位視角時,系統(tǒng)會根據(jù)中心對稱原理揀選座位,其中對稱位置的視角是一致的。

2.4構(gòu)建視角

建模的目的主要是為了實現(xiàn)座位三維視角的實時查看,在切換過程中,每個座位會呈現(xiàn)不同的觀測視角,該功能主要由OpenGL交互函數(shù)實現(xiàn)。在后期建模中要解決座位揀選問題,所以在3Dmax中要初步設(shè)計出座位的二維平面視角。如圖1是在3Dmax中從場地、座位、區(qū)域、視角等方面對體育館進行仿真后的模型場景圖。3三維幾何建模

利用3Dmax對虛擬場景建模,將體育場館的幾何信息和拓撲結(jié)構(gòu)數(shù)值化,并定義實體模型的數(shù)據(jù)結(jié)構(gòu),以便在讀取模型文件時組織和封裝虛擬場景[3]。建模時應(yīng)注意合理的拓撲結(jié)構(gòu)能有效建立場景模型,優(yōu)化空間數(shù)據(jù),使用三維數(shù)據(jù)結(jié)構(gòu)描述場館時,要符合場館的空間幾何特點,才能準(zhǔn)確表達出真實場景的幾何形狀。

通常在結(jié)構(gòu)體中定義數(shù)據(jù)模型的點、面、材質(zhì)、光源、顏色信息,用來保存從3DS文件中讀取的數(shù)據(jù)。本系統(tǒng)的各結(jié)構(gòu)體定義如下[4-5]:

4基于OpenGL的外部場景模型導(dǎo)入與重繪

在3Dmax中對體育場館完成場景建模后,把文件以3DS格式導(dǎo)出,使用OpenGL函數(shù)庫中相應(yīng)函數(shù)文件導(dǎo)入系統(tǒng)[6]。

4.1場景模型的導(dǎo)入

為了讀取和重繪3DS文件,需定義名為3DSload的類,在導(dǎo)入過程中,通過3DSload類中遞歸函數(shù)的組合,將3DS文件中的數(shù)據(jù)全部讀出并存儲在自定義的數(shù)據(jù)格式中。這三個遞歸函數(shù)如下:

//讀取3DS文件

M3DSObject*Load3DSObject(char*filename);

//3DS模型重繪函數(shù)

void Draw3DSObject(M3DSObject*object);

//3DS模型歸一化函數(shù),將3DS模型歸一化,即將模型平移到原點,并縮放到每個坐標(biāo)均在[-1,1]的立方體中

void Unitize3DSObject(M3DSObject*object);

4.2場景模型的重繪

導(dǎo)入3DS文件后,3D虛擬體育館模型的所有信息都保存在自定義的數(shù)據(jù)結(jié)構(gòu)中,通過OpenGL函數(shù)調(diào)用這些數(shù)據(jù),便可重新繪制體育館三維模型,這樣避免了大量繪制體育館三維實景圖像占用資源的問題,為設(shè)計和部署帶來方便。

1)計算法向量

構(gòu)造三維模型時法向量非常重要,與光照模型緊密相關(guān),處理不當(dāng)就會對三維模型的重現(xiàn)造成影響。通過自定義函數(shù)CalculateVertexNormals()計算對象的法向量,在函數(shù)中遍歷對象的所有面和頂點,并通過規(guī)范化后將法向量添加到法向量列表中。重繪場景模型時,把列表中的每個數(shù)據(jù)元素傳遞給OpenGL函數(shù)OutGLAddVertex()來設(shè)置頂點的法向量。

2)繪制場景

OpenGL函數(shù)從存儲了場景數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)中獲取信息,以一定的繪制模式將模型重繪出來[7]。主要步驟包括:1)讀入形體的數(shù)據(jù)結(jié)構(gòu);2)讀入浮點型的顏色三元組;3)3DS模型重繪。

3)實現(xiàn)交互功能

系統(tǒng)要求與場景進行交互,除了對話框和菜單欄之外,大多通過鼠標(biāo)來實現(xiàn),OpenGL函數(shù)可實現(xiàn)交互功能[8]。將之前生成的3DS文件類導(dǎo)入三維模型,使用模型圖的平移函數(shù)glTranslatef()和旋轉(zhuǎn)函數(shù)glRotatef()實現(xiàn)平移、縮放、旋轉(zhuǎn)等人機交互控制。

當(dāng)用戶在虛擬體育館視圖界面上用鼠標(biāo)點擊某個座位時,如果有函數(shù)響應(yīng)鼠標(biāo)的操作,則實時計算頂點坐標(biāo)并生成該座位的三維視角,執(zhí)行對場景的重繪。

5畫法幾何思想解決模型的座位定位

為了使用戶購票時能夠體驗座位的三維可視化視角,本文運用畫法幾何中射線和三角形求交算法解決三維仿真交互中座位定位等問題。具體是:(1)3Dmax模型的讀??;(2)3Dmax模型的OpenGL操作,比如旋轉(zhuǎn)、縮放等;(3)3Dmax模型的定位。本文中主要涉及座位定位,射線和三角形求交算法應(yīng)用情況如下:

圖2是OpenGL中的坐標(biāo)揀選[9],即從屏幕二維坐標(biāo)到三維坐標(biāo)的變換,利用近景點和遠景點定位一條射線,如圖3所示,近景點P和遠景點P′構(gòu)成了OPP′射線,利用這條射線和OpenGL模型中的每一個三角形相交確定三角形屬于哪個座位,則屏幕上選擇的就是這個座位。設(shè)空間平面方程為:

N·P+D=0(1)

這里是向量的點乘,N是平面的法向量,P是平面上的任意一點,D表示原點到平面的距離。

O是原點,x和y就是在這個坐標(biāo)系下的坐標(biāo), 且對空間中的任意點,在此坐標(biāo)系中的坐標(biāo)都是唯一的。

取三角形的某個頂點作為仿射坐標(biāo)系的原點,由此延伸出的兩條邊作為坐標(biāo)軸的單位向量,則對于平面內(nèi)的任意一點,通過其坐標(biāo)數(shù)值就可判斷點和三角形之間的關(guān)系。假設(shè)坐標(biāo)是u、v,則在第一象限的點滿足u>0、v>0,點在三角形內(nèi)部則滿足u+v≤1,由這個原理就可判定點是否在三角形內(nèi)部。

具體計算方式:

三角形的三個頂點分別是P1,P2,P3,同平面的點P0,兩個邊向量就是 U=P2-P1,V=P3-P1,此坐標(biāo)系內(nèi)的坐標(biāo)為:

P′0=P0-P1(6)

解這個方程就可以獲得到仿射坐標(biāo)系下的坐標(biāo):

P′0=u×U+v×V(7)

根據(jù)u,v判斷交點是不是在三角形內(nèi)。

6驗證分析

為驗證建模方法和定位算法的有效性,分別從兩個參考指標(biāo)進行測試評估:

1)虛擬仿真體育館模型與實際場景在形態(tài)特征上是否相似。在實驗中通過與實地的對比勘查可得:構(gòu)建的虛擬體育館與實際圖紙及空間相似度為83%,誤差來源于對紋理材質(zhì)細節(jié)的粗糙處理。

2)運用定位算法形成的三維視角與實際觀測的視角范圍是否有較大的相關(guān)性。將在虛擬體育館的四個區(qū)域隨機獲取的座位仿真視角數(shù)據(jù),與實測數(shù)據(jù)利用統(tǒng)計分析軟件SPSS進行相關(guān)性分析,結(jié)構(gòu)表明兩者間的相關(guān)系數(shù)較高,且南北方向座位比東西方向高,分別為0.90和0.85,說明模擬仿真具有一定精度。

7小結(jié)

本文將OpenGL圖形函數(shù)庫與三維幾何建模相結(jié)合,設(shè)計3D虛擬仿真體育館購票系統(tǒng),提出一種能實現(xiàn)可視化實時預(yù)覽場館座位三維視角的方法,與現(xiàn)有的體育館售票系統(tǒng)對接,使用戶足不出戶就能身臨其境地選擇座位,進一步激發(fā)人們?nèi)ガF(xiàn)場觀看比賽的熱情和欲望。但是,如何更有效地部署和優(yōu)化體育場館三維空間模型及座位定位算法,提高虛擬仿真精確度,是一個值得深入思考的方向。

參考文獻

[1]張濤,姚俊鋒,楊獻勇.基于Web 3D的體育館展示并售票系統(tǒng)的研究[J].計算機仿真.2006,23(9):236.

[2]徐嵐.三維虛擬場景建模技術(shù)[J].湖北第二師范學(xué)院學(xué)報.2009,26(2):74-75.

[3]禇維翠.基于OpenGL的室內(nèi)體育館虛擬系統(tǒng)的研究與實現(xiàn)[D].合肥:安徽大學(xué),2011:6-7.

[4]安葳鵬,蔡治邦.煤礦虛擬巷道三維幾何建模的研究[J].微計算機信息,2010,26(8-1):224-225.

[5]侯湘.虛擬現(xiàn)實技術(shù)中的三維建模方法研究[D].重慶:重慶大學(xué),2006:18-19.

[6]吳斌,段海波,薛鳳武譯.OpenGL編程權(quán)威指南[M].北京:中國電力出版社,2001.

[7]江早.OpenGL VC/VB圖形編程[M].北京:科學(xué)出版社,2001.

[8]周長發(fā).計算機圖形學(xué)幾何工具算法詳解[M].北京:電子工業(yè)出版社.2005.

[9]蔡士杰,吳春镕,孫正興等譯.計算機圖形學(xué)[M].北京:電子工業(yè)出版社.2002.

猜你喜歡
三維建模虛擬仿真
農(nóng)用風(fēng)力發(fā)電機葉片設(shè)計
中職畜禽解剖課程虛擬仿真實訓(xùn)教學(xué)資源的建設(shè)與應(yīng)用
淺析虛擬仿真技術(shù)在海軍院校教學(xué)中的應(yīng)用
數(shù)控仿真系統(tǒng)三維建模技術(shù)研究
基于GIS的網(wǎng)絡(luò)三維系統(tǒng)的構(gòu)建及應(yīng)用
虛實結(jié)合和科教融合的計算機實驗教學(xué)體系
數(shù)字積分法插補仿真實驗教學(xué)系統(tǒng)開發(fā)
網(wǎng)絡(luò)虛擬仿真實驗中心建設(shè)研究與實踐
三維建模技術(shù)在家畜器官建模中的應(yīng)用
基于CATIA的多功能運動輪椅三維數(shù)字化建模及其優(yōu)化設(shè)計