2017-01-31 15 views
0

Я понимаю, что на этот вопрос был дан ответ, но еще не понятный.Определить угол отражения без величин

В коде я отскакиваю два шара друг от друга. Я знаю направление каждого шара в радианах, и я могу найти нормальный угол, используя функцию atan2().

Скажем, я игнорирую один шар и фокусируюсь на другом - у меня есть угол падения и нормальный угол. Есть ли простой способ найти угол отражения без каких-либо величин?

+0

Возможный дубликат [Ball and Ball Collision - обнаружение и обращение] (http://stackoverflow.com/questions/345838/ball-to-ball-collision-detection-and-handling) – Zouch

ответ

0

Это необязательно. Коллизия определяется импульсом и энергией сохранения до/после удара, но результат отличается от типа столкновения (упругое/неупругое). Поскольку уравнения учитывают как скорость и массу шаров до столкновений, их невозможно смотреть независимо и ожидать правильного результата.

Единственный случай, который является «легким», если другой шар представляет собой стену и столкновение (это потому, что стена не движется - масса «бесконечна», а импульс будет равен 0 до и после столкновение). Тогда выходной угол прямо напротив инцидента.

+0

Итак, в мире без трения или эластичности - остается вопрос, могу ли я найти инцидент, который должен быть прямо противоположным, только с входящими и нормальными градусами? Я понимаю, что вы говорите, что не будет производить физически реалистичную физику, но это не мой вопрос. Я просто задаю геометрию. – user6191359

+0

@ user6191359 Трение/эластичность не имеет значения. Важно то, что у вас есть два движущихся объекта (вместо этого корпуса с одной стеной, он не перемещается). Для настенного корпуса (2D), представьте, что он имеет нормальный 180˚ (то есть прямо слева). Шар, идущий слева и внизу, возможно, имел бы угол 200˚, он отражался бы до 160˚ (то есть разница в угле составляла + 20 °, а затем - -20˚). В общем, я бы рекомендовал против этого и вместо этого использовать нормальную векторную алгебру. – pingul

+0

@ user6191359 Я понимаю, что пример выше немного странный. Все углы взяты с точки зрения стены. Падающий шар будет в своей собственной системе отсчета, в этом случае имеет угол + 20˚. Я надеюсь, что все это имеет смысл. – pingul