新四季網

一種基於四叉包圍盒樹的柔性織物自碰撞檢測方法

2023-08-10 09:10:56

專利名稱:一種基於四叉包圍盒樹的柔性織物自碰撞檢測方法
技術領域:
本發明涉及一種基於四叉包圍盒樹的柔性織物自碰撞檢測方法,屬於柔性織物仿真碰撞 檢測技術領域。
背景技術:
碰撞處理包括碰撞檢測和碰撞響應兩部分。碰撞檢測的目標是發現碰撞並報告;碰撞響 應是在碰撞發生後,根據碰撞點及其它參數使發生碰撞的對象做出正確的動作,以反應真實 的動態效果。
現有的基於空間的碰撞檢測算法大致可劃分為兩大類空間分解法(Space Decomposition) 和層次包圍盒法(Hierarchical Bounding Volumes)。這兩類算法的主要思想都是為了減少 被測元素的數量,以提高算法效率。
空間分解法是將整個虛擬空間劃分成相等體積的小單元格,只對佔據同一單元格或相鄰 單元格的幾何對象進行相交測試。比較典型的方法有八叉樹和BSP樹。空間分解法對於一般 的環境很難選擇一個最優的空間分解尺寸,若選擇不當則會導致空間耗費大、計算效率低。
層次包圍盒法的核心思想是利用體積略大而幾何特性簡單的包圍盒將複雜幾何對象包裹 起來,在進行碰撞檢測時,首先進行包圍盒之間的相交測試,只有包圍盒相交時,才對其所 包裹的對象做進一步求交計算。在構造碰撞體的包圍盒時,通過引入樹狀層次結構可快速剔 除不發生碰撞的元素,減少大量不必要的相交測試,從而提高碰撞檢測效率。比較典型的包 圍盒類型有沿坐標軸的包圍盒AABB(Axis Aligned Bounding Boxes),包圍球(Spheres),方 向包圍盒00BB(Object Oriented Bounding Box)等。
在柔性織物形變動態模擬中,碰撞可以分成兩類 一類是織物與外界其他物體的碰撞,
如與桌子、地面、人體等的碰撞,稱為他碰撞;另一類是織物自身各部分之間的碰撞,稱為
自碰撞。這兩種碰撞有著不同的檢測和處理方法。本發明針對自碰撞問題。
織物在運動中,除了與周圍的物體發生碰撞外,其自身的各個部分也會發生碰撞(即自 碰撞)。為了保證模擬的真實感,需要及時檢測到這些碰撞並對其進行響應,否則會發生穿 透現象,破壞模擬的真實感。對織物進行碰撞檢測和響應處理是一項非常複雜而耗時的工作, 而在應用中對其實時性的要求卻很高。因此,如何設計具有真實感和實時性的碰撞檢測和響 應算法成為織物模擬的關鍵。 如圖1所示,碰撞檢測分為初步檢測和精確檢測兩個階段。初步檢測階段採用層次包圍盒技術和空間層次剖分技術來找到可能發生碰撞的基本幾何元素對(如三角面片對);精 確檢測階段則處理基本幾何元素對之間的精確求交檢測。 傳統碰撞檢測方法主要存在以下一些問題
(1) 採用二叉樹的形式建立層次包圍盒樹,並且葉子結點只包含一個基元,這種方法雖 容易理解和實現,但當葉子結點數量龐大時,會導致樹的高度增加很快,這一方面使得內存 的佔用量很大,另一方面降低了算法的效率。
(2) 傳統的方法在自底向上構建包圍盒樹的過程中未考慮幾何基元的空間位置關係,這 會在一定程度上導致層次包圍盒結構比較鬆散,從而影響碰撞檢測的效率。
針對以上問題,本發明提出了一種基於四叉包圍盒樹的柔性織物自碰撞檢測的方法,其 核心內容可以總結為對織物幾何基元建立四叉包圍盒樹,並採用基於四叉包圍盒樹的法向 量錐法、三角面片重心檢測法和平面同側過濾法分別在粗略檢測和精確求交階段過濾掉不可 能相交的三角面片,以此大大減少相交測試的計算量。

