亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于OSG的校區(qū)漫游系統(tǒng)設(shè)計與實現(xiàn)

        2017-09-12 08:55:40張慧
        山東工業(yè)技術(shù) 2017年18期
        關(guān)鍵詞:碰撞檢測漫游校區(qū)

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

        關(guān)鍵詞:虛擬現(xiàn)實;三維建模;OpenSceneGraph;路徑漫游

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

        1 引言

        本文以某校區(qū)實際的校園環(huán)境作為原型,設(shè)計完成了某校區(qū)的漫游系統(tǒng),并完成了最后的功能測試。首先構(gòu)造可漫游的虛擬場景是虛擬現(xiàn)實中最基本的一個環(huán)節(jié),本文從構(gòu)造虛擬場景的一般步驟出發(fā),闡述了三維建模的技術(shù)與方法并在平臺上加以實現(xiàn);后用基于三維渲染引擎OpenSceneGraph場景圖進(jìn)一步的開發(fā),運(yùn)用Visual Studio C++和OSG混合編程,實現(xiàn)了系統(tǒng)的漫游功能。

        2 三維建模技術(shù)

        3DS MAX是專業(yè)的三維建模軟件,是建模,渲染及動畫制作的集成軟件包。windows操作系統(tǒng)和Pentium處理器的強(qiáng)大功能與靈活性,使它在pc機(jī)上實現(xiàn)了工作站的性能和特征[1]。它具有高擴(kuò)展性、豐富的功能和面向?qū)ο蟮慕Y(jié)構(gòu),并且它支持多處理器系統(tǒng)和硬件加速等。

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

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

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

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

        建筑物的實體部分采用幾何體建模,設(shè)置多個長方體、柱體等建立樓房的實體部分,然后通過不斷調(diào)整整合設(shè)置,使之符合設(shè)計的要求。另外校園里多數(shù)的屋頂都是斜坡狀,是不規(guī)則的形狀,對屋頂?shù)慕2捎枚噙呅谓#冉⒁粋€長方體,然后轉(zhuǎn)換為可編輯多邊形進(jìn)行擠出調(diào)整得到房屋的屋頂。

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

        某校區(qū)的整體模型如圖2:

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

        3 基于OpenSceneGraph三維引擎的場景漫游實現(xiàn)

        OSG場景圖結(jié)構(gòu)封裝并提供了數(shù)量眾多的提升程序運(yùn)行時性能的算法、及幾乎所有主流數(shù)據(jù)格式的直接數(shù)據(jù)接口,使用眾多編程語言進(jìn)行圖形系統(tǒng)的開發(fā)。在此基礎(chǔ)上,結(jié)合微軟提供的MFC類庫,利用VC++ 2005編程實現(xiàn)了系統(tǒng)的漫游功能,碰撞檢測,自然天氣模擬和當(dāng)前對象的查詢功能。

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

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

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

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

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

        還有設(shè)置向量矩陣或者逆矩陣:endprint

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

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

        測試結(jié)果如下圖3:

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

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

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

        4 碰撞檢測

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

        經(jīng)過碰撞檢測發(fā)現(xiàn)碰撞結(jié)果符合本系統(tǒng)的需求。

        5 結(jié)束語

        由此完成了整個校區(qū)漫游系統(tǒng)的設(shè)計,經(jīng)過以上測試充分說明這個校區(qū)漫游系統(tǒng)實現(xiàn)了所需要的功能如漫游瀏覽場景的實現(xiàn),在系統(tǒng)中添加了碰撞檢測功能,使系統(tǒng)運(yùn)行更加逼真,操作更加完善。

        參考文獻(xiàn):

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

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

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

        [4]溫轉(zhuǎn)萍,申閆春.基于OSG的虛擬校園漫游系統(tǒng)的設(shè)計與實現(xiàn)[J] .計算機(jī)技術(shù)與發(fā)展,2009,19(01):218-219.

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

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

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

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

        猜你喜歡
        碰撞檢測漫游校區(qū)
        全新預(yù)測碰撞檢測系統(tǒng)
        成都醫(yī)學(xué)院新都校區(qū)南大門
        成都醫(yī)學(xué)院新都校區(qū)一角
        基于BIM的鐵路信號室外設(shè)備布置與碰撞檢測方法
        山東大學(xué)青島校區(qū)
        文苑(2018年23期)2018-12-14 01:06:04
        霹靂漫游堂
        Unity3D中碰撞檢測問題的研究
        電子測試(2018年1期)2018-04-18 11:53:00
        我校臨安校區(qū)簡介
        NASA漫游記
        BIM技術(shù)下的某辦公樓項目管線碰撞檢測
        国产精品福利片免费看| 国产情侣一区二区三区| 国产一区二区三区四区三区| 国产成人a人亚洲精品无码| 国产精品无套内射迪丽热巴| 加勒比黑人在线| 男女男生精精品视频网站| 日本一区二区三区区视频| 亚洲成av人片乱码色午夜| 粉嫩虎白女毛片人体| 精品无码AⅤ片| 亚洲粉嫩av一区二区黑人| 国产美女高潮流白浆视频| www国产亚洲精品| 日本精品αv中文字幕| 久草午夜视频| 日韩在线中文字幕一区二区三区| 久久亚洲免费精品视频| 亚洲成av人片乱码色午夜| 极品美女aⅴ在线观看| 国产aⅴ天堂亚洲国产av| 亚洲av一二三四又爽又色又色| 国产精品熟女一区二区三区 | 国产女人高潮叫床视频| 精品高潮呻吟99av无码视频| 亚洲av噜噜狠狠蜜桃| 美腿丝袜日韩在线观看| 久久久久人妻一区二区三区| 久久精品国产第一区二区三区| 亚洲色图综合免费视频 | 国产视频一区二区三区久久亚洲| 久久精品免费中文字幕| 岳好紧好湿夹太紧了好爽矜持| 老熟女多次高潮露脸视频| 日韩少妇人妻一区二区| 玖玖资源站亚洲最大的网站| 无码爆乳护士让我爽| 国产70老熟女重口小伙子| 无码丰满熟妇浪潮一区二区av| 成人大片在线观看视频| 无码人妻精品一区二区三区东京热|