首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >二维运动中的碰撞检测

二维运动中的碰撞检测
EN

Stack Overflow用户
提问于 2011-05-27 06:40:31
回答 3查看 1.2K关注 0票数 4

我已经创建了一个非常简单的数值模拟,它模拟一个物体以一定的角度被抛出建筑物,当物体落地时,模拟就会停止。现在我想添加碰撞检测功能。我该怎么做呢?我知道我需要找出物体(球)落地的确切时间,以及x和y方向的速度,以及物体落地时的位置,我必须添加一些参数来表示球在撞击时将反弹多少。但我不知道该怎么做。我知道检测碰撞的方法有很多种,但由于我对此还不熟悉,所以最容易理解的方法将是最好的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-27 06:44:33

  • 创建一个坐标系,地面位于y=0。跟踪球飞行时的坐标,然后检查它是否有y=0,这就是它落地的地方。您还可以跟踪球移动时的x和y速度。
  • 使用物理技能。This是一个很好的教程。如果你有,我推荐韩礼德,雷斯尼克和沃克的《物理学基础》。他们在这方面有一个非常好的章节。
票数 1
EN

Stack Overflow用户

发布于 2011-05-27 06:52:52

如果你只是在寻找数学,你可以为它写C代码。我发现这个很有帮助。Math Models

票数 1
EN

Stack Overflow用户

发布于 2011-05-27 06:43:33

碰撞检测只涉及确定两个对象之间的距离。

如果只对对象与地面之间的碰撞感兴趣,则可以使用:

代码语言:javascript
运行
复制
if(object.y <= ground.y) {
    //collision occurred
}

要在对象之间进行碰撞,可以循环遍历所有对象,并以相同的方式将它们相互比较。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6145936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档