IPB
ЛогинПароль:

> Реализация соударения шаров.., Дайте формулы, пожалуйста..
philip-s
сообщение 14.08.2007 16:43
Сообщение #1





Группа: Пользователи
Сообщений: 4
Пол: Мужской
Реальное имя: Филиппс

Репутация: -  0  +


Задача такова, чтобы реализовать нецентральное соударение двух шаров (на плоскости) разных масс и скоростей и рисовать все это на канве (в Дельфи). Я так понимаю, что нужно делать в таймере: вычислять новые координаты, перебирать каждый шар (это если их много), не соприкасается ли он с другим. Когда это произошло, нужно перещитывать скорости и направления шаров. Вот это как раз таки и интересует. По каким формулам можно посчитать углы и скорости?? Перепробывал кучу формул, найденных в книгах и интернете. Не работает даже центральный удар. Может что-нибудь неправильно в самой идее реализации..

Заранее благодарен.

Сообщение отредактировано: philip-s - 14.08.2007 17:51
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
philip-s
сообщение 15.08.2007 0:02
Сообщение #2





Группа: Пользователи
Сообщений: 4
Пол: Мужской
Реальное имя: Филиппс

Репутация: -  0  +


В моем случае строчки "x:=x + Vx;" и "y:=y + Vy;" в конструкциях if нужны для отскока от стенки не теряя "шага" (эксперементально доказано smile.gif, т.к при действии силы шары будут, отскакивая от стенки, постоянно снижаться). А чтобы текущий объект двигался есть следущие строчки в конце конструкции обработчика в первом for после второго for:

// Изменяет скорость при действии внешней силы:
Vx:=Vx + Fx / Mass;
Vy:=Vy + Fy / Mass;
// Изменяет координату:
x:=x + Vx * ddt;
y:=y + Vy * ddt;

Кста, ваш вариант просчета скоростей тоже у мя не работает правильно.. sad.gif Я вот думаю, может общие формулы не подходят для всех случаев и нада рассматривать более частные, например при определенных углах будут разные формулы..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 24.06.2025 8:34
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"