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

三維校園虛擬現實平臺的設計與實現

2015-01-06 18:28:44劉小英張健
湖北農業科學 2014年12期
關鍵詞:校園建筑模型

劉小英+張健

摘要:虛擬校園是虛擬現實技術的一個重要應用方面,通過虛擬校園,人們只需要一臺計算機即可了解校園整體風貌。以攀枝花學院主體建筑為研究對象,利用SketchUp構建三維模型,應用GIMP進行紋理貼圖處理。運用VC++6.0結合OpenGL技術,讀取三維模型,實現漫游交互控制及碰撞檢測功能。系統運行表明,該系統場景逼真,能夠展現學校風貌,為學校提供了一個新的窗口。

關鍵詞:虛擬校園;OpenGL;VC++6.0;SketchUp

中圖分類號:TP391.9 ? ? ? ?文獻標識碼:A ? ? ? ?文章編號:0439-8114(2014)12-2909-04

Design and Implementation of Virtual Reality Platform for 3D Campus

LIU Xiao-yinga,ZHANG Jianb

(a. School of Mathematics and Computer Science; b. School of Transportation and Automobile Engineering, Panzhihua University,

Panzhihua ?617000, Sichuan, China)

Abstract: Virtual campus is an important application about virtual reality technology. People only need a computer to have the overall view of the campus through the virtual campus. Taking the main building of Panzhihua university as a research object, using SketchUp to build 3D model and GIMP to process texture mapping, and VC++6.0 and OpenGL technology, the 3D model was read, and then the roaming interactive control and collision detection function were implemented. The system operation showed that the system could show realistic scenes of the school and provide school views with a new window.

Key words: virtual campus; OpenGL; VC++6.0; SketchUp

虛擬現實技術是一種融合了計算機圖形技術、多媒體技術和仿真技術等多種技術的綜合集成技術[1]。虛擬現實技術已被廣泛應用于視景仿真、虛擬工程設計、文化遺產數字化保護等領域[2,3]。隨著虛擬現實技術的發展,虛擬校園的構建已經成為各大高校學者研究的熱點。虛擬校園結合地理信息技術、虛擬現實技術、計算機網絡技術等高新技術,實現對真實校園環境中的三維景觀的數字化和虛擬化[4]。構建虛擬校園系統,并發布在校園網站或者其他網絡上,使很多使用者不用親臨學校,即可了解校園整體風貌。

SketchUp是目前最流行的三維建模及渲染軟件,被廣泛用于室內設計、建筑建模、虛擬現實等領域[5,6],其構造模型方法簡單易上手,模型美觀,便于虛擬校園多場景構建。OpenGL作為開發交互式的三維應用程序方面使用最為廣泛且有著高度評價的3D圖形接口,作為一個性能優越的圖形API,OpenGL主要能實現基本圖形的繪制、三維圖形的幾何變換、提供RGBA和顏色索引兩種顏色模式、提供輻射光、漫反射光和鏡面光以及制定圖形表面的反射特性,即材質屬性設置、提供紋理映射功能、提供三維人機交互接口,用戶可以通過輸入輸出設備進行交互操作[7,8]。利用SketchUp構建了攀枝花學院主體建筑的三維場景模型,應用VC++6.0并結合OpenGL技術,實現了攀枝花學院校園的虛擬漫游。

1 ?校園虛擬場景的構建

通過導入學校的衛星地圖來參照各個建筑之間的位置關系,進行場景的逼真布局。以攀枝花學院為真實場景參照,利用SketchUp構建虛擬模型。由于模型構建的數據量較大,所以在構建場景時采用對模型先建造后合并的方法。校園虛擬場景構建流程如圖1所示。

1.1 ?數據采集與處理

要使構建的校園建筑形象逼真,需對建筑表面進行逼真的紋理貼圖,使構建的校園場景具有沉浸感。因此需要大量的平面及立體資料,數據采集工作就顯得尤為重要,主要分為以下兩個方面:

1)校園平面信息的獲取及建筑物的高度信息確定。衛星地圖是部分地理數據的真實反映,通過電子地圖和衛星地圖作為參考。衛星地圖具有比例尺,根據地圖的比例尺來確定模型的長寬比例和在校園內的相對位置。采用測量和幾何估算來獲取建筑物的高度信息,如可以通過測量某建筑單層的高度乘以樓層數來估算出該建筑的整體高度。