發明內容
本發明要解決的技術問題是克服現有技術的不足,提供一個適應柔性織物自碰撞檢測 的方法,減少相交測試的計算量,提高運算效率。
本發明採用的技術方案對織物幾何基元建立四叉包圍盒樹,基於四叉包圍盒樹,結合 法向量錐法、三角面片重心檢測法在粗略檢測階段過濾掉不可能相交的三角面片,然後,在 精確求交階段,採用平面同側過濾法減少精確求交的計算量。該方案實現的步驟,如圖2所 示
(1) 利用織物幾何基元的空間位置關係,構建結構緊密的四叉包圍盒樹;
(2) 基於四叉包圍盒樹,採用法向量錐法,排除掉不可能相交的三角面片對;
(3) 根據兩三角面片重心間的距離,過濾掉距離大於給定閾值的三角面片對;
(4) 基本幾何元素間的精確檢測,平面同側過濾法過濾掉不必要的線段平面求交。 本發明與現有技術相比的有益效果是-
系統效率得到了明顯提升,保證了仿真的實時性。在質點數量相同的情況下,相比二叉 樹而言,四叉樹的深度較小,因此碰撞檢測執行的遞歸次數也就明顯較少。而後通過三角面 片重心距離法等方法過濾掉更多未發生碰撞的碰撞對,從而大大減少了精確求交的計算量, 提高了運算效率。


