Я решил написать для класса бильярдную игру. Все работает нормально, но я хотел бы улучшить реалистичность столкновений мячей.
Для каждого мяча у меня есть прямоугольник pygame, что означает центр мяча, диаметр и положение мяча в игре. А также вектор скорости (u_x, u_y).
На данный момент я проверяю столкновение с помощью colliderect, но могу изменить его, измеряя расстояние между центральными шарами.
Я читал об уравнениях сохранения импульса, но здесь не учитываются положения шара. Разве два мяча не то же самое, что лобовой удар, чем боковой.
Кто-нибудь может мне помочь в формуле для новых скоростей мяча после столкновения с учетом положения мяча в момент удара. Большое спасибо!
dotиboundary_normal. Вам легко написать формулу Python по этой ссылке? - person CrazyHorse   schedule 27.02.2012dotотносится к точечному произведению, аboundary_normal- нормальный вектор в точке удара. - person Bart   schedule 27.02.2012