2)對建筑整體和局部的細節進行數據采集,采集的建筑局部細節需進一步處理作為紋理貼圖。數據的處理主要是利用Photoshop軟件對采集回來的圖片資料進行裁剪,調整大小,并導出為.bmp格式的位圖,用做模型的紋理貼圖。

1.2 ?校園建筑物場景模型的建立

1.2.1 ?模型建立 ?虛擬三維立體建模和漫游技術是虛擬現實的基礎[9,10]。系統模型是由SketchUp建立的,首先將采集到的衛星地圖導入SketchUp,將其做為背景構建虛擬校園地平面,以確定建筑的相對位置及方位的逼真度,然后參照此信息進行建模。校園的衛星地圖及平面三維建模圖如圖2所示。endprint

圖3展示的是校園主要建筑物分析測試中心主觀比例建模和真實尺寸建模的對比圖。通過對比可以看出,主觀建模不美觀且不真實,和實際建筑相差甚遠;而真實尺寸建模美觀大方,符合建筑美學以及黃金分割比例,真實感較強,有沉浸感。因此,具體建模時一定要運用真實尺寸建模,利用SketchUp中的測量工具,測出建筑的真實尺寸比例,只有嚴格按照真實尺寸建模才能達到美觀逼真的效果。

1.2.2 ?模型優化與貼圖 ?模型建立好后,在貼圖之前還需要對模型進行一些優化操作,需要去掉模型表面不需要的線條和隱藏的平面,一方面可以減少紋理圖片的數量;另一方面在模型文件被加載到程序中時可以避免因計算多余的面而造成的系統資源的浪費。

紋理貼圖的制作是通過SketchUp對某一平面設置自定義紋理,并導出紋理為圖像。導出的紋理圖像用來作為紋理貼圖制作時的尺寸模板,將其用GIMP作為圖層打開。然后,在GIMP中導入墻體、門窗圖片作為圖層,制作建筑物墻面的紋理貼圖。在GIMP中將制作好的紋理貼圖導出為位圖格式的圖片,通過SketchUp導入到虛擬模型中,并勾選“用作圖像”選項,將紋理圖像貼在正確的平面上。此時就可以將貼上紋理圖像的平面刪掉,只保留紋理圖像。用同樣的方法對其他平面進行紋理貼圖。建好模型后,選用SketchUp的導出功能導出成3DS文件。

分析測試中心、會堂、辦公樓、圖書館及第二教學樓等校園主要建筑的建模及貼圖后的SketchUp渲染效果如圖4所示。

1.2.3 ?模型合并 ?在單個建筑的模型建好后,將所有模型加載到同一個場景中,并對模型的位置和大小進行調整,使其看起來更自然更逼真。圖5所示為建好后的虛擬場景部分展示。

2 ?3DS模型文件的讀取

將模型轉換為3DS模型文件以后,需要導入到OpenGL程序框架中,首先需要對VC++6.0中的OpenGL編譯環境進行設置,環境設置好后,開始導入3DS格式文件,在OpenGL中重新構建并顯示學校建筑模型。在讀入3DS格式文件時,程序首先要判斷該文件是不是3DS格式,若不是則直接返回,不進行任何操作,若是3DS文件則進入下一步操作,即讀取文件中的模型數據。在讀取數據時,可以根據實際需要選擇性地讀入需要的塊,忽略一些未知的塊。在讀入塊結構數據時,可以用遞歸的方法實現,返回上一級的條件是當前已經讀入的塊的字節數是否等于塊的長度;從父塊轉向讀入其子塊,用Switch語句實現,通過子塊的ID號來判斷進入哪個分支。程序流程圖如圖6所示。

讀取3DS文件后,利用OpenGL自帶的函數添加燈光效果,并利用貼圖函數添加天空、水泥地面及草地,使其場景顯得更為真實。

3 ?人機交互漫游的設計

人機交互漫游是通過鍵盤對漫游視角進行控制,當視點的位置、方向和參考點發生改變時,場景中的物體相對于觀察者的方位也發生了改變,從而產生了“動感”,達到能進能退、能夠旋轉、視角俯仰、沉浸其中的效果。

系統中的視點即為人的眼睛,對場景顯示的漫游控制在OpenGL中利用gluLookat()函數,通過設置相應的參數來達到漫游的效果。由于OpenGL的坐標系和3DS Max的坐標系是不同的,3DS Max中模型的z軸指向上方,而OpenGL中模型的z軸是垂直屏幕指向用戶的,因此需要將頂點坐標的y軸和z軸翻轉過來。本系統由鍵盤執行的漫游命令包括場景左右旋轉、場景縮放、視點改變等。響應左、右旋轉命令時,視點保持不變,分別繞z軸沿逆、順時針旋轉一定角度;響應場景縮放命令時,視點分別沿視線方向移動一定距離。按照這種響應方法,通過空間向量分解運算,即可計算出新的視點和參考點坐標。人機交互控制功能鍵及功能如表1所示。

