碰撞检测—分离轴理论

本文介绍了如何使用分离轴理论(Separating Axis Theorem, SAT)进行三维碰撞检测。在游戏开发中,通过判断物体在特定轴上的投影是否相交,可以确定两个凸多面体是否相撞。这种方法适用于精确模拟物理效果,如反弹、摩擦和斜面滑行,尤其在高速精灵系统中避免快速移动物体的碰撞遗漏。SAT算法基于向量数学,易于扩展到3D场景。" 130782442,18745198,"Python文件存储:TXT, JSON与CSV详解
摘要由CSDN通过智能技术生成

最近在用opengl写一个小游戏,动画和人机交互都很简单,逻辑控制,边界问题都是目前的一个难题,正好找了几篇碰撞检测的资料,看着挺不错的


http://www.cppblog.com/mybios/archive/2006/11/19/15408.html(高级碰撞检测)

 

http://www.cnblogs.com/tinfish/archive/2012/03/21/2410474.html(分离轴理论)

 

http://blog.csdn.net/haochao/article/details/3917993

 

 

http://blog.csdn.net/shenlan282/article/details/7179575(三维)

 

三维:在求解碰撞法线、接触集合之前,得先确定长方体之间是否碰撞。一个相对简单的判断凸多面体相交性的方法是分离轴定理(SAT,Separating Axis Theorem)。直观来看,如果两个凸多面体不相交,那么必定存在一个空间平面,使得这两个多面体分别位于平面两侧。如果找不到这样的平面,那么可以判定其相交。这个情况等价于:如果能找到垂直于某个平面的直线,使得多面体在这条直线上的投影不相交,那么就可以判定多面体不相交;否则就相交。这条直线,就是分离轴。一般而言,检验多面体在直线上的投影,会比检验多面体是否位于平面两侧更加方便。

 

SAT是一种检测凸多边形相交的算法,他的内容是,如果

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值