一些碰撞算法

项目中改进碰撞算法,从凸包检测转向分离轴算法。原有的凸包算法基于左转判定检测点是否在矩形内,而新采用的分离轴算法更高效。通过理解并应用英文资源(http://www.gamedev.net/page/resources/_/reference/programming/game-programming/collision-detection/2d-rotated-rectangle-collision-r2604)来实现,提高了碰撞检测的准确性。
摘要由CSDN通过智能技术生成

   前段时间,项目中需要改进一下碰撞算法。我查了很多资料。。最后完成了http://hi.baidu.com/jrsnail/blog/item/007e9c7faf1ba90328388a8d.html这个对我影响很大。。

我们以前的算法是用的凸包算法。就是检测点是否在一个矩形中。算法分析:http://kevinew.blog.sohu.com/14735858.html有详细介绍,通过左转判定公式,只需判断 x1*y2-x2*y1 的正负值,为正说明 p1 到 p2 为左转. 其实就是判断一个向量到另一个向量是逆时针转还是顺时针转 ,如果点d在矩形边四条边的左边或都在四条边的右边,说明这个点在矩形内。。。

这个是我们以前的算法,后来,我把算法改成了分离轴算法,

 

这一系列的文章并不是我的原创,如果有同仁需要查看英文的原文的话,地址我曾经给出过,英文水平是有限的,如果有什么地方没有翻译清楚,可以向发邮件或者直接留言.
需要说明的是这里的范例都是基于OPENGL的代码。
2D多边形碰撞检测和反馈
介绍
这是一篇论证如何在2D动作游戏中执行碰撞检测的文章(Mario,宇宙入侵者等),为了保证它的高效性和精确性,碰撞检测是以多边形为基础的,而不是以sp
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值