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

基于空間剖分和分類遍歷的碰撞檢測算法

2016-12-23 11:18:48趙魯陽單聯(lián)海
電子設計工程 2016年24期
關(guān)鍵詞:深度

劉 昭,李 偉,趙魯陽,單聯(lián)海

(中國科學院上海微系統(tǒng)與信息技術(shù)研究所 上海200050)

基于空間剖分和分類遍歷的碰撞檢測算法

劉 昭,李 偉,趙魯陽,單聯(lián)海

(中國科學院上海微系統(tǒng)與信息技術(shù)研究所 上海200050)

針對碰撞檢測實時性與精確性不高的問題,提出一種基于空間剖分和分類遍歷的碰撞檢測算法。首先在空間剖分階段利用八叉樹空間剖分剔除不相交的物體對,在剖分子空間內(nèi)構(gòu)建混合層次包圍盒,利用分類遍歷的方法對層次包圍盒進行遍歷,有效減少了相交測試的次數(shù)。實驗表明,該算法有效縮短了碰撞檢測所需時間,在復雜環(huán)境下算法優(yōu)勢明顯。

碰撞檢測;空間剖分;混合層次包圍盒;分類遍歷

隨著計算機仿真技術(shù)的發(fā)展,以三維場景為基礎的虛擬現(xiàn)實技術(shù)和對自然環(huán)境的渲染技術(shù)已成為重要研究方向,可廣泛應用于城市規(guī)劃、軍事模擬、突發(fā)事件模擬等領(lǐng)域[1-2]。隨著三維模型復雜性的增加和人們對于場景真實感要求的提高,碰撞檢測的實時性與高效性成為當前研究熱點。

從空間角度對碰撞檢測算法進行分類,可以分為基于圖像空間的碰撞檢測算法和基于物體空間的碰撞檢測算法[4]。

基于圖像空間的碰撞檢測算法是利用三維模型在二維平面上的投影圖像和相關(guān)的深度信息判斷是否存在碰撞,這類算法主要是利用硬件輔助和模板緩存來加速碰撞檢測的過程,對計算機性能的要求比較高[3]。

基于物體空間的碰撞檢測算法是利用三維模型的幾何特性來判斷是否存在碰撞。這類算法又可分為空間剖分法和層次包圍盒法。空間剖分法是按照某種劃分規(guī)則將空間剖分成若干個子空間,對同一子空間內(nèi)的物體進行相交測試。常用的空間剖分算法分為3種:網(wǎng)格、樹以及空間排序算法[5]。層次包圍盒法是利用一個簡單的體空間實現(xiàn)對一個具有復雜形狀的物體的包圍,通過體空間的碰撞檢測代替物體的碰撞檢測。常用的層次包圍盒算法有包圍球(Sphere)、軸向包圍盒(Axis-Aligned Bounding Box AABB)、方向包圍盒(oriented bounding box,OBB)和固定方向凸包(Discrete Orientation Polytopes,k-Dops)等[6]。

國內(nèi)外學者已經(jīng)對碰撞檢測進行了較為深入的研究。Gottschalk等人提出了基于OBB包圍盒的碰撞檢測算法,稱為RAPID算法[7],有效提高了剛體間碰撞檢測速度。Govindaraju等人提出了一種基于圖形硬件加速的碰撞檢測算法[8],通過計算潛在碰撞集,實現(xiàn)了可形變物體間的快速碰撞檢測。S Katz等人將模糊聚類分割思想應用到空間剖分中,很好的避免了過分割和分割不完全的情況[9]。JW Chang等提出一種基于Sphere-OBB的混合包圍盒碰撞檢測算法[10],充分利用了Sphere包圍盒構(gòu)造簡單和OBB包圍盒檢測精確的特性。

隨著碰撞檢測精確性和實時性要求的提高,單一的空間剖分法或者層次包圍盒法難以滿足要求,文中提出了二者結(jié)合的快速碰撞檢測算法,算法優(yōu)勢如下:

