【发布时间】:2018-11-02 23:58:27
【问题描述】:
一个方形瓷砖与另一个方形瓷砖碰撞。调酒师说……
我有:
- 两个图块的高度、宽度、x 和 y。
- 导致碰撞的运动的 2D 矢量。
我需要知道碰撞发生在哪一侧(例如顶部、底部、左侧、右侧),以便适当地重置位置。
我会给能回答这个问题的人一个心理饼干,因为我已经尝试了太多小时,这似乎很重要。
【问题讨论】:
-
您是在寻找任何特定语言的编码解决方案还是只是算法提示?
-
我在 node.js javascript 中对此进行编码,但实际上这只是一个算法问题。就数学库而言,我无法访问任何特别花哨的东西。
-
实际上,在考虑了一会儿之后,根据给定的信息,不可能计算出影响的一面,因为说 r1 在 r2 上向下移动,然后剪辑,在两侧重叠,然后在 1 侧重叠,然后在 相反 侧的 2 侧重叠,然后离开。我怎么知道我是在计算接触重叠还是离开重叠...
-
嗯,你知道引导它通过的向量,所以你知道原始位置是什么。这应该可以确定哪一个是正确的。
-
基本上,您在这里所能做的就是使用坐标 r1 和 r2 以及移动矩形的速度来预测(使用 y=mx+b)它将在哪里发生碰撞,而不是使用实际的碰撞检测