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

基于OSG的校區漫游系統設計與實現

2017-09-12 08:55:40張慧
山東工業技術 2017年18期
關鍵詞:模型系統

摘 要:虛擬現實(Virtual Reality)技術是近年來一項十分活躍的研究與應用技術。它的應用領域十分廣泛,主要在工程設計CAD、遙控機器人學、數據可視化、飛行模擬、多媒體遠程教育、臨床外科、遠程醫療、藝術創作、游戲、娛樂等方面。虛擬現實技術給現代生活帶來了很大的幫助,運用虛擬現實技術構造的虛擬世界可以模擬現實環境,以便幫助用戶方便地研究現實中各種問題,從而大大降低研究成本。

關鍵詞:虛擬現實;三維建模;OpenSceneGraph;路徑漫游

DOI:10.16640/j.cnki.37-1222/t.2017.18.242

1 引言

本文以某校區實際的校園環境作為原型,設計完成了某校區的漫游系統,并完成了最后的功能測試。首先構造可漫游的虛擬場景是虛擬現實中最基本的一個環節,本文從構造虛擬場景的一般步驟出發,闡述了三維建模的技術與方法并在平臺上加以實現;后用基于三維渲染引擎OpenSceneGraph場景圖進一步的開發,運用Visual Studio C++和OSG混合編程,實現了系統的漫游功能。

2 三維建模技術

3DS MAX是專業的三維建模軟件,是建模,渲染及動畫制作的集成軟件包。windows操作系統和Pentium處理器的強大功能與靈活性,使它在pc機上實現了工作站的性能和特征[1]。它具有高擴展性、豐富的功能和面向對象的結構,并且它支持多處理器系統和硬件加速等。

3DS MAX最基本的功能是三維模型幾何體的建立, 3DSMAX的強大功能還包括它提供的材質編輯器。同時3DSMAX還提供了攝像機,各種燈光,陰影,植被等輔助對象。在本場景中,利用3DSMAX的基礎建模工具,建立基本模型框架,然后對模型進行紋理映射,得到一些基本的建筑模型。

虛擬校區的構建先是要獲取建筑物的所有數據,獲取數據后要初步處理所采集的數據。除去多余的數據,把紋理圖片進行PS處理,同時保持原有數據的精度,統一紋理圖片格式,把數據進行整理分類等,最后整合按照統一的格式存入數據庫,利用這些數據就可以構建某校區虛擬樓群建筑模型以及地形模型。在本文里虛擬校園的三維模型構建流程如圖1所示:

本文依據獲取的某校區平面規劃圖,確定好模型的重要程度和位置次序,依次在相應的位置建模。在這個三維場景中所有物體尺寸與模型尺寸比例是1:1,主要步驟有[2]:

(1)通過采集到的建筑圖紙,包括剖面圖、立面圖、建筑效果圖及平面圖獲取建筑物的建模數據。(2)最終確定建筑物模型的結構。對于大多數房屋來說可以建立基本的幾何體模型,然后給這些幾何體添加材質屬性,對于一些較復雜的建筑物采用高級建模方法多邊形建模技術。(3)開始建模。按照前兩個步驟所確定的方案,根據模型自有的尺寸大小開始建立模型。建模的原則是要快和省。盡量對模型外部能看到的部分建模,那些在里面不需要用到的面可以刪掉或者不建模,原則上盡量用少的面表示建筑物模型,對于能合并的面盡量合并。

建筑物的實體部分采用幾何體建模,設置多個長方體、柱體等建立樓房的實體部分,然后通過不斷調整整合設置,使之符合設計的要求。另外校園里多數的屋頂都是斜坡狀,是不規則的形狀,對屋頂的建模采用多邊形建模,先建立一個長方體,然后轉換為可編輯多邊形進行擠出調整得到房屋的屋頂。

盡管在建模時盡量不建立多余的多邊形,但是建模過程中難免會產生多余的面,最后一步就是要去除多余的多邊形,樓房的底座和樓層之間的連接面都要去除,這樣可以降低場景復雜度,在以后的渲染中也會節省不少時間。