4 ?碰撞檢測技術的實現

確定了建筑的位置信息后,參照建筑的方位,才能確定出需要碰撞檢測的墻面位置信息。系統要能進行碰撞檢測,也就是說檢測觀察者在行進中是否遇到了阻礙,如到了墻邊,則不能繼續前進,不能出現穿墻而過的情況。碰撞檢測的原理是首先通過if函數判斷障礙,遇到障礙則返回為真,沒遇到則返回為假。對樹木實行碰撞繞行方法,即視點行走到樹木面前,如果有障礙,則x方向回原點,或者x方向不變,y方向回原點,如果沒障礙,繞行。

以圖書館及樹木的碰撞檢測為例,核心代碼如下:

BOOL baiscobj::iftf(float x,float z,int i) ? ? ?//判斷障礙

{ if ?(x>=295 && x<=310)//判斷圖書館凸出墻

{

if (( z<= -313 && z>= -335) || (z<= -473 && z>= -495))

// AfxMessageBox("22222111111");

return TRUE;

}

else if (x>=290 && x<=297)//判斷圖書館正面墻

{

if ( (z<= -265 && z>= -380) || (z<= -435 && z>= -545))

{

return TRUE;

}

}

對樹木的碰撞繞行核心代碼如下:

void baiscobj::zangan(float x,float z)//碰撞繞行

{endprint

//AfxMessageBox("11111");

float pp;

for(int ?i=0;i<=40;i++) //樹木障礙檢測

{

if(iftf(g_eye[0],g_eye[2],i)) //有障礙

{

pp=g_eye[0];g_eye[0]=x; //x方向回原點

if(!iftf(g_eye[0],g_eye[2],i))

continue ; //沒障礙,繞行。

else

g_eye[0]=pp; //有障礙,x方向不變

pp=g_eye[2];

g_eye[2]=z; //y方向回原點

if(!iftf(g_eye[0],g_eye[2],i)) ?; //沒障礙了,繞行。return

else

g_eye[2]=pp; //有障礙,y方向不變

}

}

}

5 ?結論

應用SketchUp建模工具對攀枝花學院的主體建筑和校園整體平面建立虛擬模型,利用GIMP建立建筑紋理貼圖,最后進行模型合并,結合Windows環境下OpenGL圖形編程實現了三維校園虛擬現實平臺的建立,實現了人機交互控制及碰撞檢測,系統運行表明,該系統場景逼真,能夠展現學校風貌,使用戶不必親臨攀枝花學院即可了解學校的整體風貌,具有較強的沉浸感及實用價值。

參考文獻:

[1] 王振德,王艷春.虛擬現實技術及其在虛擬校園中的應用研究[J].安徽農業科學,2013,41(7):3223-3224,3235.

[2] 任 ?鏷,王文劍,白雪飛. 基于虛擬現實技術的山西大學堂建筑復原[J].計算機仿真,2012,29(11):20-24.

[3] 黃志鋒,李 ?笑,秦輝明.基于OpenGl和SolidWorks的遙操作工程機器人建模與仿真[J].機機械設計與制造,2012(12):157-159.

[4] 王艷安,曾俊峰,安運華.長江大學校園虛擬漫游系統設計[J].湖北農業科學,2010,49(9):2237-2240.

[5] 蘭玉芳,付金霞,徐霞華,等.基于SketchUp與ArcGIS的校園3DGIS的設計與實現[J].遙感技術與應用,2013,28(2):346-351.

[6] 張瑞菊. SketchUp 結合Google Earth在虛擬校園中的應用[J].計算機應用,2013,33(S1):271-272,297.

[7] 柏 ?林,陳根浪,徐 ?靜. OpenGL編程精粹[M].北京:機械工業出版社,2010.1-2.

[8] 樊雅萍,黃生學,溫佩芝,等. 基于OpenGL的機器人虛擬漫游系統開發[J].系統仿真學報,2005,17(10):2426-2428,2441.

[9] 原發杰,路立偉,邱健壯.校園三維虛擬漫游系統的建設研究[J].山東農業大學學報(自然科學版),2011,42(4):586-590.

[10] 張青峰,吳發啟,周 ?淑,等.校園虛擬漫游設計初探[J].測繪科學,2005,30(6):124-126.endprint

//AfxMessageBox("11111");

float pp;

for(int ?i=0;i<=40;i++) //樹木障礙檢測

{

if(iftf(g_eye[0],g_eye[2],i)) //有障礙

{

pp=g_eye[0];g_eye[0]=x; //x方向回原點

if(!iftf(g_eye[0],g_eye[2],i))

continue ; //沒障礙,繞行。

else

g_eye[0]=pp; //有障礙,x方向不變

pp=g_eye[2];

g_eye[2]=z; //y方向回原點

if(!iftf(g_eye[0],g_eye[2],i)) ?; //沒障礙了,繞行。return

else

g_eye[2]=pp; //有障礙,y方向不變

}

}

}