圖1碰撞檢測算法框架圖2基於四叉樹包圍盒的柔性織物自碰撞檢測法步驟示意5—圖3織物四叉樹劃分示意圖4兩個子結點錐頂角合併示意圖; 圖5重心距離示意圖; 圖6平均幀率對比圖; 圖7重心距離參數作用效果圖。
具體實施例方式
下面結合附圖及具體實施方式
對本發明進一步詳細說明。
(1) 利用織物幾何基元的空間位置關係,構建結構緊密的四叉包圍盒樹;
第一步採用自上而下的方法遞歸建立四叉樹。用四叉樹描述層次包圍體結構,將織物 按照4x4分割, 一直分割到三角面片為止,即葉子結點為三角面片。織物劃分如圖3所示。 樹的根結點是包圍整個織物的包圍盒,葉結點是包圍織物的基本幾何元素(三角面片)的包圍 盒,中間結點則對應於各級子部分的包圍盒。
第二步在每一個時間步長內,需要更新四叉包圍盒樹每個結點的錐頂角和包圍盒信息, 採用後序遍歷四叉樹的方法進行更新。
(2) 基於四叉包圍盒樹,採用法向量錐法,排除掉不可能相交的三角面片對; 第一步遞歸計算四叉包圍盒樹各結點的圓錐的頂角a值。在遍歷求解過程中,將四個
孩子結點分為兩組,先分別求出各組中兩個子結點合併的《值,記為a,、 a2,再將a,、 a2 合併,從而得到四個孩子結點的父結點的cr值。
假設兩個子結點對應錐體軸線的夾角為/ 。則這兩個子結點合併的"值可由兩個子結點 的A、 "2以及/ 來確定(如圖4所示錯誤!未找到引用源。),公式為cr-》/2 + max(c^,a2)。
若某結點僅有一個子結點,則其a屬性等於其子結點的a值。二叉樹的每個葉結點僅包 含一個三角形元素,其"=0。
第二步檢測層次包圍盒四叉樹的某一結點,若此結點對應區域的圓錐頂角"<^/2,可
以斷定這塊區域沒有發生自碰撞,停止進一步檢測;但若"2;r/2,則這塊區域可能發生了 自碰撞。
(3) 根據兩三角面片重心間的距離,過濾掉距離大於給定閾值的三角面片對; 用兩個三角面片重心間的距離來標識兩個三角面片的距離,當該距離大於某閾值時,這
兩個三角面片不相交,否則才有可能相交。設兩個三角面片M^,C,、 A^i^C2為大小相等 的等腰直角三角形,直角邊長為L,重心間的距離為D。則當兩個三角面片發生碰撞時,其 重心的距離滿足式Ds主ViF。當D取1V F時(如圖5錯誤!未找到引用源。所示),兩個三角形共面,且兩個三角形的重心與相交的斜邊頂點位於同一直線上,此時是兩個三角形 相交且重心距離最遠的情況。
重心距離檢測法設定一個重心距離閾值,當兩三角面片的重心距離大於該閾值時,則 認為這兩個三角面片不相交,過濾掉該三角面片對,不對它們進行進一步的精確求交檢測。
在應用過程中,可根據系統的實時性需求調整重心距離閾值,以可接受的碰撞對遺漏率 換取期望的實時性。
(4)基本幾何元素間的精確檢測,平面同側過濾法過濾掉不必要的線段平面求交; 判斷質點在兩個時刻的位置是否位於三角面片的同側,如在同側則表明質點並未穿透面
片,因而不需要進行點面求交計算,從而達到優化目的。
判斷質點當前時刻與下一時刻位置是否位於三角面片同一側的方法如下
第一步由三角面片的法向(法向已知)及三角面片的一個頂點得到三角面片所在平面
的方程;
第二步將當前時刻與下一時刻的質點位置分別帶入方程的表達式得出值X; X=0,表示 點在平面上;X〉0表示點位於平面正側;X 〈O表示點位於平面負側。
由於平面方程ax+by+cz+d=0的表達式ax+by+cz+d為一次運算,計算複雜度低,故該方 法耗時較少。
四叉包圍盒樹法實驗本實驗將基於四叉包圍盒樹的碰撞檢測方法與傳統的基於二叉包 圍盒樹的方法進行對比。首先對兩種包圍盒樹中的包圍盒個數進行對比,數據如表l所示-表l包圍盒數量(個)
7i 17X17 255 1023 213853 —
由表1可看出,與二叉包圍盒樹相比,採用四叉包圍盒樹對織物進行劃分減少了包圍盒 的總個數,從而可減少系統的計算開銷。
下面對以上兩種方法的檢測效率進行實驗對比。創建一塊初始方向為水平的織物,固定 織物的中心質點,然後運行系統讓織物自然垂下。分別採集兩種方法在IO秒內檢測到的碰 撞對個數(見表2)和10秒內的平均幀率(見表3)。 表2檢測到的碰撞對個數(個)
質,、數目"~~i"^"i i7xi7
一二叉玩 3—048—8— — —504—1—54—' —895692— 四叉樹 21960 186565 352657
質n r四表3包圍盒樹法平均幀率5^比(FPS)
質點數目i5X5 "~~: 17X17
二叉樹 :65.09 56.82 16.65
四叉樹 i 68. 58 62. 20. 37. 64
由表2、表3可知,四叉包圍盒樹法比二叉包圍盒樹法獲得的需要精確求交的碰撞對數量 明顯減少,即四叉包圍盒樹法可過濾掉更多未發生碰撞的碰撞對,從而減少後面點面和邊邊 精確求交的次數。
從圖6可看出,質點數量越多,採用本發明方法對系統效率的提高就明顯。 三角面片重心距離檢測法實驗本實驗用以驗證三角面片重心距離檢測法的有效性。重
心距離參數取為最大邊長的1.1倍。創建一塊初始方向為水平的織物,固定織物的中心質點,
然後運行系統讓織物自然垂下。分別統計採用該方法前後檢測到10萬個碰撞對時系統運行 的平均幀率,見表41表4、表5。 表41檢測到的碰撞對(個)
,點數, ~~" 9X9 17X1
呆使用i心運禽檢須0, Tooooo 「To00—。 " iooocr
jflS—運—「83193 — —76025— "63606 —
表5平均幀率對比(FPS)
質點數目 5X5 ^
—未使用i—心距M檢測73. 46 71. —量:lS國運禽齒ii法— 一 —國一74:一90 一一 — 74: 36 : 56. 75
由表4、表5可知,採用重心距離檢測法後,當質點數越多時,過濾掉的碰撞對數也越多, 系統運行幀率得到較明顯的提升。
重心距離參數實驗驗證重心距離參數對三角面片重心距離檢測法效率的影響。
記三角面片最長邊邊長為L,分別取重心距離參數值為1.5L, 1.4L, 1.3L, 1. 2L, 1. 1L, L, 0.9L, 0. 8L, 0. 7L, 0. 6L, 0. 5L。
創建一塊質點數為17x17個、初始方向為水平的織物,固定織物的中心質點,然後運行 系統讓織物自然垂下。
統計不同重心距離參數值下,總碰撞對數達到IO萬個時系統的碰撞對過濾率和碰撞對遺 漏率(見表6)。
表6 碰撞對過濾率和碰撞對遺漏率
X j
7 i 9
1 ! 4
8碰撞對過濾率碰撞對遺漏率
19.92%3. 10%
21.10%3. 93%
22.79%5. 25%
25.93%7. 42%
29.59%9. 89%
36.39%12. 91%
—48.02%18.76%
55.97%25. 72%
64.02%32. 23%
70.38%39. 96%
81.10%49.21%
由表6和圖7可看出重心距離檢測的方法,可以在損失少量有效碰撞對的前提下,提高
系統運行效率;距離值參數與有效碰撞檢測丟失率的關係為距離值參數設置的越大,碰撞 對遺漏率就越大。我們可以根據系統的運行需求,靈活的調節距離參數,以達到在可接受的 碰撞對遺漏率的前提下提升系統運行幀率的目的。