某校區的整體模型如圖2:

在紋理映射部分,需要對已經采集到的數據進行整理分類,并通過軟件處理,獲取符合要求的紋理圖片,對模型對象進行紋理映射,設置好UV,指定貼圖通道,為每個建筑物加上紋理圖片。

3 基于OpenSceneGraph三維引擎的場景漫游實現

OSG場景圖結構封裝并提供了數量眾多的提升程序運行時性能的算法、及幾乎所有主流數據格式的直接數據接口,使用眾多編程語言進行圖形系統的開發。在此基礎上,結合微軟提供的MFC類庫,利用VC++ 2005編程實現了系統的漫游功能,碰撞檢測,自然天氣模擬和當前對象的查詢功能。

將做好的模型導入OSG中,取.ive格式,給路徑場景模型命名lujing.ive。在OSG中,可以通過對攝像機運動的控制,實現漫游,攝像機通過變換它的矩陣來實現運動[3]。MatrixManipulator類是OSG中操作視點的接口方法,它包含向量_homeEye、_homeCenter和_homeUp三個向量成員,分別定義了視點即觀察者的位置、攝像機瞄準的參考點及攝像機的朝向和攝像機的向上向量。用戶只需要改變這三個變量就可以實現對視點的控制來實現漫游功能。對于用戶來說,在實現漫游時,先定義一臺攝像機,每次渲染場景前重新設置相機的狀態,只需要不斷變換外部設備的狀態如位置改變即可[4]。

在OSG中進行場景漫游時可以通過五個虛函數來實現自己的攝像機,它們主要存在于osgGA::MatrixManipulator類中[5]。

osgGA::MatrixManipulator中的一些操作漫游器漫游會經常用到,比如下面辨別方向的設置:

virtual void setCoordinateFrameCallback(CoordinateFrameCallback*cb);這個語句常用來判斷坐標系的更新。

Osg:: CoodinateFrame getCoordinateFrame(const osg::Ve3d&position)const;這個語句取得坐標系。

還有設置向量矩陣或者逆矩陣:endprint

Virtual void setByMatrix(const osg:: Matrixd&matrix)=0;

Virtual osg::Matrixd getMatrix()const=0;

測試結果如下圖3:

Virtual void setByInverseMatrix(const osg:: Matrixd&matrix)=0;

Virtual osg::Matrixd getInverseMatrix()const=0;

根據某校區虛擬場景操作器需求,編寫了My TravelManipulator場景漫游操作器。通過設置矩陣控制Viewer場景管理器,用addCameraManipulator()方法把場景相機加入漫游場景中,使用外部設備控制行走的方向,按下W攝像機往上走,按下S攝像機往下走,按下A攝像機往左走,按下D攝像機往右走。

4 碰撞檢測

本文的漫游系統中,大多數是靜態的物體:建筑樓群和樹木花草類,因此在這個系統中采用“射線/體”相交的碰撞檢測算法[6][7]。OSG中由osgUtil提供進行碰撞檢測的核心函數接口。其中,osgUtil::Hits主要用來進行相交測試,返回交點坐標。osg::LineSegments定義一條用于相交測試的線段或射線,起點和終點都包括任何與線段的交叉都在這里。osgUtil::InterseetVisitor類給相交測試提供初始化設置,訪問場景的每個節點,創建一個列表HitList類的實例。osgUtil::IntersectVisitor::HitList用于返回物體碰撞之后的列表信息,在進行相交測試時,先是創建一條代表視線的線段,再創建一個交叉訪問的實例IntersectVisitor,最后讓創建好的線段在場景中遍歷場景層次,與場景對象進行相交測試。

經過碰撞檢測發現碰撞結果符合本系統的需求。

5 結束語

由此完成了整個校區漫游系統的設計,經過以上測試充分說明這個校區漫游系統實現了所需要的功能如漫游瀏覽場景的實現,在系統中添加了碰撞檢測功能,使系統運行更加逼真,操作更加完善。