5 ?結論

應用SketchUp建模工具對攀枝花學院的主體建筑和校園整體平面建立虛擬模型,利用GIMP建立建筑紋理貼圖,最后進行模型合并,結合Windows環境下OpenGL圖形編程實現了三維校園虛擬現實平臺的建立,實現了人機交互控制及碰撞檢測,系統運行表明,該系統場景逼真,能夠展現學校風貌,使用戶不必親臨攀枝花學院即可了解學校的整體風貌,具有較強的沉浸感及實用價值。

參考文獻:

[1] 王振德,王艷春.虛擬現實技術及其在虛擬校園中的應用研究[J].安徽農業科學,2013,41(7):3223-3224,3235.

[2] 任 ?鏷,王文劍,白雪飛. 基于虛擬現實技術的山西大學堂建筑復原[J].計算機仿真,2012,29(11):20-24.

[3] 黃志鋒,李 ?笑,秦輝明.基于OpenGl和SolidWorks的遙操作工程機器人建模與仿真[J].機機械設計與制造,2012(12):157-159.

[4] 王艷安,曾俊峰,安運華.長江大學校園虛擬漫游系統設計[J].湖北農業科學,2010,49(9):2237-2240.

[5] 蘭玉芳,付金霞,徐霞華,等.基于SketchUp與ArcGIS的校園3DGIS的設計與實現[J].遙感技術與應用,2013,28(2):346-351.

[6] 張瑞菊. SketchUp 結合Google Earth在虛擬校園中的應用[J].計算機應用,2013,33(S1):271-272,297.

[7] 柏 ?林,陳根浪,徐 ?靜. OpenGL編程精粹[M].北京:機械工業出版社,2010.1-2.

[8] 樊雅萍,黃生學,溫佩芝,等. 基于OpenGL的機器人虛擬漫游系統開發[J].系統仿真學報,2005,17(10):2426-2428,2441.

[9] 原發杰,路立偉,邱健壯.校園三維虛擬漫游系統的建設研究[J].山東農業大學學報(自然科學版),2011,42(4):586-590.

[10] 張青峰,吳發啟,周 ?淑,等.校園虛擬漫游設計初探[J].測繪科學,2005,30(6):124-126.endprint

//AfxMessageBox("11111");

float pp;

for(int ?i=0;i<=40;i++) //樹木障礙檢測

{

if(iftf(g_eye[0],g_eye[2],i)) //有障礙

{

pp=g_eye[0];g_eye[0]=x; //x方向回原點

if(!iftf(g_eye[0],g_eye[2],i))

continue ; //沒障礙,繞行。

else

g_eye[0]=pp; //有障礙,x方向不變

pp=g_eye[2];

g_eye[2]=z; //y方向回原點

if(!iftf(g_eye[0],g_eye[2],i)) ?; //沒障礙了,繞行。return

else

g_eye[2]=pp; //有障礙,y方向不變

}

}

}

5 ?結論

應用SketchUp建模工具對攀枝花學院的主體建筑和校園整體平面建立虛擬模型,利用GIMP建立建筑紋理貼圖,最后進行模型合并,結合Windows環境下OpenGL圖形編程實現了三維校園虛擬現實平臺的建立,實現了人機交互控制及碰撞檢測,系統運行表明,該系統場景逼真,能夠展現學校風貌,使用戶不必親臨攀枝花學院即可了解學校的整體風貌,具有較強的沉浸感及實用價值。

參考文獻:

[1] 王振德,王艷春.虛擬現實技術及其在虛擬校園中的應用研究[J].安徽農業科學,2013,41(7):3223-3224,3235.

[2] 任 ?鏷,王文劍,白雪飛. 基于虛擬現實技術的山西大學堂建筑復原[J].計算機仿真,2012,29(11):20-24.