5:4 CO 2 一
L L 一 L
1 o : 9 I
L L TIP L
8 ; 7 6 , 5
o: o: o o : o
權利要求
1、一種基於四叉包圍盒樹的柔性織物自碰撞檢測方法,其特徵在於通過以下步驟實現(1)利用織物幾何基元的空間位置關係,構建結構緊密的四叉包圍盒樹;(2)基於四叉包圍盒樹,採用法向量錐法,排除掉不可能相交的三角面片對;(3)根據兩三角面片重心間的距離,過濾掉距離大於給定閾值的三角面片對;(4)基本幾何元素間的精確檢測,平面同側過濾法過濾掉不必要的線段平面求交。
2、 根據權利要求l所述的基於四叉包圍盒樹的柔性織物自碰撞檢測方法,其特徵在於: 所述步驟(1)中的利用織物幾何基元的空間位置關係,構建結構緊密的四叉包圍盒樹方法 如下(1.1) 採用自上而下的方法遞歸建立四叉樹;將織物按照4x4分割, 一直分割到三角 面片為止,即葉子結點為三角面片;樹的根結點是包圍整個織物的包圍盒,葉結點是包圍織 物的基本幾何元素三角面片的包圍盒,中間結點則對應於各級子部分的包圍盒;(1.2) 每一個時間步長內,採用後序遍歷四叉樹的方法更新四叉包圍盒樹每個結點的 錐頂角和包圍盒信息。
3、 根據權利要求l所述的基於四叉包圍盒樹的柔性織物自碰撞檢測方法,其特徵在於 所述步驟(2)中的基於四叉包圍盒樹,採用法向量錐法,排除掉不可能相交的三角面片對, 方法如下(2.1) 遞歸計算四叉包圍盒樹各結點的圓錐的頂角"值;(2.2) 檢測四叉包圍盒樹各結點,若結點對應區域的圓錐頂角《<"/2,判斷這塊區域 沒有發生自碰撞,停止進一步檢測;若"2;r/2,判斷這塊區域有可能發生了自碰撞,需要 進一步檢測。
4、 根據權利要求l所述的基於四叉包圍盒樹的柔性織物自碰撞檢測方法,其特徵在於 所述步驟(3)中的根據兩三角面片重心間的距離,過濾掉距離大於給定閾值的三角面片對 方法如下(3.1) 計算三角面片的重心位置;(3.2) 計算兩三角面片的重心距離;(3.3) 當兩三角面片的重心距離大於設定的重心距離閾值時,則認為這兩個三角面片 不相交,過濾掉該三角面片對,不對它們進行進一步的精確求交檢測。
5、 根據權利要求l所述的基於四叉包圍盒樹的柔性織物自碰撞檢測方法,其特徵在於 所述步驟(4)中的基本幾何元素間的精確檢測,平面同側過濾法過濾掉不必要的線段平面求交,方法如下(4.1) 計算質點在前後兩個時刻的位置;(4.2) 判斷質點前後兩個時刻位置是否位於三角面片的同側,如在同側則表明質點並 未穿透面片,不需要進行點面求交計算。
全文摘要
一種基於四叉包圍盒樹的柔性織物自碰撞檢測方法,其特點在於對織物幾何基元建立四叉包圍盒樹,並採用基於四叉包圍盒樹的法向量錐法、三角面片重心檢測法和平面同側過濾法分別在粗略檢測和精確求交階段過濾掉不可能相交的三角面片,從而大大減少了相交測試的計算量。其步驟是(1)利用織物幾何基元的空間位置關係,構建結構緊密的四叉包圍盒樹;(2)基於四叉包圍盒樹,採用法向量錐法,排除掉不可能相交的三角面片對;(3)根據兩三角面片重心間的距離,過濾掉距離大於給定閾值的三角面片對;(4)基本幾何元素間的精確檢測,平面同側過濾法過濾掉不必要的線段平面求交。
文檔編號G06T17/00GK101593367SQ20091008790
公開日2009年12月2日 申請日期2009年6月25日 優先權日2009年6月25日
發明者兵 何, 柳 成, 王莉莉, 趙沁平, 郝愛民 申請人:北京航空航天大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