两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種基于數(shù)據(jù)分塊及并行處理的碰撞檢測方法

文檔序號:10725201閱讀:367來源:國知局
一種基于數(shù)據(jù)分塊及并行處理的碰撞檢測方法
【專利摘要】本發(fā)明公開了一種基于數(shù)據(jù)分塊及并行處理的碰撞檢測方法,通過構(gòu)建虛擬物體的包圍盒樹,以各節(jié)點(diǎn)的包圍盒為數(shù)據(jù)庫,根據(jù)計算機(jī)流程數(shù)將數(shù)據(jù)庫進(jìn)行分塊;通過數(shù)據(jù)分塊,可以有效減少每個處理器處理的任務(wù)數(shù),避免數(shù)據(jù)分配不均勻造成的延誤。流水線方法為一種典型的并行處理方法,將問題分為若干個解決步驟,各步驟由獨(dú)立的處理器執(zhí)行,通過加速各處理器從而提高整條流水線速度。
【專利說明】
一種基于數(shù)據(jù)分塊及并行處理的碰撞檢測方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及一種碰撞檢測方法,具體是一種基于數(shù)據(jù)分塊及并行處理的碰撞檢測 方法。
【背景技術(shù)】
[0002] 碰撞檢測是虛擬現(xiàn)實技術(shù)的重要組成部分,其主要任務(wù)是檢測各種物體模型之間 是否發(fā)生碰撞,如果發(fā)生碰撞則給出碰撞信息,同時指導(dǎo)系統(tǒng)進(jìn)行下一步的操作。碰撞檢測 的基礎(chǔ)是現(xiàn)實生活中兩個不可穿透的對象不能同時共享同一片空間區(qū)域的事實。目前,按 照檢測對象的性質(zhì),碰撞檢測可以分為基于時間域和基于空間域的檢測算法,在此基礎(chǔ)上 又可以進(jìn)一步劃分為不同的種類。
[0003] 隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和虛擬現(xiàn)實技術(shù)的興起,碰撞檢測問題再一次成為研究的熱 點(diǎn)。虛擬場景的規(guī)模不斷擴(kuò)大,模型的精度也越來越高,通過減少碰撞檢測的次數(shù)來加快算 法成為研究的重點(diǎn)方向。

【發(fā)明內(nèi)容】

