Уравнение для расчета скорости нового объекта (в частности, угла) после отражения? - PullRequest
0 голосов
/ 19 июня 2011

Эй, я не могу понять, каково уравнение для определения нового угла перемещения объекта после отражения от стены .... Угол перемещения также основан на единичной окружности, поэтому 0 градусов будет путешествоватьвправо, 180 едет влево, 270 вниз и т. д.

Просто отрицательный угол тоже не работает, какие-нибудь советы?

Ответы [ 3 ]

6 голосов
/ 19 июня 2011

Я думаю, это то, что вы ищете. Я добавил угол стены, даже если он тебе не нужен.

reflectionAngle = wallAngle + ((wallAngle + 180) - (incidenceAngle + 180))

Если стена только вертикальная, ее угол будет 90 градусов.

Надеюсь, это поможет, и удачи!

РЕДАКТИРОВАТЬ: как более упрощенный метод, опубликованный Кейси ниже:

reflectionAngle = 2*wallAngle - incidenceAngle
1 голос
/ 19 июня 2011

Вам необходимо изменить угол относительно системы координат стены (t, n), а затем преобразовать обратно в (x, y) координаты.Координата n стены перпендикулярна стене;направление t создается путем переноса перекрестного произведения вектора t в направление z.

Алгоритм сказал бы, что скорость входящего (v_t, v_n) изменяется следующим образом:

  1. перпендикулярный компонент v_n меняет знак.
  2. тангенциальный компонент v_t не изменяется, при условии отсутствия трения.

Как только вы их получите, преобразуйте обратно в (x, y) координаты.

Это легко, если вы думаете с точки зрения двумерных векторов.

0 голосов
/ 19 июня 2011

Это будет

outAngle = 360 - inAngle

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...