999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于OpenGL的虛擬校園漫游系統的實現

2009-04-29 00:00:00朱靜雯伍艷蓮
考試周刊 2009年35期

摘要: 本文作者討論了基于OpenGL的虛擬環境的建模與漫游,并以此開發出一個虛擬的環境。系統以Visual C + +6.0為開發平臺,結合OpenGL和3DS MAX建模,進行了南京農業大學部分場景的建模,以及漫游的實現。

關鍵詞:虛擬現實虛擬校園OpenGL

1.引言

虛擬現實(Virtual Reality),又稱為虛擬環境(Virtual Environment),是計算機生成的給人多種感官刺激的虛擬世界(環境),是一種高級的人機交互系統[1]。它集成了計算機圖形學、傳感器技術和計算機仿真等多種高科技的最新成果,使人和計算機很好地“融為一體”,給人以“身臨其境”的感覺[2]。虛擬現實技術因其可以降低成本,減少危險,提高效率,克服物理條件的限制,拓寬應用領域等諸多優點,已在娛樂、醫療、工程與建筑、教育與培訓、軍事、科學和金融可視化等方面獲得了應用。目前國外在虛擬現實的應用上,主要側重歷史繼承性的應用[3]。如:地域演變的模擬、生物演變的模擬、虛擬博物館、虛擬展覽館、文物的復原[4]等。還有就是虛擬游戲的開發,以及虛擬現實技術與遙感技術的結合,用于氣象、宇航等事業。近年來,由于地理信息系統(GIS)應用的發展,能提供良好的人機界面的虛擬現實技術與GIS技術的結合將成為必然趨勢。例如:數字城市、數字地球等概念屢見不鮮。在建筑設計、房產開發中,利用虛擬現實技術虛擬出建筑物,讓設計人員、用戶對室內、室外進行考查。虛擬現實技術為設計人員、用戶對房產設計規劃是否合理、滿意提供了直觀參考,并且可以節約生產成本,縮短建設周期。

虛擬校園作為虛擬現實的一個應用,可以讓學生或家長在虛擬環境下漫游學校,對校園有較直觀的了解。OpenGL (Open Graphic Library)是一種與硬件、窗口系統和操作系統相獨立的一系列API,它可以被集成到Unix、Windows NT和X Window等窗口系統中。OpenGL由大量功能強大的圖形函數組成,開發人員可以利用這些函數對整個三維圖形進行光色渲染,從而方便地繪制出客觀世界逼真的三維景象(OpenGL程序設計)[5]。我們以南京農業大學為虛擬空間,以Visual C++為平臺,利用OpenGL建立三維場景,調用3DS MAX建模的建筑模型,實現虛擬漫游。

2.總體設計

我們首先研究了虛擬現實技術的特點,以及其在虛擬校園漫游系統中的應用,在此基礎上基于幾何造型和圖像的建模技術完成整個虛擬校園系統的體系結構和場景地景的建模。根據圖形學原理,建立校園內建筑物的三維模型,并建立戶外草地、道路、樹木等虛擬景物。從本系統需求出發,我們選擇了OpenGL結合Visval C++自主開發本系統的場景驅動。最后確立如何在虛擬建筑中漫游的方法和策略,以南京農業大學校園為背景建立虛擬環境,并實現對虛擬場景的實時漫游功能。

如圖1所示,本系統由3個部分組成:三維場景的建模及其后處理;模型驅動顯示;校園漫游部分。

圖1

3.校園三維模型的創建

虛擬校園漫游系統的主要工作集中在三維建模上,模型建立的好壞將直接影響整個虛擬現實系統的質量高低。三維場景漫游效果的逼真度與建模的精細直接相關,要想繪制得逼真,建模時需要構造精細的模型,會消耗很多時間,構造出來的模型也非常復雜,而且繪制時由于機器性能的制約往往很難達到實時效果,所以在模型的精細程度和繪制的速度方面要取一個折中,既要保證一定的繪制質量,又要保證繪制的速度。

我們用3DS MAX實現校園實景的建模,其中包括建筑物的建模,草坪和樹木的建模。通過3DS MAX對三維場景進行精細建模,并在此基礎上進行紋理處理和渲染,這樣可以增強漫游時的真實感。

