我正在做乒乓球比赛,我必须移动球并检测与外界的碰撞以及移动球拍。我想用矢量而不是三角函数来实现它。
我的数学很弱,所以请指导我。
答案 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,但数学是一样的,所以我认为它会很有用。