Mat*_*att 10 c++ collision-detection
有没有人知道一种简单的方法来检查两个多边形,特别是矩形是否发生碰撞?我找到了一种简单的方法,通过检查两个矩形上的任何线是否发生碰撞来看两个是否触摸,但如果一个多边形在另一个中,则无法工作.有没有人知道更有效的方法来做到这一点或只是一种有效的方式?
此外,有人可以给我一个公式或类似的东西,而不仅仅是你对这个主题的想法.
谢谢
查看http://www.metanetsoftware.com/technique/tutorialA.html
在开发我自己的碰撞检测程序时,该站点无限地帮助了我.根据可用的处理能力,您可以在碰撞准确性方面做任何您想要的事情.从最少的处理器密集开始:
1)包边盒:适用于矩形形状,可快速启动.您需要知道的是对象的(x,y)位置及其宽度和高度.
2)分离轴定理(SAT):能够处理更复杂的形状并且非常直观.
3)具有Voronoi区域的SAT(VR):使用关于任何给定多边形的顶点最接近的信息以便减少计算的总数.
以上所有内容都在上述链接中进行了深入解释.应该注意,到目前为止,所提到的方法对凸多边形最有效.如果你想进入荒谬的准确度水平,你就会开始进入像位图测试这样的事情,这种测试非常缓慢而且对于几乎任何东西来说都是过度杀戮.