我怎样才能找到反射线的角度?

时间:2014-02-01 00:34:09

标签: javascript math

我正在尝试制作游戏pong(我的数学非常糟糕,我正在研究它)并尝试做弹跳球。

我试图计算击中墙壁或踏板后球的外出(反射)天使(墙壁总是水平的,踏板总是垂直的)

这是一张更好地展示它的图片:

reflecting image

这是我到目前为止所尝试的内容:

var m  = (y2-y)/(x2-x);
var angle = (Math.atan(-m)*57.2957795);

但这似乎不起作用。

1 个答案:

答案 0 :(得分:4)

由于障碍物始终是垂直或水平的,因此您无需进行任何角度计算。 如果将球的位置存储为(x,y)并将其速度存储为(v x ,v y ),则可以在每帧计算下一个位置(x + v x ,y + v y

要从水平边框反弹,只需否定v y ,从垂直边框反弹否定v x