亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

物件碰撞檢測系統(tǒng)及方法

文檔序號:6472301閱讀:266來源:國知局
專利名稱:物件碰撞檢測系統(tǒng)及方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種檢測系統(tǒng)及方法,尤其涉及一種物件碰撞檢測的系統(tǒng)及方法。
背景技術(shù)
在現(xiàn)有的一些游戲和仿真軟件中,存在很多物件,物件之間的碰撞檢測非常重要。在游 戲軟件中,若沒有物件碰撞檢測,會使得物件穿過彼此,三維畫面很不真實。在仿真軟件中 ,物件碰撞檢測也是非常必要的,如生產(chǎn)線仿真軟件中,人與機臺之間的碰撞檢測,人與叉 車之間的碰撞檢測等,都是非常必要的,如果沒有上述碰撞檢測,會導(dǎo)致仿真畫面不真實。
目前,即使存在物件碰撞檢測,但是由于實現(xiàn)過程比較復(fù)雜,導(dǎo)致視覺上延時比較長, 達(dá)到的動畫效果不流暢,給用戶帶來的視覺效果不好。

發(fā)明內(nèi)容
鑒于以上內(nèi)容,有必要提供一種有效的檢測物件之間是否有碰撞的系統(tǒng)及方法。
所述物件碰撞檢測系統(tǒng),包括計算機及與該計算機相連的數(shù)據(jù)庫,該數(shù)據(jù)庫中存儲有待 測物件,所述計算機包括生成模塊,用于在三維局部坐標(biāo)系中生成框住待測物件的長方體 ,還用于根據(jù)該長方體生成一個固定在三維局部坐標(biāo)系上的球體;獲取模塊,用于根據(jù)球體 在三維局部坐標(biāo)系上的球心坐標(biāo)值獲取該球體在世界坐標(biāo)系上的球心坐標(biāo)值;計算模塊,用 于計算待檢測的兩個物件所生成球體在世界坐標(biāo)系中的球心距;及判斷模塊,用于判斷球心 距是否大于待檢測的兩個物件所生成球體半徑值的和,若所述球心距不大于待測物件所生成 球體半徑值的和,則該兩個物件發(fā)生碰撞;若所述球心距大于待測物件所生成球體半徑值的 和,則該兩個物件沒有發(fā)生碰撞。
所述物件碰撞檢測方法,該方法包括如下步驟在三維局部坐標(biāo)系中生成框住待測物件 的長方體;根據(jù)該長方體生成一個固定在三維局部坐標(biāo)系上的球體;根據(jù)該球體在所述三維 局部坐標(biāo)系上的球心坐標(biāo)值獲取該球體在世界坐標(biāo)系上的球心坐標(biāo)值;計算待檢測的兩個物 件所生成球體在世界坐標(biāo)系中的球心距;判斷球心距是否大于待測兩個物件所生成球體半徑 值的和;若所述球心距不大于待測物件所生成球體半徑值的和,則該兩個物件發(fā)生碰撞;及 若所述球心距大于待測物件所生成球體半徑值的和,則該兩個物件沒有發(fā)生碰撞。
相較于現(xiàn)有技術(shù),所述物件碰撞檢測系統(tǒng)及方法,能夠有效快速的進行物件碰撞的檢測 ,使得用戶看到的畫面流暢。


