java - 碰撞检测和弹跳

标签 java collision-detection physics

我正在尝试并尝试让一些东西为以后的项目工作,但我有一个问题,我似乎无法找到解决方案。

现在我有工作和准确的碰撞检测,但问题是创建物理。现在的物理学很简单,一个物体有一个 vector 来表示它的方向和速度,当发生碰撞时, vector 是反转的。

问题是,当物体发生碰撞时,它们会相互挤压,最终永远反转 vector ,从而导致奇怪的结果。例如。神奇地向上漂浮,或者似乎完全忽略了物理学。

谁能帮帮我?

编辑: 检测是通过分离轴定理完成的,我没有放代码,因为真正发生的事情是有一个循环来检查碰撞,当发现碰撞时, vector 被反转。就像我说的,实际检测工作正常,我认为我的问题正如 Sibbo 所说的那样,移动物体使它们不再碰撞。

最佳答案

我不知道你的实现,但是当你检测到碰撞时,你应该移动对象,使它们不再接触。这将防止您的程序进入无限碰撞循环

关于java - 碰撞检测和弹跳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8717494/

相关文章:

java - 更改 Nimbus LaF 处理 JTree 节点突出显示的方式

java - SoapUI SLF4J : Failed to load class “org.slf4j.impl.StaticLoggerBinder”

java - 使用正则表达式删除前导零但保留减号

javascript - 我的碰撞检测算法似乎甚至在物体接触之前就触发了

javascript - 带有外部图像的 box2d-js 元素

Java 和安讯士相机

c++ - 在 OpenGL 中检测碰撞

python - 使用矩阵作为 Sprite

ios - 为什么这些碰撞没有感觉? ( swift SpriteKit )

python - Python/Pygame 中的弹性碰撞