1

我正在做乒乓球比赛,我必须移动球并检测与外部边界以及移动桨的碰撞。我想使用向量而不是三角函数来实现它。

我的数学很弱,所以请指导我。

4

2 回答 2

2

您可能需要更具体地了解您的需求。要知道的关键是,在弹跳球时,入射角等于反射角。然而,在类似乒乓球的游戏中,他们通常会根据它击中的球拍部分来改变角度(就好像球拍是一个弧线一样)。

对于使用向量,它有一个起点和一个斜率。如果起点是屏幕的左侧(x == 0),那么您很幸运,因为正常的斜率截距公式效果很好

Y = mX + B

其中 M 是斜率,B 是它穿过 Y 轴的位置(X 为 0 时 Y 的值)。然后将 X 增加一些数量并计算 Y。在回击时,您可以向后执行此操作。当向量完全水平时,m 为 0。当它碰到桨时,为了保持入射角 == 反射角——你只需要使用 -m (根据桨上的位置进行调整)。

无论如何-如果您有任何问题,请对此答案发表评论或更新您的问题,我会尽力提供更多信息。

于 2009-04-17T13:38:55.547 回答
1

GameDev.net 上有一个很棒的关于碰撞检测的教程。这是一个OpenGL教程,我不知道你是否使用OpenGL,但数学是一样的,所以我认为它会很有用。

于 2009-04-17T13:39:41.520 回答