所屬欄目:計算機應用論文 發布日期:2014-08-20 16:14 熱度:
在簡單的游戲設計中,我們總會不可避免的使用到球類物體,在對兩個運動小球做區域檢測碰撞時,由于傳統的區域檢測只能檢測到兩個小球在相同高度上是否發生碰撞,即判斷兩個小球圖片長度是否已經相交,若相交,則說明發生了碰撞。但是,當小球處于不同高度時,運用該方法則會產生錯誤。
摘 要:該文改進了傳統的區域檢測碰撞算法不能檢測處于不同高度的運動小球是否發生碰撞的狀況,通過比較兩球圓心距與其半徑和的大小,分析并設計實驗來檢測兩球在不同高度上是否發生碰撞,但由于采集圖片的問題以及球的半徑不夠精確,會出現兩球并未真正發生碰撞卻檢測出碰撞的結果。實驗最終可以檢測兩運動小球在不同高度上是否發生碰撞。
關鍵詞:游戲軟件論文,區域碰撞,高度
基于上訴問題,本文設計了檢測不同高度的小球在發生碰撞時的算法。即通過比較兩球圓心距與其半徑和的大小,當圓心距小于半徑和時即檢測為碰撞,從而克服了區域檢測碰撞中的高度限制,而且實驗中實現了多次檢測碰撞,即兩球球心連線與水平線成不同角度時分別檢測碰撞結果,使得碰撞檢測更為全面。
1 數學模型
如圖1、圖2所示,傳統的區域檢測中,兩個小球處于同一高度,對其檢測碰撞,只需判斷圖片長度是否已經相交。換言之,僅僅判斷左邊小球圖片的左上角的x坐標與左邊小球的圖片長度是否大于右邊小球圖片的左上角的x坐標即可。若大于,表示兩球發生碰撞,反之未發生碰撞。
上述數學模型只能檢測到水平線上發生的碰撞,為了使碰撞檢測更全面,設計了以下數學模型。如圖3、圖4,通過比較兩球的圓心距與其半徑和的大小來作為其是否發生碰撞的標準,換言之,假設兩球中一球圓心坐標為(x,y),另一球圓心坐標為(m,n),且其半徑大小均為r,p,則當其球心距小于其半徑和時,則檢測為碰撞,以下為其圖片及具體公式:
2 檢測結果及分析
本實驗刻畫了兩個小球,球A垂直方向做勻速運動,水平方向上以每次50單位的速度向右移動,球B沿對角線方向從左向右運動,這樣保證了兩球一定能夠發生碰撞,一旦兩球球心距小于其半徑和時即檢測為碰撞,當兩球發生碰撞后,靜止兩秒,繼續按照原來的運動軌跡運行,當A球超出右邊邊界時實驗結束,這樣設計是為了可以多次檢測到不同方位的碰撞。如圖5、圖6所示,小球在運動過程中均能檢測出碰撞。
為了消除隨機性,圖7、圖8顯示了兩個小球在垂直方位和斜對角方位也檢測到碰撞,從而證明該算法可以檢測到兩球在不同位置發生碰撞的過程。
以下為兩球處于不同位置時發生碰撞的圖片
圖5 檢測碰撞 圖6 檢測碰撞
圖7 檢測碰撞 圖8 檢測碰撞
在整個過程中,由于圖片采集以及球的半徑不夠精確的原因,可能會出現兩球并未相撞但檢測為碰撞的情形,如下:
圖9 發生不精確的檢測
3 結束語
本文通過比較兩球圓心距與其半徑和的大小,分析并設計實驗來檢測兩球在不同高度上是否發生碰撞,解決了區域檢測碰撞不能實現檢測運動小球在不同高度上是否發生碰撞的情況,使得檢測更加靈活。
但是,該實驗暫且只適合于規則形狀、取得其范圍大小的球類物體,但是經常會遇到不規則的圖形,為了節約碰撞檢測的時間,若在允許范圍內仍采用區域檢測碰撞。
參考文獻:
[1]肖永亮.Visual C++游戲編程基礎[M].北京:電子工業出版社,2005.
[2]范昭煒.實時碰撞檢測技術研究[D].浙江大學,2003.
[3]肖永亮.計算機游戲程序設計[M].北京:電子工業出版社,2005.
[4]葉展,葉丁.游戲的設計與開發[M].北京:人民交通出版社,2003.
[5]鮑虎軍,金小剛,彭群生.計算機動畫算法基礎[M].北京:科學出版社,2000.
[6]Addrew Rollings,Dave Morris.Game Architecture and Design.the Coriolis Group,2000.
[7]Charles Petzold.Programming Windows.Microsoft,1998.
[8]Jim Blinn,Jim Blinn’s Corner.A Trip Down the Graphics Pipeline.Morgan-Kaufmann,1996.
[9]Direct X 9.0 SDK.Microdift Cooperation,2003.
[10]Daniel Sanchez-Crespo Dalmau.Core Techniquesn and Algorithms in Game Programming.New Riders Publishing,2003.
文章標題:游戲軟件論文發表游戲中區域檢測碰撞的改進措施
轉載請注明來自:http://www.anghan.cn/fblw/dianxin/yingyong/22429.html
攝影藝術領域AHCI期刊推薦《Phot...關注:107
Nature旗下多學科子刊Nature Com...關注:152
中小學教師值得了解,這些教育學...關注:47
2025年寫管理學論文可以用的19個...關注:192
測繪領域科技核心期刊選擇 輕松拿...關注:64
及時開論文檢索證明很重要關注:52
中國水產科學期刊是核心期刊嗎關注:54
國際出書需要了解的問題解答關注:58
合著出書能否評職稱?關注:48
電信學有哪些可投稿的SCI期刊,值...關注:66
通信工程行業論文選題關注:73
SCIE、ESCI、SSCI和AHCI期刊目錄...關注:121
評職稱發論文好還是出書好關注:68
復印報刊資料重要轉載來源期刊(...關注:51
英文期刊審稿常見的論文狀態及其...關注:69
電子信息論文范文
智能科學技術論文 廣播電視論文 光電技術論文 計算機信息管理論文 計算機網絡論文 計算機應用論文 通信論文 信息安全論文 微電子應用論文 電子技術論文 生物醫學工程論文 軟件開發論文
SCI期刊分析
copyright © www.anghan.cn, All Rights Reserved
搜論文知識網 冀ICP備15021333號-3