2014 dxdy logo

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

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


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Столкновения шаров в 3D
Сообщение01.12.2010, 22:07 


01/12/10
14
Прошу помощи в решении такой задачи, как столкновение шаров в пространстве.
Для простоты я принял, что шары одинаковой массы и размеров, плюс никаких деформаций, трения, закручивания и т.д. просто скорости и все.

Для двумерного случая все отлично. Делал так:
1) В момент столкновения проецировал скорости на прямую соединяющую центры шаров и обменивал шары этими проекциями. Перпендикулярные проекции сохранял.
2) Зная координаты центров шаров я находил координаты вектора, начало которого в центре первого шара, а конец в центре второго и таким образом находил косинус и синус угла наклона данной прямой, проходящей через центры.
3) Записывал в матрицу поворота данные синусы и косинусы, и действовал ей на вектора скоростей в системе координат 1), чтобы получить прежнюю систему координат.

Это все отлично работало при программировании к примеру.
Теперь надо перейти в 3D и тут сразу же куча проблем. Главное - непонятно как получить матрицу поворота (есть вариант через углы Эйлера, но там затык в их нахождении), также неясно как построить новую систему координат, ведь надо получить два взаимоперпендикулярных вектора, перпендикулярных прямой проходящей через центры.
Может есть более простой способ в таком случае?
Буду очень благодарен за приблизительный план решения данной задачи в 3D...

 Профиль  
                  
 
 Re: Столкновения шаров в 3D
Сообщение01.12.2010, 22:18 
Экс-модератор


26/10/10
286
3D случай отличается от 2D наличием еще одной оси ("нетривиальный" факт :lol: ). Систему координат всегда можно выбрать так, что третья ось будет перепендикулярна плоскости, в которой лежат две пересекающиеся прямые - не какие-нибудь прямые, а именно те, на которых лежат траектории двух шаров до столкновения. С учетом принятых Вами упрощений нет никаких оснований для предположения о появлении ненулевой проекции скорости любого из шаров на третью ось после столкновения; наоборот, закон сохранения импульса запрещает такое появление. Поэтому указанным выбором системы координат 3D случай сводится к 2D случаю. На этом физика в этой задаче по сравнению с известной Вам заканчивается, повороты СК - это в математику.

 Профиль  
                  
 
 Re: Столкновения шаров в 3D
Сообщение01.12.2010, 22:38 


01/12/10
14
pittite в сообщении #382553 писал(а):
3D случай отличается от 2D наличием еще одной оси ("нетривиальный" факт :lol: ). Систему координат всегда можно выбрать так, что третья ось будет перепендикулярна плоскости, в которой лежат две пересекающиеся прямые - не какие-нибудь прямые, а именно те, на которых лежат траектории двух шаров до столкновения. С учетом принятых Вами упрощений нет никаких оснований для предположения о появлении ненулевой проекции скорости любого из шаров на третью ось после столкновения; наоборот, закон сохранения импульса запрещает такое появление. Поэтому указанным выбором системы координат 3D случай сводится к 2D случаю. На этом физика в этой задаче по сравнению с известной Вам заканчивается, повороты СК - это в математику.

интересная идея, о таком способе я не подумал.

правильно ли я понял, что выбором системы координат мы позволяем себе учитывать только две проекции скорости (третья нулевая), но как же тогда определить третью проекцию скорости в исходной СК, если мы по сути переходим к 2D, но потом надо как-то снова перейти в 3D?

 Профиль  
                  
 
 Re: Столкновения шаров в 3D
Сообщение01.12.2010, 22:46 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Обратным переходом к исходной системе координат. Как уже было сказано, это - в математику, хотя ответ элементарный: через обратную матрицу.

 Профиль  
                  
 
 Re: Столкновения шаров в 3D
Сообщение01.12.2010, 22:52 


01/12/10
14
Munin в сообщении #382573 писал(а):
Обратным переходом к исходной системе координат. Как уже было сказано, это - в математику, хотя ответ элементарный: через обратную матрицу.

обратную к какой матрице?
изначально я получал проекции в новой СК через скалярные произведения.

 Профиль  
                  
 
 Re: Столкновения шаров в 3D
Сообщение01.12.2010, 23:09 
Заслуженный участник
Аватара пользователя


30/01/06
72407
По сути, это и есть умножение на матрицу (матрица преобразования координат из одной СК в другую), а векторы, на которые вы брали скалярные произведения, образуют строки в этой матрице.

Но ещё раз повторяю: идите в другой раздел форума!!!

 Профиль  
                  
 
 Re: Столкновения шаров в 3D
Сообщение01.12.2010, 23:23 


01/12/10
14
Munin в сообщении #382588 писал(а):
По сути, это и есть умножение на матрицу (матрица преобразования координат из одной СК в другую), а векторы, на которые вы брали скалярные произведения, образуют строки в этой матрице.