1)使用八叉樹空間劃分來快速排除不相交的物體,使碰撞檢測集中到每一個子空間中;

2)對占用同一子空間的物體進行碰撞檢測時,構(gòu)造Sphere-OBB混合層次包圍盒;

3)對混合層次包圍盒采用基于分類的深度優(yōu)先遍歷算法,提高遍歷速度。

1 算法描述

1.1 空間剖分

空間剖分法提供了粗略的碰撞檢測方案:將檢測空間劃分為多個區(qū)域,并在同一空間內(nèi)測試物體是否相交,降低了相交測試的次數(shù)。文中選用八叉樹作為空間剖分樹。

八叉樹空間剖分[11]是基于樹型結(jié)構(gòu)的空間劃分方法,在三維空間的層次結(jié)構(gòu)劃分中效果良好。樹的每一個父節(jié)點包括8個子節(jié)點,而且每一個子節(jié)點代表一個子空間,其根節(jié)點是包含全部物體的最小立方體,將這一立方體沿3個坐標軸均勻分割得到8個子空間節(jié)點。

如果剖分后的子空間內(nèi)物體數(shù)量仍然較多,則再次對子空間進行八叉樹劃分,直到子空間內(nèi)的物體數(shù)量滿足要求為止。

1.2 混合層次包圍盒

混合層次包圍盒選取的依據(jù)是平衡碰撞檢測的實時性和精確性。對于包圍盒優(yōu)劣的評價一般從相交測試復雜度、緊密性以及更新計算量3個方面入手[12],幾種經(jīng)典的包圍盒的比較結(jié)果如表1所示。

表1 幾種包圍盒特性比較

Gottschalk提出了層次包圍盒性能的計算公式[7],如下所示:

在上述公式中,可以通過構(gòu)造更緊湊的包圍盒來降低NV和NP的值,通過實現(xiàn)快速檢測降低CV和CP的值。但是這兩組值之間存在一個矛盾關(guān)系,當包圍盒更加緊湊時,相交測試代價會越大,但是會降低相交測試的數(shù)量,所以需要在兩者之間實現(xiàn)一個平衡。

因此選取Sphere和OBB包圍盒來構(gòu)建混合層次包圍盒,利用Sphere包圍盒更新簡單以及相交測試復雜度低的優(yōu)勢進行初步碰撞檢測,利用OBB包圍盒緊密性好的優(yōu)勢進行精確的碰撞檢測[13],整體按照自頂向下[14]的方式構(gòu)造混合層次包圍盒。

1.3 層次包圍盒的遍歷

傳統(tǒng)的碰撞檢測包圍盒樹遍歷方法有單一下降深度優(yōu)先遍歷法和同步下降深度優(yōu)先遍歷法。單一下降深度優(yōu)先遍歷法是先將一棵樹遍歷到葉子節(jié)點,再對另一棵樹進行遍歷;同步下降深度優(yōu)先遍歷法是同時對兩棵樹進行遍歷,直至下降到葉子節(jié)點。研究表明,對兩棵包含n個葉子節(jié)點的層次包圍盒樹A和B進行碰撞檢測,如果采用單一下降深度優(yōu)先遍歷法,最多需要執(zhí)行22n-1-1次相交測試;如果采用同步下降深度優(yōu)先遍歷法,最多需要執(zhí)行(22n-1)3次相交測試[15]。單一下降深度優(yōu)先遍歷的劣勢在于它不能發(fā)揮二叉樹結(jié)構(gòu)的優(yōu)勢;同步下降深度優(yōu)先遍歷的劣勢在于當待遍歷物體對的結(jié)構(gòu)差異較大時,不能有效縮減搜索空間。

