2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 соударение тел
Сообщение30.10.2014, 10:35 


08/05/14
7
добрый день, пытаюсь сделать небольшую программу с имитацией физики соударения между кругами и квадратами на плоскости.
объекты можно брать, перемещать и кидать в другие объекты.реализован алгоритм соударения кругов с кругами, теперь самое сложное : процесс описания соударения квадрата с квадратом. знаю только что есть момент инерции но как это приложить к решению задачи не представляю.


P.S. буду благодарен за любые наводки по этому вопросу. книги по механике пытался читать но там одна абстракция и как это дело приложить конкретно к моей задачи не понимаю.

 Профиль  
                  
 
 Re: соударение тел
Сообщение30.10.2014, 11:51 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Тут вопрос такой. Зачем вы вообще рассматриваете квадраты? Если из той идеи, что их рисовать проще, то придётся понять, что по законам механики квадраты будут вращаться, так что на самом деле выигрыша не будет (а будет проигрыш).

 Профиль  
                  
 
 Re: соударение тел
Сообщение30.10.2014, 14:57 
Админ форума
Аватара пользователя


19/03/10
8952
 !  bazelboday, замечание за дублирование темы. Дубль из раздела "Механика и Техника" удален.

 Профиль  
                  
 
 Re: соударение тел
Сообщение30.10.2014, 15:00 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Используйте готовые решения. Например, движок Box2D.

 Профиль  
                  
 
 Re: соударение тел
Сообщение01.11.2014, 14:34 
Заслуженный участник
Аватара пользователя


11/04/07
1352
Москва
Цитата:
имитация физики соударения между кругами и квадратами на плоскости...


Разбейте Ваши круги и квадраты на систему малых кругов, так чтобы окружность имела не менее 12 малых кругов, а квадрат не менее 3 малых кругов на стороне. Используйте для малых кругов Ваш уже оттестированый алгоритм соударения кругов. Для малых кругов в одной фигуре задайте упругую связь по смещению. Визуализация с таким деформированием фигур придаст некоторую новизну Вашему движку, а что наиболее важно, также создаст однородность алгоритма вычислений включая не только круг и квадрат но и произвольные плоские фигуры.
P.S. В текстурах CUDA деформирование приведет к увеличению латентности, вряд ли деформированный объект необходимо отображать.

 Профиль  
                  
 
 Re: соударение тел
Сообщение01.11.2014, 22:03 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Есть ещё проблема, что после нескольких столкновений "механическая" энергия изрядо перейдёт во "внутреннюю", заставив фигуры деформироваться до неузнаваемости. Во внутренних связях для этого стоит добавить диссипацию (трение, демпфирование), а чтобы не было "перехлёстов", ещё можно добавить упругую связь по углу (или ограничения на угол, но это сложнее).

 Профиль  
                  
 
 Re: соударение тел
Сообщение02.11.2014, 07:50 
Заслуженный участник
Аватара пользователя


11/04/07
1352
Москва
Цитата:
заставив фигуры деформироваться до неузнаваемости...

Надо же, Вы и здесь имеете вычислительный опыт.Ну хороший то "консервативный" алгоритм по энергиям вряд ли этому подвержен. А так на каждую моду колебаний макрофигуры в равновесии будет приходиться равное количество кинетической энергии. Теорией струны пахнет.

 Профиль  
                  
 
 Re: соударение тел
Сообщение02.11.2014, 09:16 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Zai в сообщении #925295 писал(а):
Надо же, Вы и здесь имеете вычислительный опыт.

Да не, очень малый.

Zai в сообщении #925295 писал(а):
Ну хороший то "консервативный" алгоритм по энергиям вряд ли этому подвержен.

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Модераторы: photon, whiterussian, profrotter, Jnrty, Aer, Парджеттер, Eule_A, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group