3.1數據搜集與整理

南京農業大學校園主要的建筑有教學樓、逸夫樓、農學院等。結合校園建筑平面圖,我們能夠完整地獲得整個校園建筑物、綠地、公路等地物的地理坐標及平面輪廓形狀,勾勒出整個校園場景。我們對校園進行了實地考察,用數碼相機采集反映學校真實景觀的建筑物、道路、樹木等紋理圖。為了減少數據量,貼圖用.jpg格式保存。根據采集的照片我們可以分析出物體的立體輪廓形狀,為下一步的三維建模提供基礎。由于受建筑物的高度、拍攝距離和相機自身成像特點的影響,拍攝的像片往往比例失調,我們對每張圖片均使用圖形處理軟件Photoshop進行各種處理。例如,用自由變換把比例失調的圖片拉正,裁剪周圍其他的場景,去除圖片中的雜景等。

3.2校園建筑物三維模型的創建

建筑物立體模型通常有三種建模方法,即多邊形、面片及NURBS建模[6]。建筑物使用多邊形建模最簡便快捷,因此本次校園建筑物建模就采用此方法。事實表明,使用多邊形建模,能描述足夠的細節,可以創建任何表面。

當然,立體模型建立以后還需要進一步修改,調整建筑的形狀。而對于復雜的建筑,3DS MAX軟件提供了布爾運算、放樣、圖形合并等方法,例如,建筑物中眾多窗戶的制作,就是利用圖形合并的功能,效果十分理想。如圖2所示本校第四教學樓的三維模型。

圖2教四樓

3.3校園建筑物模型材質設計

建立模型之后的工作就是給模型賦予材質和貼圖,在3DS MAX中,基本材質賦予對象一種單一的顏色,基本材質和貼圖與復合材質是不同的,3DS MAX中有很多種貼圖方法,最簡單的是位圖,本次設計就是采用該種方法。

我們創建了南京農業大學校園內主要建筑物的三維模型,如圖3和圖4分別是南京農業大學的教學樓和農學院的三維立體模型。

圖3 教學樓

圖4 農學院

4.模型驅動顯示

模型驅動顯示模塊的主要功能是將三維模型顯示在虛擬環境中。校園模型采用3DS MAX作為建模工具,但由于3DS MAX并沒有為虛擬現實系統提供專用的接口,因此,我們需要了解其文件格式,開發專用的接口,在OpenGL中讀取以進行模型數據的調用.由于3DS MAX軟件的文件格式(.MAX)至今尚未完全公開,我們需要將文件格式首先導出為其他文件格式(如.3DS等),或者渲染為.bmp格式。然后在OpenGL中讀出,并顯示在虛擬環境中。

4.1樹木和建筑物的顯示

本系統中所有的樹木和建筑都是在3DS MAX下制作完成后渲染成.bmp格式,然后載入到OpenGL場景中的。雖然在三維場景中的樹和建筑做成3D模型就會更加逼真,但由于虛擬校園要建立成百上千的樹木和建筑,如果都用3D模型會影響顯示速度,因此,我們用一種平面圖形做的樹和建筑在3D場景中現實,效果與3D模型相當,關鍵是顯示速度極快,在一個場景中栽上幾千棵樹和建筑對顯示速度的影響不大。

我們顯示樹木和建筑的方法是平面樹的原理:在矩形平面上帖一個樹木的圖片,并并讓樹的背景呈透明狀態。將它放在OpenGL場景中,這就是我們所要的樹,如圖5。

圖5

由于普通平面在3D場景中是有方向性,當我們視點不是對著樹的正面,就會看到平面樹的明顯失真,因此我們運用特殊平面構成樹,實現這樣一個特殊的平面:在我們旋轉場景時,場景中的一些平面(樹)也跟著旋轉。就是說不論怎么旋轉場景,我們看到的都是看到的平面(樹)的正面,它始終對著我們。這樣由平面構成的樹就看不出是平面的了。

4.2草坪的顯示