基于以上分析,文中提出一種基于分類的層次包圍盒遍歷方法:對于結(jié)構(gòu)相似的待檢測物體對,采用同步下降深度優(yōu)先遍歷法;對于結(jié)構(gòu)不相似的待檢測物體對,提出一種改進單一下降深度優(yōu)先遍歷法。我們通常用二叉樹節(jié)點的左右子樹的深度差表示該節(jié)點的平衡因子。通過定義兩個層次包圍盒樹對應節(jié)點的平衡因子差值的絕對值來判斷結(jié)構(gòu)相似性,定義分類公式:

其中BAi表示樹A中節(jié)點i的平衡因子;BBi表示樹B中與A中節(jié)點i相同位置節(jié)點的平衡因子;Di表示節(jié)點i的平衡因子差值。當Di都不大于1時表示兩個樹結(jié)構(gòu)相似,否則就不相似。

圖1 a、b、c三棵樹結(jié)構(gòu)

圖2 平衡因子差樹

如圖1表示3個樹結(jié)構(gòu)a、b、c各個結(jié)點的平衡因子,圖2表示樹結(jié)構(gòu)a、b、c兩兩之間的平衡因子差樹,從圖2中可以看出a樹和b樹結(jié)構(gòu)不相似,a樹和c樹結(jié)構(gòu)不相似,b樹和c樹結(jié)構(gòu)相似。樹a的平衡性和樹b、樹c都不相同,說明樹a存在細節(jié)較為精細的部分需要額外處理。

對于改進單一下降深度優(yōu)先遍歷過程,首先選擇額外細節(jié)較多的樹a進行遍歷,當下降到樹a的結(jié)點的平衡因子差值大于1時,轉(zhuǎn)而對樹b進行遍歷,如果樹b中出現(xiàn)平衡因子差值大于1時,再轉(zhuǎn)回對樹a進行遍歷,如此循環(huán),直到完成碰撞檢測。

2 實驗結(jié)果及分析

本實驗程序運行的硬件環(huán)境是Windows 7系統(tǒng),CPU 2.4 GHz的PC機,軟件環(huán)境是Visual Studio 2010和OpenGL開發(fā)。實驗場景分為兩種,一種是模擬場景,另一個是軟件應用場景。

實驗場景1在Visual Studio2010中利用OpenGL搭建模擬場景,場景中有多個大小形狀各不相同的物體在隨機移動,為了驗證算法性能,將本文算法和經(jīng)典的I-COLLIDE算法進行對比,比較不同物體密度的情況下碰撞檢測時間的變化情況,結(jié)果如圖3所示。

圖3 物體數(shù)量與碰撞檢測時間關(guān)系

從圖3看出,空間中物體數(shù)量越多,本算法的優(yōu)勢越明顯,這說明本文算法的空間剖分直接減少了不相交物體的檢測次數(shù),再通過Sphere包圍盒初步篩選,在OBB包圍盒的碰撞檢測階段通過分類遍歷的方法進一步加快了檢測速度,從而有效改善了碰撞檢測效率。

實驗場景2在Visual Studio 2010中,基于虛幻引擎搭建一個消防演練場景,將本文提出的碰撞檢測算法應用到水流和火焰的碰撞檢測中,測試場景運行的流暢性。在實時系統(tǒng)中畫面最低的流暢度要求是30幀/秒的刷新頻率。文中分別在單個消防員單個著火點、多個消防員多個著火點以及多個消防員單個著火點的情況下測試幀數(shù)變化,場景環(huán)境如圖4所示。

圖4 消防滅火場景

在上述3種消防救援場景中,分別對3個場景下的幀數(shù)變化進行統(tǒng)計,以10秒為一個時間間隔,統(tǒng)計10秒幀數(shù)的平均值作為當前幀數(shù),統(tǒng)計結(jié)果如圖5所示。

圖5 復雜場景下幀數(shù)隨時間變化情況

從圖5中可以看出幀數(shù)隨著運行時間的增加和碰撞檢測復雜度的增加并沒有顯著的降低,都能滿足實時性的要求。

