我正在做一个2D球到墙碰撞/弹跳动画程序。我设法做球与球的碰撞,并且球到直线墙碰撞(两者都是精巧的collsion)。
我的问题是,如何在曲线表面反弹的球上进行碰撞?例如,一个球在被困成圆圈时弹跳(圆圈是墙壁)。
干杯
P.S。我正在使用c编程语言
答案 0 :(得分:2)
基本原则始终是:
如果出现圆圈碰撞:
r1
为一个圆的半径(在3d中,为球)r2
成为另一个圆的半径d
成为他们中心的距离d>r1+r2
,圈子完全在彼此之外r1>r2+d
,则第二个圆圈完全在第一个圆圈内r2>r1+d
,第一个圆圈完全在最后一个答案 1 :(得分:1)
我们可以通过将表面视为一个半径等于曲面曲率的巨大球来处理凸面。所以,我们只计算2个球之间的碰撞。当然,在这种情况下,我们必须考虑表面的质量是无穷大的,并从弹性碰撞方程推导出方程。