日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

弹幕射击游戏中旋转矩形碰撞检测的算法描述

發(fā)布時間:2024/3/26 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 弹幕射击游戏中旋转矩形碰撞检测的算法描述 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

分離軸法是根據(jù)兩個多邊形的幾何中心在任意矢量方向的法線上的投影存在交叉的條件來做出的方法[32]換而言之,如果可以找出這樣一個方向,將兩個多邊形投影在此方向的法線上的投影不交叉,則說明碰撞未發(fā)生,如圖5-3所示。

?

圖中AB為兩個矩形局域,矢量C為隨意的一個方向,DC的法線,A+B+分別是AB在法線D上的投影,可見A+B+并未相交,說明存在這樣的一個矢量,使得矩形區(qū)域AB在其法線上的投影不想交。在實際運用中,我們需要判斷所有的多邊形邊的方向,來判斷是否存在一個這樣的邊,如果不存在則說明碰撞發(fā)生,如圖5-4所示。

圖中AB是兩個三角形,CDE分別是方向與三角形三條邊平行的三條直線,C+D+E+分別是它們的法線。A1B1是分別是三角形AB在法線C+上的投影,A2B2分別是三角形AB在法線D+上的投影,A3B3分別是三角形AB在法線E+上的投影。可見三角形AB在三角形的三條邊平行的矢量的法線上的投影都不滿足不發(fā)生碰撞時的條件,所以由此斷定,AB發(fā)生了碰撞。對于這種方法可以推廣到任意的凸多邊形[20]

在實際運算過程中,為子精靈配置長寬值,即矩形區(qū)域的面積大小和矩形中心點,為了加快彈幕射擊游戲中碰撞檢測的效率,使得游戲體驗性更強,我們可以先判斷兩個矩形區(qū)域的外接圓是否存在交叉,如果沒有則兩個矩形區(qū)域是肯定沒有交叉的

圖中為了再次方便計算兩個投影是否交叉可以計算兩個適量在X軸上的投影,如果適量垂直X軸,則計算在Y軸上的投影,即可判斷,對于矩形來說,法線只有兩個方向,計算起來比較方便。

?

總結(jié)

以上是生活随笔為你收集整理的弹幕射击游戏中旋转矩形碰撞检测的算法描述的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。