參考文獻:

[1]張凱,徐桂生,龍懷冰等.3DSMAx6三維與動畫設計[M].北京:清華大學出版社,2004:2-6.

[2]方麗.虛擬校園的研究與實現[D].碩士學位論文.西安科技大學,2007(19).

[3]肖鵬,劉更代,徐明亮.OpenSceneGraph三維渲染引擎編程指南[M].北京:清華大學出版社,2010:265.

[4]溫轉萍,申閆春.基于OSG的虛擬校園漫游系統的設計與實現[J] .計算機技術與發展,2009,19(01):218-219.

[5]劉少華,張茂軍,張恒.大規模三維地形場景實施漫游系統的構建[J].計算機仿真,2005,22(06):178-182.

[6]范昭煒.實時碰撞檢測技術研究[D].博士學位論文.浙江大學,2003(20).

[7]高麗娜,馬堯海.虛擬漫游中的碰撞檢測問題的解決方法[J].計算機仿真,2006,23(02):189-191.

作者簡介:張慧(1980-),女,河南登封人,工程碩士。endprint

猜你喜歡
模型系統
一半模型
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
3D打印中的模型分割與打包
主站蜘蛛池模板: 99视频有精品视频免费观看| 欧美精品亚洲日韩a| 国产精品区视频中文字幕| 欧美不卡视频一区发布| 亚洲成aⅴ人在线观看| 啊嗯不日本网站| 中文字幕在线观| 日本在线免费网站| 国产日产欧美精品| 国产成人无码AV在线播放动漫| 国产黄视频网站| 97色伦色在线综合视频| 亚洲女人在线| 国产成人午夜福利免费无码r| 极品国产在线| 日本午夜精品一本在线观看| 成人国产精品网站在线看| 青青操视频在线| 国产96在线 | 亚洲经典在线中文字幕| 秋霞午夜国产精品成人片| 手机在线国产精品| 一区二区三区成人| 亚洲第一天堂无码专区| AV熟女乱| 99免费在线观看视频| 亚洲第一网站男人都懂| 无码精品国产VA在线观看DVD| 久久精品无码中文字幕| 最新加勒比隔壁人妻| 亚洲视频无码| 精品色综合| 国产成本人片免费a∨短片| 伊大人香蕉久久网欧美| 成人在线观看不卡| 国产浮力第一页永久地址| 老熟妇喷水一区二区三区| 国产JIZzJIzz视频全部免费| 免费国产小视频在线观看| 波多野结衣无码视频在线观看| 日韩免费中文字幕| 色偷偷男人的天堂亚洲av| 国产精品自在线拍国产电影| 亚洲第一黄片大全| 午夜福利免费视频| 欧美日韩国产高清一区二区三区| 国产精品美人久久久久久AV| 欧美日韩激情在线| 久久一日本道色综合久久| 91久久夜色精品国产网站| 午夜福利无码一区二区| 亚洲人成网站日本片| 欧洲亚洲欧美国产日本高清| 色天堂无毒不卡| 亚洲一级毛片在线播放| 日韩a级毛片| 国产大片喷水在线在线视频| 国产中文一区二区苍井空| 欧美一区二区福利视频| 欧美福利在线观看| 国产三级韩国三级理| 19国产精品麻豆免费观看| 在线观看亚洲国产| 国产精品开放后亚洲| 青青青国产视频手机| 在线观看国产小视频| 成年A级毛片| 久久毛片免费基地| 亚洲欧洲日韩综合| 国产精品区视频中文字幕| 97视频免费在线观看| 久久精品女人天堂aaa| 无码中文字幕精品推荐| 成色7777精品在线| 亚洲精品久综合蜜| 亚洲人成网站在线观看播放不卡| 日本欧美视频在线观看| 亚洲成人精品久久| 精品国产污污免费网站| 国模沟沟一区二区三区| 最新国产高清在线| 国产午夜一级淫片|