【发布时间】:2013-10-19 22:56:24
【问题描述】:
我正在尝试实现一个球在 4 个垂直壁之间弹跳的动画,即球的速度恒定。问题是,我使用的框架要求我在每次球与墙壁碰撞时告诉球的起点和终点。
在碰撞的那一刻,我可以访问球当前和之前与墙壁接触的位置。给定墙壁的坐标 x_min、x_max、y_min 和 y_max,以及球的这两个位置,计算下一个位置的最简单方法是什么?
我想到的所有算法都遵循一种蛮力方法,有许多 if-else 语句......我想知道是否有一些优雅的方式来处理这个问题。
【问题讨论】:
-
下一个位置是什么意思?你在做时间步骤吗?或者你的意思是它接下来会在哪里撞到另一面墙? “起点和终点”是什么意思?你能画一幅画,或者举一些实数的例子吗?通常,在从墙上弹起时,您只需更改其中一个速度(垂直速度)的符号。这就是我们所需要的......
-
我的意思是下一个与墙壁碰撞的点。不涉及时间步长或速度 - 只告诉一旦球击中球,下一次应该击中的位置。 acfrancis 的评论完全符合我的意思。
标签: algorithm animation collision