[發(fā)明專利]一種基于經(jīng)緯度的碰撞檢測方法有效
| 申請?zhí)枺?/td> | 201610497328.8 | 申請日: | 2016-06-30 |
| 公開(公告)號(hào): | CN106202247B | 公開(公告)日: | 2017-10-13 |
| 發(fā)明(設(shè)計(jì))人: | 王沫楠;毛志勇;李榮鵬;陳少勇 | 申請(專利權(quán))人: | 哈爾濱理工大學(xué) |
| 主分類號(hào): | G06F17/30 | 分類號(hào): | G06F17/30 |
| 代理公司: | 哈爾濱市松花江專利商標(biāo)事務(wù)所23109 | 代理人: | 岳泉清 |
| 地址: | 150080 黑龍*** | 國省代碼: | 黑龍江;23 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 經(jīng)緯度 碰撞 檢測 方法 | ||
1.一種基于經(jīng)緯度的碰撞檢測方法,其特征在于,包括以下步驟:
(1)對場景中待碰撞的剛體或者軟組織物體的邊界三角面片信息進(jìn)行預(yù)處理,獲取三角面片形心的z坐標(biāo)最大值Zmax與z坐標(biāo)最小值Zmin,以及所有三角面片的平均邊長length_avg,初始化經(jīng)緯度數(shù)據(jù)結(jié)構(gòu)中維度與跳表數(shù)組下表的對應(yīng)關(guān)系,同時(shí)動(dòng)態(tài)申請三角面片數(shù)量大小的動(dòng)態(tài)指針數(shù)組,初始化都為NULL,用于存儲(chǔ)跳表中的單元地址;
(2)遍歷三角面片集合,得到各個(gè)維度的所有三角面片形心的平均值,即為中心坐標(biāo),記錄到經(jīng)緯度數(shù)據(jù)結(jié)構(gòu)中;
(3)遍歷所有的三角面片,每個(gè)三角面片都計(jì)算得到形心坐標(biāo),根據(jù)形心坐標(biāo)得到所處的維度,根據(jù)該維度的中心坐標(biāo),獲取經(jīng)度,存入對應(yīng)維度的跳表中;
(4)對外部三角面片集合進(jìn)行碰撞檢測時(shí)候,計(jì)算外部三角面片的形心坐標(biāo),根據(jù)z坐標(biāo)得到維度,根據(jù)維度得到維度中心坐標(biāo),計(jì)算經(jīng)度后在該維度的跳表中查詢最近的經(jīng)度的三角面片,進(jìn)行兩個(gè)三角面片進(jìn)行精確碰撞檢測;
(5)某個(gè)三角面片在外力的作用下發(fā)生變形,拓?fù)渲貥?gòu)的過程只需要對該三角面片進(jìn)行刪除后再插入即完成更新。
2.根據(jù)權(quán)利要求1所述的基于經(jīng)緯度的碰撞檢測方法,其特征在于:所述的步驟(1)中,初始化經(jīng)緯度數(shù)據(jù)結(jié)構(gòu)中維度與跳表數(shù)組下表的對應(yīng)關(guān)系的實(shí)現(xiàn)過程為:首先計(jì)算維度最大值Dimension_Max=(int)((Zmax-Zmin)/length_avg)+1;然后申請Dimension_Max大小的跳表結(jié)構(gòu)數(shù)組;最后得到跳表的下表i與維度的關(guān)系則是i=Dimension-1。
3.根據(jù)權(quán)利要求1所述的基于經(jīng)緯度的碰撞檢測方法,其特征在于:所述的步驟(2)中,得到各個(gè)維度的所有三角面片形心的平均值的實(shí)現(xiàn)過程為:首先申請Dimension_Max大小的三個(gè)double數(shù)組,分別代表各個(gè)維度的x,y,z的累加;然后遍歷被檢測物體的所有的表面三角面片,每個(gè)三角面片都計(jì)算其形心坐標(biāo)(x,y,z),得到對應(yīng)的維度w=(int)((Zmax-z)/length_avg)+1,在三個(gè)double數(shù)組的下標(biāo)為w-1的位置,分別累加x,y,z的值,最后三個(gè)數(shù)組的每個(gè)元素都除以三角面片的集合的個(gè)數(shù)。
4.根據(jù)權(quán)利要求1所述的基于經(jīng)緯度的碰撞檢測方法,其特征在于:所述的步驟(3)中,當(dāng)?shù)趍個(gè)三角面片插入時(shí),由第m個(gè)三角面片的形心坐標(biāo),得到維度為w,得到經(jīng)度為p,那么使用跳表數(shù)組的w-1號(hào)跳表,則按照經(jīng)度p作為該跳表的關(guān)鍵字,按照從小到大的排序方式,找到對應(yīng)的插入位置,申請一個(gè)結(jié)構(gòu)體的內(nèi)存空間,內(nèi)部存放當(dāng)前三角面片的序號(hào),插入其中。
5.根據(jù)權(quán)利要求1所述的基于經(jīng)緯度的碰撞檢測方法,其特征在于:所述的步驟(4)中,進(jìn)行兩個(gè)三角面片進(jìn)行精確碰撞檢測的實(shí)現(xiàn)過程為:首先進(jìn)行包圍盒的檢測;然后進(jìn)行穿越算法進(jìn)行檢測。
6.根據(jù)權(quán)利要求1所述的基于經(jīng)緯度的碰撞檢測方法,其特征在于:所述的步驟(5)中,對于發(fā)生變形的三角面片,根據(jù)存儲(chǔ)著其跳表中地址的動(dòng)態(tài)數(shù)組以及三角面片的下標(biāo)得到其跳表中的地址,可以快速進(jìn)行刪除,然后重新計(jì)算三角面片的形心,重新計(jì)算其維度與經(jīng)度,加入到對應(yīng)維度的跳表中。
7.根據(jù)權(quán)利要求1、2、3、4、5或6所述的基于經(jīng)緯度的碰撞檢測方法,其特征在于:所述的跳表為一種隨機(jī)化的數(shù)據(jù)結(jié)構(gòu),基于并聯(lián)的鏈表,實(shí)現(xiàn)簡單,插入、刪除、查找的復(fù)雜度均為O(logN),由于跳表也是鏈表的一種,且在鏈表的基礎(chǔ)上增加了跳躍功能,正是這個(gè)跳躍的功能,使得在查找元素時(shí),跳表能夠提供O(logn)的時(shí)間復(fù)雜度,同樣,刪除,添加都是上限為O(logn)的時(shí)間復(fù)雜度。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于哈爾濱理工大學(xué),未經(jīng)哈爾濱理工大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201610497328.8/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)
- 基于增量聚類的車輛停靠軌跡漂移去除方法及裝置
- 無線網(wǎng)絡(luò)信號(hào)覆蓋區(qū)域的強(qiáng)度分析方法和裝置
- 一種通信線路承載點(diǎn)的經(jīng)緯度信息計(jì)算方法及裝置
- 一種基于CORS基站的北斗定位經(jīng)緯度優(yōu)化系統(tǒng)
- 一種基于KNN的小區(qū)基站經(jīng)緯度數(shù)據(jù)校正方法
- 一種經(jīng)緯度信息糾正方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 一種多地圖源的物流經(jīng)緯度修正及確認(rèn)方法
- 基于唯一標(biāo)記位置和經(jīng)緯度的智能鎖數(shù)據(jù)庫系統(tǒng)
- 基于唯一標(biāo)記位置和經(jīng)緯度的智能鎖數(shù)據(jù)庫系統(tǒng)
- 經(jīng)緯度異常檢測方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì)