[3] 黃志鋒,李 ?笑,秦輝明.基于OpenGl和SolidWorks的遙操作工程機器人建模與仿真[J].機機械設計與制造,2012(12):157-159.

[4] 王艷安,曾俊峰,安運華.長江大學校園虛擬漫游系統設計[J].湖北農業科學,2010,49(9):2237-2240.

[5] 蘭玉芳,付金霞,徐霞華,等.基于SketchUp與ArcGIS的校園3DGIS的設計與實現[J].遙感技術與應用,2013,28(2):346-351.

[6] 張瑞菊. SketchUp 結合Google Earth在虛擬校園中的應用[J].計算機應用,2013,33(S1):271-272,297.

[7] 柏 ?林,陳根浪,徐 ?靜. OpenGL編程精粹[M].北京:機械工業出版社,2010.1-2.

[8] 樊雅萍,黃生學,溫佩芝,等. 基于OpenGL的機器人虛擬漫游系統開發[J].系統仿真學報,2005,17(10):2426-2428,2441.

[9] 原發杰,路立偉,邱健壯.校園三維虛擬漫游系統的建設研究[J].山東農業大學學報(自然科學版),2011,42(4):586-590.

[10] 張青峰,吳發啟,周 ?淑,等.校園虛擬漫游設計初探[J].測繪科學,2005,30(6):124-126.endprint

猜你喜歡
校園建筑模型
一半模型
《北方建筑》征稿簡則
北方建筑(2021年6期)2021-12-31 03:03:54
重要模型『一線三等角』
關于建筑的非專業遐思
文苑(2020年10期)2020-11-07 03:15:36
建筑的“芯”
現代裝飾(2020年6期)2020-06-22 08:43:12
重尾非線性自回歸模型自加權M-估計的漸近分布
校園的早晨
琴童(2017年3期)2017-04-05 14:49:04
春滿校園
3D打印中的模型分割與打包
獨特而偉大的建筑
主站蜘蛛池模板: 热re99久久精品国99热| 色成人综合| 特级毛片免费视频| 精品欧美日韩国产日漫一区不卡| 中文字幕va| a网站在线观看| 国产欧美日韩在线在线不卡视频| 全午夜免费一级毛片| 国产成人精品高清不卡在线| h视频在线观看网站| 国产九九精品视频| 国产亚洲欧美在线人成aaaa| 日韩毛片在线播放| 国产在线91在线电影| 国产欧美另类| 亚洲人成影院午夜网站| 亚洲人成人无码www| 天堂网亚洲系列亚洲系列| 青青草国产精品久久久久| 国产日本视频91| 四虎永久免费在线| 99在线国产| 国产美女精品一区二区| 国产人在线成免费视频| 成年人福利视频| 日日拍夜夜嗷嗷叫国产| 欧美日韩国产精品va| 国产精品美女自慰喷水| 国产v精品成人免费视频71pao| 一级毛片在线播放免费| 国产精品爽爽va在线无码观看 | 中文字幕在线不卡视频| 欧美色综合网站| 精品色综合| 熟女视频91| 欧美色99| 九色在线观看视频| 在线看片国产| AV无码国产在线看岛国岛| 欧美色综合久久| 经典三级久久| 99这里只有精品在线| 一级爱做片免费观看久久 | aaa国产一级毛片| 99色亚洲国产精品11p| 成人精品亚洲| 亚洲一欧洲中文字幕在线| 国产在线八区| 一级福利视频| 国产国产人成免费视频77777| 人妻无码中文字幕一区二区三区| 精品91视频| 精品国产一区二区三区在线观看| 亚洲色图欧美视频| 国产原创演绎剧情有字幕的| 亚洲综合精品第一页| 国产精品视频a| 色AV色 综合网站| 五月天丁香婷婷综合久久| 国产人人干| 性色一区| 日韩毛片基地| 91小视频在线| 成色7777精品在线| 亚洲成aⅴ人在线观看| 国产精品九九视频| 国产91熟女高潮一区二区| 影音先锋亚洲无码| jizz在线免费播放| 久久不卡精品| 亚洲国产欧美国产综合久久| 日本一区二区三区精品AⅤ| 91麻豆国产视频| 欧美视频免费一区二区三区| 91福利在线看| 国内精品小视频福利网址| 色婷婷综合在线| 777国产精品永久免费观看| 亚洲欧美成人影院| 亚洲愉拍一区二区精品| 无码乱人伦一区二区亚洲一| 国产亚洲高清在线精品99|