Но ещё раз повторяю: идите в другой раздел форума!!!

извиняюсь, просто очень хочется найти правильное решение.

 Профиль  
                  
 
 Преобразование и переходы из одной СК в другую
Сообщение01.12.2010, 23:31 


01/12/10
14
Прошу помочь разобраться вот с каким вопросом.
Я пришел из темы: «Столкновения шаров в 3D».
Если вас не затруднит ознакомьтесь с той задачей. Суть ее в столкновении шаров в 3D варианте. Мне там подсказали, что при переходе из начальной СК в новую (завязанную на прямой соединяющей центры шаров) можно выбрать одну из трех осей перпендикулярно плоскости, которую образуют векторы скоростей шаров и решать ее в 2D как я и решал до этого.

Но проблема в том, что не совсем понятно как перескакивать из одной СК в другую и назад. Ведь когда проекции скоростей на одну из осей будут нулевыми в новой СК, то как потом вернуться в старую СК, при этом получив какие-то выражения для всех трех компонент скоростей, а не только для двух как это делается в 2D случае?..
Буду очень признателен за помощь.

 Профиль  
                  
 
 Re: Столкновения шаров в 3D
Сообщение01.12.2010, 23:34 
Экс-модератор


26/10/10
286
 i  Переношу в раздел Помогите решить / разобраться (М). Вопросы, интересующие топикстартера, математического плана.

 Профиль  
                  
 
 Re: Столкновения шаров в 3D
Сообщение01.12.2010, 23:41 


01/12/10
14
Спасибо за перенос темы.

Так вот, проблема в том, что не совсем понятно как перескакивать из одной СК в другую и назад. Ведь когда проекции скоростей на одну из осей будут нулевыми в новой СК, то как потом вернуться в старую СК, при этом получив какие-то выражения для всех трех компонент скоростей, а не только для двух как это делается в 2D случае?..
Буду очень признателен за помощь.

 Профиль  
                  
 
 Re: Преобразование и переходы из одной СК в другую
Сообщение01.12.2010, 23:49 
Заслуженный участник
Аватара пользователя


30/01/06
72407
google "преобразования координат"

 Профиль  
                  
 
 Re: Столкновения шаров в 3D
Сообщение01.12.2010, 23:50 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Есть такие магические слова (возможно, Вы их когда-то уже слышали): матрица перехода.

 Профиль  
                  
 
 Re: Преобразование и переходы из одной СК в другую
Сообщение01.12.2010, 23:53 


01/12/10
14
Munin в сообщении #382615 писал(а):
google "преобразования координат"

Локализую проблему.
Если, как вы говорили, переписать выражения со скалярными произведениями и представить в векторно-матричной форме записи, то получается что у матрицы (пусть будет А) имеется нулевая строка (т.к. новая СК такая, что одна из проекций зануляется). так?
тогда определитель такой матрицы ноль и нет обратной матрицы A'...

 Профиль  
                  
 
 Re: Столкновения шаров в 3D
Сообщение02.12.2010, 00:01 


01/12/10
14
ИСН в сообщении #382616 писал(а):
Есть такие магические слова (возможно, Вы их когда-то уже слышали): матрица перехода.

в моей матрице одна из строк строка нулевая (из-за выбора новой СК такой, чтобы свести все к 2D случаю). потому и завел разговор.

 Профиль  
                  
 
 Re: Преобразование и переходы из одной СК в другую
Сообщение02.12.2010, 00:06 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Нет, у матрицы не будет нулевая строка. Пусть вы ищете выражения со скалярными произведениями в виде $a_1=\mathbf{e}_1\mathbf{a},$ $a_2=\mathbf{e}_2\mathbf{a},$ $a_3=\mathbf{e}_3\mathbf{a},$ где векторы записываете через координаты исходной СК: $\mathbf{a}=(a_x,a_y,a_z)_{xyz}.$ Тогда это записывается в матричном виде как:
$$\left(\begin{array}{c}a_1\\ a_2\\ a_3\end{array}\right)=\left(\begin{array}{ccc}e_{1x}&e_{1y}&e_{1z}\\ e_{2x}&e_{2y}&e_{2z}\\ e_{3x}&e_{3y}&e_{3z}\end{array}\right)\left(\begin{array}{c}a_x\\ a_y\\ a_z\end{array}\right)$$ Здесь у вас все векторы $\mathbf{e}_1,$ $\mathbf{e}_2,$ $\mathbf{e}_3$ ненулевые, так что и все строки матрицы ненулевые (и столбцы тоже ненулевые, кстати сказать). А если в исходной (или конечной) СК зануляется одна из проекций вектора, это означает, что всего лишь $a_z=0$ или $a_3=0,$ а вовсе не зануление целой строки матрицы. Кстати, в отдельных позициях матрицы могут стоять нули, в этом ничего страшного.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



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

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


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

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