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