本系統的草坪是通過在OpenGL場景中直接顯示3DS模型來實現的。3DS模型是由模型文件“*.3DS”和貼圖文件“*.bmp”(或其它圖形)構成。圖6說明了模型文件與貼圖文件的關系。圖中的“鏟車.3DS”要正確顯示,應該有對應的貼圖文件“loader.bmp”。若沒有貼圖文件,顯示結果為左邊的灰色圖像。貼圖文件“loader.bmp”名是包含在“鏟車.3DS”文件中的。所以要在OpenGL中顯示3D模型,必須將其.bmp格式的文件同.3DS格式的文件放在同一個文件夾中,然后在OpenGL中通過文件夾路徑來指明要顯示的3D模型。

鏟車.3ds loader.bmp鏟車.3ds

沒有貼圖的模型鏟車貼圖 有貼圖的模型

圖6

本系統為了顯示草坪3D模型,主要用到OpenGL兩個功能函數:“調入3DS模型文件”,“顯示3DS模型”。通過調用“調入3DS模型文件”這個函數,可將草坪模型文件“*.3DS”和貼圖文件“*.bmp”從文件夾中調入,通過調用“顯示3DS模型文件”這個函數,可將草坪模型通過設置位置參數顯示在虛擬校園的指定位置上。

4.3天空的實現

本系統中天空的實現是運用天空盒的方法。所謂天空盒,就是用一矩形方盒作為天空遠景貼圖的載體,構成天空盒的載體是一長方體,在該長方體的前后左右上5個面貼有天空遠景的5幅圖形。這5幅圖形滿足以下條件:(1)圖形為.bmp位圖格式,尺寸(像素點)為2的N次方(32,64,128,256,…)。(2)頂圖的四條邊與前后左右圖的上邊相連。(3)前后左右的4幅圖形必須首尾相連。

5.虛擬校園漫游的實現

5.1攝像漫游

人對世界的綜合視覺觀察效果來源于眼睛。眼睛就像一架照相機,將外部影像反映到大腦。在計算機3D圖形處理技術中也有類似我們眼睛的東西——gluLookAt(...)觀察函數,如果這個觀察點在OpenGL場景中的位置發生變化,在計算機屏幕上的圖像(相當我們大腦的映像)就發生變化[7]。

在本系統中用來改變觀察點的是OpenGL 的gluLookAt(...)函數,它的主要的作用是可以改變我們在OpenGL場景的觀察點,這個觀察點就好像是我們的眼睛,也好像是我們手中的攝像機。我們在一個場景中行走時,看到前面的物景越來越近,兩邊的物體在向后退,這就是我們的觀察點在場景中的位置改變的結果。用PageUp 和PageDown鍵來控制上下,用上下鍵來控制前后,用左右鍵來控制左右。

5.2碰撞檢測

在虛擬環境中,由于用戶的交互和物體的運動,為保持環境的真實性,需要及時檢測到這些碰撞,并計算相應的碰撞反應,更新繪制結果,否則物體會發生穿透現象,破壞虛擬環境的真實感和用戶的沉浸感[8]。

在碰撞檢測中,第一是檢測到碰撞的位置,第二是計算碰撞后的反應。考慮碰撞檢測方法,以及虛擬漫游中對碰撞檢測的特殊要求,本系統采用比較視點與建筑物在環境中絕對位置的差值是否小于建筑物寬度的一個多項式來判斷是否產生了碰撞檢測。如下所示:

if(fabs(x-objposi[i].x)<(objposi[i].sizew+8)/2.0fabs(z+objposi[i].z)<(objposi[i].sizel+8)/2.0)

一旦發生了視點與虛擬物體之間的碰撞,系統將會彈出對話框,提示遇到障礙。這是在漫游中給出的簡單碰撞響應。

6.結語

OpenGL是低層API,它具有豐富的繪圖函數、可移植性強的特點。雖然用OpenGL設計復雜的模型很繁瑣,但OpenGL良好的兼容性可用專用繪圖工具3DS MAX繪制的圖形進行調用,使用OpenGL制作出的三維場景更逼真[7]。我們利用3DS MAX進行三維建模,通過Visval C++編程調用所得的三維數據模型,并充分利用OpenGL提供的繪圖、貼圖和可視化等函數,實現了較好的虛擬場景漫游。

參考文獻:

