Arkanoid碰撞检测…再次。

| 我在此处(不仅)阅读了关于打砖块碰撞检测的数十个问题(即不仅针对文具矩形移动圆碰撞),而且所有这些问题都询问如何检测碰撞或如何检测球的矩形边命中。我的问题有点不同-它涉及到当球碰到矩形的角度时新速度方向的计算。 为了简单起见,让我们假设
Vx >= 0
Vy <= 0
,即,球是从下方从左上方和右上方进入的,并且还假设我知道它将击中矩形的下侧。绿色箭头表示球的大致方向,蓝色点表示包含球击中矩形下侧的直线上的第一个点。如果该点严格位于矩形的下侧,则所有内容都是微不足道的-只需将
Vy
更改为
-Vy
。但是,当该点位于下边外侧时,这意味着该球将触碰到的矩形的第一个点将是其左下角,在这种情况下,我认为将
Vy
更改为
-Vy
是不正确的。我认为新的速度角必须取决于蓝点到角的距离。我也认为不仅
Vy
而且
Vx
都必须改变(可能保留V向量的长度)。 那么,当我们碰到一个角度时,如何计算新的Vx和Vy?如果您知道有解决此问题的良好链接,我将很高兴认识他们。还要注意,我对这种绝对物理模型更感兴趣,而不是对易于编码的优化近似值感兴趣。您可以假定不涉及轮换。提前非常感谢你     
已邀请:
        您知道如何从水平墙弹起。您知道如何从其他角度的墙壁反弹吗? 当圆碰到墙时,它会在单个点接触。那唯一的一点就是关于墙壁的所有圆圈“知道”。该点的位置为您提供了足够的信息来计算新的V。当圆碰到拐角时,它会在单个点(即拐角)处进行接触,因此它会像在该点碰到墙一样反弹。 这够继续吗,还是您想算一算? (如果是这样,您对向量代数的满意度如何?)     
        在岩石力学中对岩石块进行建模时,通常会做一个简化,就是假设矩形的角半径较小。然后,计算是两个曲面接触之一。与将拐角建模为直角相比,此方法倾向于提供更一致的行为,因此在需要一致结果的情况下更是如此。     

要回复问题请先登录注册