3 結(jié) 論

針對碰撞檢測的實時性和精確性不足的問題,文中提出一種基于空間剖分和分類遍歷的混合層次包圍盒碰撞檢測算法。文中首先對物體空間進行八叉樹剖分,在子空間內(nèi)構(gòu)建Sphere-OBB混合層次包圍盒進行碰撞檢測,減少了不相交物體的檢測,在碰撞檢測的初級階段,利用Sphere包圍盒進一步篩選不相交物體對,再進行OBB包圍盒的精確碰撞檢測,在OBB包圍盒的碰撞檢測中采用分類遍歷法進行快速碰撞檢測,這種方法在保證精確性的情況下提高了碰撞檢測的實時性。

碰撞檢測算法在虛擬裝配系統(tǒng)仿真中發(fā)揮著重要作用,為了實現(xiàn)用戶和系統(tǒng)的友好交互,需要快速給出碰撞物體的位置信息,對碰撞檢測提出了更高的要求,而本算法有效提高了碰撞檢測的實時性和精確性,為虛擬裝配系統(tǒng)的應用研究提供了一個行之有效的解決方案。

[1]趙沁平.虛擬現(xiàn)實綜述[J].中國科學,2009(39):2-46.

[2]Burdea G,Coiffet P.Virtual Reality Technology[J].Presence Teleoperators&Virtual Environments,2003,12(6):663-664.

[3]卞鋒,江漫清,桑永英.虛擬現(xiàn)實及其應用進展[J].計算機仿真,2007,24(6):1-4.

[4]陳承收.基于云模型與GPU緩存技術(shù)的快速碰撞檢測算法研究[D].長春工業(yè)大學,2011.

[5]Ericson C.實時碰撞檢測算法技術(shù)[M].劉天慧譯.北京:清華大學出版社,2010.

[6]姜曉路,劉淵.一種新的基于混合層次包圍盒的碰撞檢測算法[J].計算機工程與應用,2012,48(6):143-145.

[7]Gottschalk S,Lin M C,Manocha D.OBB-Tree:a Hierarchical structure for rapid interference detection[C]// Proceedings of Computer Graphics Conference.New York:ACM,1996:171-180.

[8]Govindaraju N K,Redon S,Lin M C,et al.Cullide: Interactive Collision Detection Between Complex Models In Large Environments Using Graphics Hardware [J]. Proceedingsofthe Siggraph/eurographicsWorkshop on Graphics Hardware,2003:25-32.

[9]Katz S,Tal A.Hierarchical mesh decomposition using fuzzy clustering and cuts[M]//ACM Transactions on Graphics(TOG).ACM,2003:954-961.

[10]Chang J W,Wang W,Kim M S.Efficient collision detection using a dual OBB-sphere bounding volume hierarchy[J].Computer-Aided Design,2010,42(1):50-57.

[11]王文璽,肖世德,孟文,等.一種基于八叉樹空間剖分技術(shù)的光線跟蹤算法[J].計算機應用,2008,28(3):656-658.

[12]鄒益勝,丁國富,許明恒,等.實時碰撞檢測算法綜述[J].計算機應用研究,2008(1):8-12.

[13]王鵬,劉旭敏,關(guān)永.基于OBB層次包圍盒的碰撞檢測算法改進[J].計算機工程與設計,2009,30(13):3196-3198.

[14]譚同德,吳強,趙紅領(lǐng),等.OBB層次包圍盒構(gòu)造方法的改進[J].計算機工程與應用,2008,44(5):79-81.

[15]孫勁光,吳素紅.基于分類遍歷的碰撞檢測優(yōu)化算法[J].計算機應用,2015,35(1):194-197.

Collision detection algorithm based on space subdivision and classified traversal

LIU Zhao,LI Wei,ZHAO Lu-yang,SHAN Lian-hai
(Chinese Academy of Science Shanghai Institute of Microsystem and Information Technology,Shanghai 200050,China)