[0004] 針對上述現(xiàn)有技術(shù)存在的問題,本發(fā)明提供一種基于數(shù)據(jù)分塊及并行處理的碰撞 檢測方法,數(shù)據(jù)分塊和并行技術(shù)引入碰撞檢測中,提高了物體碰撞檢測速度,快速識別碰撞 結(jié)果。
[0005] 為了實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案是:該種基于數(shù)據(jù)分塊及并行處理的 碰撞檢測方法,包括以下步驟:
[0006] (1)以虛擬物體幾何全集的包圍盒作為根節(jié)點(diǎn),根據(jù)與分裂平面的位置將所有元 素分為數(shù)量相當(dāng)?shù)膬刹糠郑謩e建立包圍盒;其中,以包圍盒在此方向上最長軸為方向軸選 擇分裂平面;
[0007] (2)以上述這兩部分為根節(jié)點(diǎn)自頂向下進(jìn)行遞歸分治,葉節(jié)點(diǎn)的個數(shù)滿足條件2m <M,m為包圍盒層數(shù),Μ為處理器數(shù);
[0008] (3)采用數(shù)據(jù)分塊技術(shù)分割包圍盒樹,以每個葉節(jié)點(diǎn)的包圍盒為一個數(shù)據(jù)塊組成 數(shù)據(jù)庫,各層的每個數(shù)據(jù)塊由計算機(jī)對應(yīng)的一個處理器負(fù)責(zé),將各物體的碰撞問題細(xì)分為 數(shù)據(jù)塊中幾何元素的碰撞檢測;
[0009] (4)檢測環(huán)境中兩虛擬物體幾何全集的包圍盒,若發(fā)生碰撞,對物體的邊界進(jìn)行預(yù) 處理,以各自葉節(jié)點(diǎn)為當(dāng)前節(jié)點(diǎn);
[0010] (5)取兩物體的當(dāng)前結(jié)點(diǎn)的包圍盒逐一配對進(jìn)行碰撞測試,若不發(fā)生碰撞,則停止 遍歷,若發(fā)生碰撞,則將當(dāng)前節(jié)點(diǎn)存入鏈表中,鏈表中各數(shù)據(jù)相互獨(dú)立,由各處理器并行進(jìn) 行訪問調(diào)用,并作為下次碰撞檢測的初選范圍;
[0011] (6)以當(dāng)前節(jié)點(diǎn)的上層根節(jié)點(diǎn)為當(dāng)前結(jié)點(diǎn),遞歸執(zhí)行步驟(5)。
[0012 ] 進(jìn)一步,所述包圍盒為軸對齊包圍盒ΑΑΒΒ或者方向包圍盒0ΒΒ或者k-dop包圍盒。
[0013]進(jìn)一步,所述各葉節(jié)點(diǎn)包圍盒的碰撞測試均為相互獨(dú)立,無直接相關(guān)聯(lián),存儲在數(shù) 據(jù)鏈表中,各處理器并行進(jìn)行訪問。
[0014] 進(jìn)一步,所述步驟(5)中根據(jù)物體運(yùn)動的連續(xù)性,下次檢測鏈表中的各節(jié)點(diǎn),由各 節(jié)點(diǎn)碰撞狀態(tài)變化確定檢測范圍;可避免后續(xù)的冗余檢測。
[0015] 與現(xiàn)有技術(shù)相比,本發(fā)明采用數(shù)據(jù)分塊和并行處理相結(jié)合的方式,通過數(shù)據(jù)分塊, 可以有效減少每個處理器處理的任務(wù)數(shù),避免數(shù)據(jù)分配不均勻造成的延誤。流水線處理為 一種典型的并行處理方法,將問題分為若干個解決步驟,各步驟由獨(dú)立的處理器執(zhí)行,通過 加速各處理器從而提高整條流水線速度。
【附圖說明】
[0016] 圖1是本發(fā)明的流程圖;
[0017] 圖2是本發(fā)明中包圍盒樹的示意圖。
【具體實施方式】
[0018] 下面將對本發(fā)明作進(jìn)一步說明。
[0019] 如圖1和圖2所示,本發(fā)明包括以下步驟:
[0020] (1)以虛擬物體幾何全集的包圍盒作為根節(jié)點(diǎn),根據(jù)與分裂平面的位置將所有元 素分為數(shù)量相當(dāng)?shù)膬刹糠?,分別建立包圍盒;其中,以包圍盒在此方向上最長軸為方向軸選 擇分裂平面;
[0021] (2)以上述這兩部分為根節(jié)點(diǎn)自頂向下進(jìn)行遞歸分治,葉節(jié)點(diǎn)的個數(shù)滿足條件2m <M,m為包圍盒層數(shù),Μ為處理器數(shù);
[0022] (3)采用數(shù)據(jù)分塊技術(shù)分割包圍盒樹,以每個葉節(jié)點(diǎn)的包圍盒為一個數(shù)據(jù)塊組成 數(shù)據(jù)庫,各層的每個數(shù)據(jù)塊由計算機(jī)對應(yīng)的一個處理器負(fù)責(zé),將各物體的碰撞問題細(xì)分為 數(shù)據(jù)塊中幾何元素的碰撞檢測(碰撞檢測即為檢測各包圍盒是否有交集);
[0023] (4)檢測環(huán)境中兩虛擬物體幾何全集的包圍盒,若發(fā)生碰撞,對物體的邊界進(jìn)行預(yù) 處理,以各自葉節(jié)點(diǎn)為當(dāng)前節(jié)點(diǎn);
[0024] (5)取兩物體的當(dāng)前結(jié)點(diǎn)的包圍盒逐一配對進(jìn)行碰撞測試,若不發(fā)生碰撞,則停止 遍歷,若發(fā)生碰撞,則將當(dāng)前節(jié)點(diǎn)存入鏈表中,鏈表中各數(shù)據(jù)相互獨(dú)立,由各處理器并行進(jìn) 行訪問調(diào)用,并作為下次碰撞檢測的初選范圍;
[0025] (6)以當(dāng)前節(jié)點(diǎn)的上層根節(jié)點(diǎn)為當(dāng)前節(jié)點(diǎn),遞歸執(zhí)行步驟(5)。
[0026]進(jìn)一步,所述包圍盒為軸對齊包圍盒ΑΑΒΒ或者方向包圍盒0ΒΒ或者k-dop包圍盒。
[0027] 進(jìn)一步,所述各葉節(jié)點(diǎn)包圍盒的碰撞測試均為相互獨(dú)立,無直接相關(guān)聯(lián),存儲在數(shù) 據(jù)鏈表中,各處理器并行進(jìn)行訪問。
[0028] 進(jìn)一步,所述步驟(5)中根據(jù)物體運(yùn)動的連續(xù)性,下次檢測鏈表中的各節(jié)點(diǎn),由各 節(jié)點(diǎn)碰撞狀態(tài)變化確定檢測范圍。
[0029] 整個檢測過程中,需要多次執(zhí)行操作各數(shù)據(jù)塊,各節(jié)點(diǎn)包圍盒的碰撞測試是相互 獨(dú)立、算法相同的,沒有直接相關(guān)聯(lián),應(yīng)用流水線技術(shù)動態(tài)劃分總?cè)蝿?wù)進(jìn)程,避免數(shù)據(jù)分配 不均勻造成的延誤,操作同步執(zhí)行,不需要對任務(wù)加鎖,加速檢測速度。算法如下:
【主權(quán)項】
1. 一種基于數(shù)據(jù)分塊及并行處理的碰撞檢測方法,其特征在于,包括以下步驟: (1) 以虛擬物體幾何全集的包圍盒作為根節(jié)點(diǎn),根據(jù)與分裂平面的位置將所有元素分 為數(shù)量相當(dāng)?shù)膬刹糠?,分別建立包圍盒; (2) 以上述這兩部分為根節(jié)點(diǎn)自頂向下進(jìn)行遞歸分治,葉節(jié)點(diǎn)的個數(shù)滿足條件2m<M,m 為包圍盒層數(shù),Μ為處理器數(shù); (3) 采用數(shù)據(jù)分塊技術(shù)分割包圍盒樹,以每個葉節(jié)點(diǎn)的包圍盒為一個數(shù)據(jù)塊組成數(shù)據(jù) 庫,各層的每個數(shù)據(jù)塊由計算機(jī)對應(yīng)的一個處理器負(fù)責(zé),將各物體的碰撞問題細(xì)分為數(shù)據(jù) 塊中幾何元素的碰撞檢測; (4) 檢測環(huán)境中兩虛擬物體幾何全集的包圍盒,若發(fā)生碰撞,對物體的邊界進(jìn)行預(yù)處 理,以各自葉節(jié)點(diǎn)為當(dāng)前節(jié)點(diǎn); (5) 取兩物體的當(dāng)前結(jié)點(diǎn)的包圍盒逐一配對進(jìn)行碰撞測試,若不發(fā)生碰撞,則停止遍 歷,若發(fā)生碰撞,則將當(dāng)前節(jié)點(diǎn)存入鏈表中,鏈表中各數(shù)據(jù)相互獨(dú)立,由各處理器并行進(jìn)行 訪問調(diào)用,并作為下次碰撞檢測的初選范圍; (6) 以當(dāng)前節(jié)點(diǎn)的上層根節(jié)點(diǎn)為當(dāng)前節(jié)點(diǎn),遞歸執(zhí)行步驟(5)。2. 根據(jù)權(quán)利要求1所述的一種基于數(shù)據(jù)分塊及并行處理的碰撞檢測方法,其特征在于, 所述包圍盒為軸對齊包圍盒ΑΑΒΒ或者方向包圍盒ΟΒΒ或者k-dop包圍盒。3. 根據(jù)權(quán)利要求1所述的一種基于數(shù)據(jù)分塊及并行處理的碰撞檢測方法,其特征在于, 所述各葉節(jié)點(diǎn)包圍盒的碰撞測試均為相互獨(dú)立,無直接相關(guān)聯(lián),存儲在數(shù)據(jù)鏈表中,各處理 器并行進(jìn)行訪問。4. 根據(jù)權(quán)利要求1所述的一種基于數(shù)據(jù)分塊及并行處理的碰撞檢測方法,其特征在于, 所述步驟(5)中根據(jù)物體運(yùn)動的連續(xù)性,下次檢測鏈表中的各節(jié)點(diǎn),由各節(jié)點(diǎn)碰撞狀態(tài)變化 確定檢測范圍。
【文檔編號】G06F17/50GK106096082SQ201610368306
【公開日】2016年11月9日
【申請日】2016年5月24日
【發(fā)明人】許啟金, 于啟萬, 別長報, 吳翔, 葉輝, 鄭浩, 吳偉, 廖志斌
【申請人】國網(wǎng)安徽省電力公司宿州供電公司, 國家電網(wǎng)公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
蒙城县| 青川县| 兰坪| 阿拉善右旗| 莆田市| 阿城市| 盖州市| 迭部县| 弋阳县| 通道| 合山市| 杭锦后旗| 双江| 普宁市| 浦县| 崇文区| 洱源县| 新乡县| 梅河口市| 涟源市| 安徽省| 象州县| 博湖县| 和硕县| 达尔| 碌曲县| 富锦市| 香格里拉县| 家居| 青龙| 合作市| 辽阳县| 历史| 溧水县| 康定县| 兴国县| 买车| 福海县| 荔波县| 都江堰市| 浏阳市|