圖l是本發(fā)明物件碰撞檢測系統(tǒng)較佳實施例的硬件架構(gòu)圖。 圖2是本發(fā)明物件碰撞檢測系統(tǒng)較佳實施例的計算機的功能模塊圖。 圖3是本發(fā)明物件碰撞檢測方法較佳實施例的作業(yè)流程圖。
具體實施例方式
如圖1所示,是本發(fā)明物件碰撞檢測系統(tǒng)較佳實施例的硬件架構(gòu)圖。該系統(tǒng)包括計算機 1,與該計算機1相連的數(shù)據(jù)庫2。所述計算機l用于檢測物件之間的碰撞,所述數(shù)據(jù)庫2用于 存儲需要檢測的物件模型,本實施例中,是以生產(chǎn)線仿真軟件中的物件模型為例進行說明物 件之間的碰撞檢測,該數(shù)據(jù)庫2中存儲有該仿真軟件中的物件,如機臺、操作機臺的操作 人員及叉車等。該數(shù)據(jù)庫2中還有多個鏈表,用于存儲待測物件的信息,于本實施例中,所 述待測物件是指機臺的一部分或者機臺本身,操作人員的身體一部分或者操作人員的本身, 叉車的一部分或者叉車本身等。所述計算機1還連接有鍵盤3、鼠標(biāo)4及顯示器5,作為檢測物 件碰撞的輸入設(shè)備和輸出設(shè)備。
如圖2所示,是本發(fā)明物件碰撞檢測系統(tǒng)較佳實施例的計算機l的功能模塊圖。在物件碰 撞檢測之前,首先要對用戶需要檢測的物件在直角坐標(biāo)系上進行投影,然后用戶對該直角坐 標(biāo)系上的投影進行框選。本實施例中,以對物件的俯視面投影到直角坐標(biāo)系上,并對該投影 框選來說明該發(fā)明。所述計算機1包括生成模塊10、獲取模塊12、存儲模塊14、計算模塊16 及判斷模塊18。
生成模塊10用于在XY直角坐標(biāo)系上生成用戶所框選物件俯視面的矩形框,并在三維局部 坐標(biāo)系中,根據(jù)該物件在Z軸的高度將該矩形框沿著Z軸進行延伸,生成框住該待測物件的長 方體。
獲取模塊12用于獲取最大范圍點和最小范圍點的坐標(biāo)值,該坐標(biāo)值不一定位于該長方體 上。設(shè)坐標(biāo)值表示為(X, Y, Z),其中,最大范圍點的(X, Y, Z)值分別為該長方體上所 有點坐標(biāo)值中最大的X皿x、 Yraax、 Z皿x值。同理,最小范圍點的(X, Y, Z)值分別為該長方體 上所有點坐標(biāo)值上最小的Xmin、 Yrain、 Z^n值。
所述生成模塊10還用于生成一個球體,該球在三維局部坐標(biāo)系上的球心坐標(biāo)值為最大范
圍點坐標(biāo)值與最小范圍點坐標(biāo)值和的一半,該球的半徑值為最大范圍點與最小范圍點之間的 距離的一半。
存儲模塊14用于將所述球體在三維局部坐標(biāo)系上的球心坐標(biāo)值及半徑值保存至數(shù)據(jù)庫2 的鏈表中。每個鏈表用于存儲一個整體物件中所有組成該整體物件的部分物件所生成球體的球心坐標(biāo)值與半徑值,例如操作機臺和操作人員分別被分成很多待檢測的物件,該數(shù)據(jù)庫 2中有一個鏈表用于存儲所有組成該操作機臺的物件生成的球體球心坐標(biāo)值和半徑值,另有
一個鏈表用于存儲所有組成操作人員的物件生成的球體球心坐標(biāo)值和半徑值。
所述獲取模塊12所述獲取模塊12還用于在鏈表中獲取待檢測物件所生成球體的球心坐標(biāo) 值和半徑值,并根據(jù)球體在三維局部坐標(biāo)系上的球心坐標(biāo)值獲取該球體在世界坐標(biāo)系上的球 心坐標(biāo)值,并獲取該三維局部坐標(biāo)系的原點在世界坐標(biāo)系中的坐標(biāo)值(XI, Yl, Zl)。三維 局部坐標(biāo)系中的坐標(biāo)值(X, Y, Z)轉(zhuǎn)換為世界坐標(biāo)系(X2, Y2, Z2)的坐標(biāo)值的公式為 X2=X1+X, Y2=Y1+Y, Z2=Z1+Z。
計算模塊l 6用于計算待檢測的兩個物件所生成球體在世界坐標(biāo)系中的球心距。 判斷模塊18用于判斷球心距是否大于待測兩個物件所生成球體半徑值的和。若所述球心 距不大于待測物件所生成球體半徑值的和,則該兩個物件發(fā)生碰撞;若所述球心距大于待測 物件所生成球體半徑值的和,則該兩個物件沒有發(fā)生碰撞。該判斷模塊18還用于判斷所述鏈 表中是否還存在待檢測的物件,若存在待檢測的物件,則繼續(xù)檢測鏈表中剩下的物件是否發(fā) 生碰撞。
如圖3所示,是本發(fā)明物件碰撞檢測方法較佳實施例的作業(yè)流程圖。在物件碰撞檢測之 前,首先要對用戶需要檢測的物件在直角坐標(biāo)系上進行投影,然后用戶對該直角坐標(biāo)系上的 投影進行框選。本實施例中,以對物件的俯視面投影到直角坐標(biāo)系上,并對該投影框選來說 明該發(fā)明。
步驟S30,生成模塊10在XY直角坐標(biāo)系上生成用戶所框選物件俯視面的矩形框,并在三 維局部坐標(biāo)系中,根據(jù)該物件在Z軸的高度將該矩形框沿著Z軸進行延伸,生成框住該待檢測 物件的長方體。
步驟S32,獲取模塊12獲取最大范圍點和最小范圍點的坐標(biāo)值,該坐標(biāo)值不一定位于該 長方體上。設(shè)坐標(biāo)值表示為(X, Y, Z),其中,最大范圍點的(X, Y, Z)值分別為該長方 體上所有點坐標(biāo)值中最大的X皿x、 Yraax、 Z皿x值。同理,最小范圍點的(X, Y, Z)值分別為該 長方體上所有點坐標(biāo)值上最小的Xmin、 Yrain、 Z^n值。
步驟S34,所述生成模塊10生成一個球體,該球在三維局部坐標(biāo)系上的球心坐標(biāo)值為最 大范圍點坐標(biāo)值與最小范圍點坐標(biāo)值和的一半,該球體的半徑值為最大范圍點與最小范圍點 之間的距離的一半。
步驟S36,存儲模塊14將所述球體在三維局部坐標(biāo)系上的球心坐標(biāo)值及半徑值保存至數(shù) 據(jù)庫2的鏈表中。每個鏈表用于存儲一個整體物件中所有組成該整體物件的部分物件所生成球體的球心坐標(biāo)值與半徑值,例如操作機臺和操作人員分別被分成很多待檢測的物件,該 數(shù)據(jù)庫2中有一個鏈表用于存儲所有組成該操作機臺的物件生成的球體球心坐標(biāo)值和半徑值 ,另有一個鏈表用于存儲所有組成操作人員的物件生成的球體球心坐標(biāo)值和半徑值。
步驟S38,所述獲取模塊12根據(jù)球體在三維局部坐標(biāo)系上的球心坐標(biāo)值獲取該球體在世 界坐標(biāo)系上的球心坐標(biāo)值,并獲取該三維局部坐標(biāo)系的原點在世界坐標(biāo)系中的坐標(biāo)值(XI, Yl, Zl)。三維局部坐標(biāo)系中的坐標(biāo)值(X, Y, Z)轉(zhuǎn)換為世界坐標(biāo)系(X2, Y2, Z2)的坐 標(biāo)值的公式為X2=X1+X, Y2=Y1+Y, Z2=Z1+Z。
步驟S40 ,計算模塊16計算待檢測的兩個物件所生成球體在世界坐標(biāo)系中的球心距。 步驟S42,判斷模塊18判斷球心距是否大于待測兩個物件所生成球體半徑值的和。 步驟S44,若所述球心距不大于待測物件所生成球體半徑值的和,則該兩個物件發(fā)生碰撞。
步驟S46,于上述步驟S42中,若所述球心距大于待測物件所生成球體半徑值的和,則該 兩個物件沒有發(fā)生碰撞。判斷模塊18判斷鏈表中是否還有待測的物件。若所述鏈表中還存在 待檢測的物件,則轉(zhuǎn)至步驟S38;若所述鏈表中已經(jīng)不存在待檢測的物件,則結(jié)束流程。
最后所應(yīng)說明的是,以上實施例僅用以說明本發(fā)明的技術(shù)方案而非限制,盡管參照較佳 實施例對本發(fā)明進行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對本發(fā)明的技術(shù)方 案進行修改或等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍。
權(quán)利要求
權(quán)利要求1一種物件碰撞檢測系統(tǒng),包括計算機及與該計算機相連的數(shù)據(jù)庫,該數(shù)據(jù)庫中存儲有待測物件,其特征在于,所述計算機包括生成模塊,用于在三維局部坐標(biāo)系中生成框住待測物件的長方體,還用于根據(jù)該長方體生成一個固定在三維局部坐標(biāo)系上的球體;獲取模塊,用于根據(jù)球體在三維局部坐標(biāo)系上的球心坐標(biāo)值獲取該球體在世界坐標(biāo)系上的球心坐標(biāo)值;計算模塊,用于計算待檢測的兩個物件所生成球體在世界坐標(biāo)系中的球心距;及判斷模塊,用于判斷球心距是否大于待檢測的兩個物件所生成球體半徑值的和,若所述球心距不大于待測物件所生成球體半徑值的和,則該兩個物件發(fā)生碰撞;若所述球心距大于待測物件所生成球體半徑值的和,則該兩個物件沒有發(fā)生碰撞。
2 如權(quán)利要求l所述的物件碰撞檢測系統(tǒng),其特征在于,所述獲取模 塊,還用于在三維局部坐標(biāo)系上獲取最大范圍點坐標(biāo)值和最小范圍點坐標(biāo)值,最大范圍點的 (X, Y, Z)值分別為該長方體上所有點坐標(biāo)值中最大的Xmax、 Ymax、 Zmax值,最小范圍點的 (X, Y, Z)值分別為該長方體上所有點坐標(biāo)值上最小的Xmin、 Ymin、 Zmin值。
3 如權(quán)利要求2所述的物件碰撞檢測系統(tǒng),其特征在于,所述球體在 三維局部坐標(biāo)系上的球心坐標(biāo)值為最大范圍點坐標(biāo)值與最小范圍點坐標(biāo)值和的一半,該球體 的半徑值為最大范圍點與最小范圍點之間的距離的一半。
4 如權(quán)利要求l所述的物件碰撞檢測系統(tǒng),其特征在于,所述計算機 還包括存儲模塊,用于將球體在三維局部坐標(biāo)系上的球心坐標(biāo)值及半徑值保存至數(shù)據(jù)庫
5 一種物件碰撞檢測方法,其特征在于,該方法包括如下步驟 在三維局部坐標(biāo)系中生成框住待測物件的長方體; 根據(jù)該長方體生成一個固定在三維局部坐標(biāo)系上的球體;根據(jù)該球體在所述三維局部坐標(biāo)系上的球心坐標(biāo)值獲取該球體在世界坐標(biāo)系上的球心 坐標(biāo)值;計算待檢測的兩個物件所生成球體在世界坐標(biāo)系中的球心距; 判斷球心距是否大于待測兩個物件所生成球體半徑值的和;若所述球心距不大于待測物件所生成球體半徑值的和,則該兩個物件發(fā)生碰撞;及 若所述球心距大于待測物件所生成球體半徑值的和,則該兩個物件沒有發(fā)生碰撞。
6.如權(quán)利要求5所述的物件碰撞檢測方法,其特征在于,在步驟在三 維局部坐標(biāo)系中生成框住待測物件的長方體之后還包括在三維局部坐標(biāo)系上獲取最大范圍 點坐標(biāo)值和最小范圍點坐標(biāo)值,最大范圍點的(X, Y, Z)值分別為該長方體上所有點坐標(biāo) 值中最大的Xmax、 Ymax、 Zmax值,最小范圍點的(X, Y, Z)值分別為該長方體上所有點坐標(biāo) 值上最小的Xmin、 Ymin、 Zmin值。
7.如權(quán)利要求6所述的物件碰撞檢測方法,其特征在于,所述球體在 三維局部坐標(biāo)系上的球心坐標(biāo)值為最大范圍點坐標(biāo)值與最小范圍點坐標(biāo)值和的一半,該球體 的半徑值為最大范圍點與最小范圍點之間的距離的一半。
8.如權(quán)利要求5所述的物件碰撞檢測方法,其特征在于,在步驟根據(jù) 該長方體生成一個固定在三維局部坐標(biāo)系上的球體之后還包括將該球體在三維局部坐標(biāo)系 上的球心坐標(biāo)值及半徑值保存至數(shù)據(jù)庫的鏈表中,每個鏈表用于存儲一個整體物件中所有組 成該整體物件的部分物件所生成球體的球心坐標(biāo)值與半徑值。
全文摘要
一種物件碰撞檢測方法,包括在三維局部坐標(biāo)系中生成框住待測物件的長方體;根據(jù)該長方體生成一個固定在三維局部坐標(biāo)系上的球體;根據(jù)該球體在所述三維局部坐標(biāo)系上的球心坐標(biāo)值獲取該球體在世界坐標(biāo)系上的球心坐標(biāo)值;計算待檢測的兩個物件所生成球體在世界坐標(biāo)系中的球心距;判斷球心距是否大于待測兩個物件所生成球體半徑值的和;若所述球心距不大于待測物件所生成球體半徑值的和,則該兩個物件發(fā)生碰撞;及若所述球心距大于待測物件所生成球體半徑值的和,則該兩個物件沒有發(fā)生碰撞。另外,本發(fā)明還提供一種物件碰撞檢測系統(tǒng)。
文檔編號G06T17/40GK101546435SQ20081030068
公開日2009年9月30日 申請日期2008年3月24日 優(yōu)先權(quán)日2008年3月24日
發(fā)明者尹宗仁, 楊高科, 稂業(yè)羽, 袁海林, 謝文君, 高麗平 申請人:鴻富錦精密工業(yè)(深圳)有限公司;鴻海精密工業(yè)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1