Кажется, вы на правильном пути.По сути, вы хотите выяснить, где будет положение шариков, когда оно достигнет места, где находится весло.
Вы можете легко сделать это, найдя скорости x и y и отследив, где находятся верхняя и нижняя стенки.are.
Чтобы найти скорость x и y, вы в основном определяете, как далеко шарик прошел в направлении x и направлении y за заданный интервал времени.Итак, допустим, что вы находите местоположение (100 (x), 50 (y)) в момент времени t = 0 ... затем вы видите, что в момент времени t = 1 мяч находится в точке (110, 65), это означает, что мячперемещение 10 (пикселей) за единицу времени в направлении x и 15 (пикселей) за единицу времени в направлении y.
Итак, давайте установим размер нашей комнаты, чтобы использовать ее для справки.давайте сделаем нашу комнату 200 (х) на 150 (у), чтобы самое дальнее весло было на 200, а самое близкое на 0 на х ... и основание комнаты на 150, а вершина - 0 наy.
Если ваше весло на x = 200
, вам понадобится (200-110)(pixels)/10(pixels per time)
.Теперь, когда вы знаете, сколько времени понадобится мячу, чтобы достичь весла, вы можете выяснить, где находится шар на оси Y.Используя весло на x=200
, мы обнаружим, что потребуется еще 9 единиц времени, чтобы достичь весла.Таким образом, мы просто умножаем количество времени на скорость изменения в направлении y, чтобы определить, насколько далеко шар движется в направлении y.Таким образом, при быстром вычислении мы получаем, что шар переместился на 135 (пикселей) по оси y.
Но мы можем оглянуться назад и увидеть, что наша комната имеет высоту всего 150 пикселей.Мы начали с y=65
, а 65 + 135 - это 200, что превышает наш предел в 150. Таким образом, у нас должен быть отскок.Таким образом, мы можем определить, когда мяч достигнет y = 150
, просто используя линейное уравнение в виде y = mx + b.Где наш m - это скорость y, а наш b - начальная точка y.Х измеряется в единицах времени, а у - в наших единицах расстояния.
Итак, мы знаем, что наш y, где происходит столкновение, находится на y=150
, поэтому мы включаем его вместе с m как нашей скоростью перемещения и нашим b, который является нашей исходной позицией y.
150=(15)(x)+65
Мы можем быстро решить для х, чтобы получить 5 и 2/3 единиц времени.Так что теперь мы можем вычесть это из нашего общего времени, пока мы не достигнем весла (9 units)-(5 and 2/3 units) = (3 and 1/3 units of time)
.После нашего отскока у нас будет отрицательная скорость y, но с той же скоростью, предполагающей простой отскок.Таким образом, мы можем снова использовать наше y=mx+b
уравнение, но теперь, чтобы определить конечную позицию y нашего шара.
y=(-15)(3 and 1/3)+150
y - это конечная позиция y шара, наши 15 для нашей скорости теперь отрицательны инаше время - это время после отскока сверху, b равно 150, потому что мы начинаем внизу экрана.Быстро решив это, мы можем видеть, что мы находимся сейчас при y = 100.
Таким образом, мы можем видеть, что когда мы находимся в x = 200
или в положении x весла, наша позиция y будет в100, и это - то, где мы можем ударить по мячу с веслом.
Надеюсь, это все правильно, пытаясь закончить это быстро перед сном.Я могу ответить на любые другие вопросы об этом, что у вас есть.Это все, что вам нужно понять - это математика и физика, вам нужно будет интерпретировать это на любом языке, который вы намереваетесь использовать.