2014 dxdy logo

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

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




На страницу 1, 2  След.
 
 столкновение тел в 3D
Сообщение08.11.2014, 19:05 
доброе время суток уважаемые физики.

Создаю физический движок с нуля, столкнулся с проблемой: определить вектора скоростей и вектора вращения после столкновения двух тел (для примера шаров) в 3-х мерном пространстве, с разным радиусом, массой и шершавостью(для силы трения) с известной точкой столкновения и временем столкновения, как удобней и с известными начальными векторами скоростей и векторами вращения.

поиск по просторам интернета желаемых результатов не дал, хотя быть может не правильно искал, помогите формулами, хотя бы базовыми, объединю их сам, ну или полностью помогите, заранее благодарен

 
 
 
 Re: столкновение тел в 3D
Сообщение08.11.2014, 19:23 
Посмотрите Universal Mechanism Junior, может быть удастся приспособить.

 
 
 
 Re: столкновение тел в 3D
Сообщение08.11.2014, 19:28 
Skeptic в сообщении #928352 писал(а):
Посмотрите Universal Mechanism Junior, может быть удастся приспособить.

Нет, спасибо, я не хочу использовать готовый продукт, нужна лишь помощь с формулами, продукт я разработаю свой, но всё равно спасибо

 
 
 
 Re: столкновение тел в 3D
Сообщение08.11.2014, 19:30 
Аватара пользователя
reqyz
Не проще ли почитать исходники уже существующих движков?
Или почитать какую-нибудь книгу по дизайну движков:
3D Game Engine Design: A Practical Approach to Real-Time Computer Graphics
Essential Mathematics for Games and Interactive Applications: A Programmer's Guide

 
 
 
 Re: столкновение тел в 3D
Сообщение08.11.2014, 19:37 
electric_retard в сообщении #928356 писал(а):
reqyz
Не проще ли почитать исходники уже существующих движков?
Или почитать какую-нибудь книгу по дизайну движков, например.

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

 
 
 
 Re: столкновение тел в 3D
Сообщение08.11.2014, 19:40 
Аватара пользователя
reqyz
Вторая книга, раздел 13.5.

 
 
 
 Re: столкновение тел в 3D
Сообщение08.11.2014, 20:02 
Аватара пользователя
В механике это называется "теория удара", есть в некоторых (не всех) книгах по теоретической механике. Шероховатость не всегда спасает, бывают нужны и другие параметры столкновения.

 
 
 
 Re: столкновение тел в 3D
Сообщение08.11.2014, 21:20 
electric_retard
книга на английском, у меня английский на техническом уровне,
Munin
по теории удара гуглил, но не нашел ничего удовлетворяющего условиям, все примеры либо рассчитаны на абсолютно упругий удар, либо на удар лоб в лоб, в общем то, что помочь мне не смогло

 
 
 
 Re: столкновение тел в 3D
Сообщение09.11.2014, 06:17 
хотя бы абсолютно упругое столкновение шаров разной массы и радиуса можете подсказать, хоть для двухмерного случая, я сам дальше разберусь

 
 
 
 Re: столкновение тел в 3D
Сообщение09.11.2014, 12:01 
Аватара пользователя
Абсолютно упругое-то как раз подробно рассматривается в учебниках. Только надо не "гуглить", а читать учебники, в данном случае - по теормеханике. Например,
Маркеев. Теоретическая механика.
глава 12.

Ещё надо позвать Oleg Zubelevich, он может больше литературы назвать.

 
 
 
 Re: столкновение тел в 3D
Сообщение09.11.2014, 15:13 
reqyz в сообщении #928342 писал(а):
Создаю физический движок с нуля, столкнулся с проблемой: определить вектора скоростей и вектора вращения после столкновения двух тел (для примера шаров) в 3-х мерном пространстве, с разным радиусом, массой и шершавостью(для силы трения) с известной точкой столкновения и временем столкновения, как удобней и с известными начальными векторами скоростей и векторами вращения.

reqyz в сообщении #928359 писал(а):
мне нужно решить лишь эту конкретную задачу, остальной функционал уже практически готов,

reqyz в сообщении #928426 писал(а):
по теории удара гуглил, но не нашел ничего удовлетворяющего условиям, все примеры либо рассчитаны на абсолютно упругий удар, либо на удар лоб в лоб, в общем то, что помочь мне не смогло

reqyz в сообщении #928591 писал(а):
хотя бы абсолютно упругое столкновение шаров разной массы и радиуса можете подсказать, хоть для двухмерного случая, я сам дальше разберусь

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

Следовательно, надо поставить задачу более четко.

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

 
 
 
 Re: столкновение тел в 3D
Сообщение09.11.2014, 17:46 
Аватара пользователя
Pphantom в сообщении #928711 писал(а):
2) "Физическая" часть этой работы на много порядков сложнее программистской, поэтому попытки написания идеального физического движка своими силами и с нуля у Вас попросту займут всю оставшуюся жизнь.

Ну, не так всё плохо. Можно проучиться несколько лет, освоить основы физики, и после этого сделать нечто достаточно простое и в то же время реалистичное.

 
 
 
 Re: столкновение тел в 3D
Сообщение09.11.2014, 18:01 
Munin в сообщении #928801 писал(а):
Ну, не так всё плохо. Можно проучиться несколько лет, освоить основы физики, и после этого сделать нечто достаточно простое и в то же время реалистичное.
Именно реалистичное. Но не идеально правильное во всех без исключения случаях.

 
 
 
 Re: столкновение тел в 3D
Сообщение09.11.2014, 18:24 
Аватара пользователя
А такой цели, кажется, и не звучало.

 
 
 
 Re: столкновение тел в 3D
Сообщение09.11.2014, 18:47 
Munin в сообщении #928827 писал(а):
А такой цели, кажется, и не звучало.
Так ведь и никакой конкретной цели пока не звучало. :D Имеющаяся постановка - самая общая.

 
 
 [ Сообщений: 23 ]  На страницу 1, 2  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group