In order to solve the shortcoming of real-time and accuracy in collision detection,a novel collision detection algorithm based on space subdivision and classified traversal was proposed.In the space subdivision stage,the octree division was used to get rid of object pairs without intersecting.Then Create hybrid bounding box in the subspace and use classified traversal method to traverse them,aim to reduce the times of intersect tests efficiently.Experimental analyses show that this algorithm can reduce the time cost of collision detection,especially in complex situation.

collision detection;space subdivision;hybrid bounding box;classified traversal

TN919.82

A

1674-6236(2016)24-0151-03

2015-12-09 稿件編號:201512100

上海市青年科技啟明星計劃(14QB1404400)

劉 昭(1990—),男,河北廊坊人,碩士研究生。研究方向:計算機仿真、數(shù)字信號處理。

猜你喜歡
深度
深度理解不等關(guān)系
四增四減 深度推進
深度理解一元一次方程
深度觀察
深度觀察
深度觀察
深度觀察
芻議深度報道的深度與“文”度
新聞傳播(2016年10期)2016-09-26 12:14:59
提升深度報道量與質(zhì)
新聞傳播(2015年10期)2015-07-18 11:05:40
微小提議 深度思考
主站蜘蛛池模板: 2022国产91精品久久久久久| 国产成人乱码一区二区三区在线| 国产午夜看片| 中文字幕天无码久久精品视频免费| 国产成人高清亚洲一区久久| 亚洲Av激情网五月天| 成人久久精品一区二区三区| 国产理论精品| 亚洲精品午夜天堂网页| 亚洲有无码中文网| 经典三级久久| 国产夜色视频| 国产成人福利在线| 色偷偷综合网| 欧美区一区| 国产人人射| 国产成人精品一区二区| 国产啪在线| 四虎永久在线| 尤物在线观看乱码| 狠狠亚洲五月天| 亚洲无码熟妇人妻AV在线| 最新亚洲av女人的天堂| 久久国产乱子| 久久天天躁狠狠躁夜夜躁| 日本高清免费不卡视频| 在线欧美a| 亚洲天堂精品视频| 欧美爱爱网| 亚洲综合九九| 91色爱欧美精品www| 日韩高清在线观看不卡一区二区| 乱人伦中文视频在线观看免费| 精品少妇人妻一区二区| 午夜老司机永久免费看片| 色一情一乱一伦一区二区三区小说| 一级香蕉视频在线观看| 成人小视频在线观看免费| 香蕉久久国产精品免| 99re热精品视频中文字幕不卡| 欧美色图久久| 欧美一区二区三区国产精品| 国产美女无遮挡免费视频| 91亚洲视频下载| 久久亚洲欧美综合| 日本一区二区三区精品国产| 视频一区视频二区中文精品| 久久毛片免费基地| 国产XXXX做受性欧美88| 国产激情无码一区二区APP| 国产欧美视频综合二区| 国产成人精彩在线视频50| 精品国产一区91在线| 欧美午夜一区| 免费一级毛片在线观看| 国产在线欧美| 午夜精品福利影院| 91网在线| 色老头综合网| 国产高清无码第一十页在线观看| 亚洲AV无码精品无码久久蜜桃| 99久久精品国产麻豆婷婷| 97在线观看视频免费| 人人91人人澡人人妻人人爽| 国产成人区在线观看视频| 永久成人无码激情视频免费| 黄色网址免费在线| 日韩精品无码免费一区二区三区| 日韩一区二区三免费高清| 99精品伊人久久久大香线蕉| 久久这里只有精品23| 日韩精品一区二区深田咏美 | 国产不卡一级毛片视频| 成年人国产网站| 亚洲高清免费在线观看| 亚洲国产天堂久久综合| 国内精品免费| 精品久久高清| 久久婷婷五月综合色一区二区| 日本精品视频| 欧美一区二区三区国产精品| 国产精品自拍露脸视频|