[1]倪明田,吳良芝.計算機圖形學[M].北京:北京大學出版社,1999.

[2]吳亞東,蔡勇,韓永國.虛擬場景展示系統研究[J].系統仿真學報,2003,11,(15).

[2]黃瑩瑩,彭敏俊,許岷.基于虛擬現實的數字校園漫游系統的設計與實現[J].應用科技,2005,32,(5):40242.

[3]Alonzo C.Addison,Emerging Trend in Virtual Heritage[J].IEEEMultiMedia, 2000,(4-6):22-25.

[4]Ichiroh Kanaya,Qian Chen et al.Three-Dimensional Modeling for Virtual Relic Restoration[J].IEEE MultiMedia,2000,(4-6):42-44.

[5]馬阿曼.基于OpenGL與3DS MAX的虛擬場景漫游系統的設計與實現[J].計算機與現代化,2007,12,(148).

[6]陳勇,馬純永,陳戈.基于VC/OoenGL的虛擬海大校園導航系統[J].計算機輔助設計與圖形學學報,2007,2,19,(2).

[7]李瑩,陳啟祥.基于OPENGL技術與3DS MAX的3D虛擬校園情景開發[J].武漢船舶職業技術學院學報,2007,2.

[8]孫海峰,孫秀玲.虛擬校園環境的構造及漫游系統的實現[J].長春工程學院學報(自然科學版),2008,9,4.

主站蜘蛛池模板: 中文字幕欧美日韩高清| 久久久久久高潮白浆| 欧美精品亚洲精品日韩专区| 国内精品一区二区在线观看| 日韩亚洲高清一区二区| 国产一级在线播放| 9999在线视频| 亚洲成a人片77777在线播放| 国产精品午夜福利麻豆| 国产成人乱无码视频| 片在线无码观看| 日韩欧美91| 日本不卡在线播放| 国产精品午夜福利麻豆| AV熟女乱| 最新日本中文字幕| 国产成人无码综合亚洲日韩不卡| 国产性爱网站| 青青青视频蜜桃一区二区| 一级毛片无毒不卡直接观看| 2021国产在线视频| 日韩国产亚洲一区二区在线观看| 亚洲区第一页| 国产女人18水真多毛片18精品| 欧美成人看片一区二区三区| 欧美在线三级| 亚洲无码精品在线播放| 最新国产网站| 99视频在线看| 色综合天天娱乐综合网| 18禁高潮出水呻吟娇喘蜜芽| 好吊色妇女免费视频免费| 2048国产精品原创综合在线| 亚洲综合色婷婷中文字幕| 狼友av永久网站免费观看| 激情六月丁香婷婷| 国产精女同一区二区三区久| 丰满人妻一区二区三区视频| 美女无遮挡免费视频网站| 青草91视频免费观看| 美女潮喷出白浆在线观看视频| 亚洲一级毛片免费观看| 在线中文字幕日韩| 在线五月婷婷| jizz在线观看| 国产亚洲高清在线精品99| 精品无码一区二区三区在线视频| 免费毛片网站在线观看| 99re在线视频观看| 久久人人爽人人爽人人片aV东京热| 日韩 欧美 国产 精品 综合| 欧美国产日韩在线| 一区二区三区在线不卡免费| 色综合天天综合中文网| 久久国产黑丝袜视频| 99视频全部免费| 久久婷婷六月| 久久不卡国产精品无码| 国产精欧美一区二区三区| 又爽又大又光又色的午夜视频| a级毛片网| 蜜臀AVWWW国产天堂| 国产精品漂亮美女在线观看| 亚洲欧美极品| 中文字幕 91| 亚洲色欲色欲www在线观看| 99久久精品国产精品亚洲| 久久99精品久久久大学生| 中国精品自拍| 97免费在线观看视频| 老司机精品99在线播放| 亚洲色大成网站www国产| 最新国产高清在线| 55夜色66夜色国产精品视频| 国产主播福利在线观看| 亚洲区欧美区| 亚洲A∨无码精品午夜在线观看| 日韩在线欧美在线| 色婷婷在线影院| 国产女同自拍视频| 日日拍夜夜嗷嗷叫国产| 热伊人99re久久精品最新地|