如何使用矢量公式实现球运动?

时间:2009-04-17 13:30:38

标签: iphone objective-c collision-detection

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

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

2 个答案:

答案 0 :(得分:2)

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

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

Y = mX + B

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

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

答案 1 :(得分:1)

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