5

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

Я какое-то время искал подобные вещи, и я не нашел особо понятных объяснений проблемы.

Чтобы быть точным, вопрос возникает именно так; два жестких тела движутся по поверхности без трения (хорошо, почти); подумайте об этом как о воздушном хоккее. Два жестких тела вступают в контакт, а затем уходят. Теперь, без учета углового момента, уравнения относительно просты; проблема становится, что происходит с передачей углового момента между телами?

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

Это, вероятно, может быть решена с помощью многомерной жесткой системы для расчета, но я хочу получить гораздо более оптимизированный расчет, поэтому я могу рассчитать этот материал в режиме реального времени. Есть ли у кого-нибудь идеи относительно уравнений или указатели на реализацию этих вычислений с открытым исходным кодом для включения в проект? Чтобы быть точным, мне нужно, чтобы это был достаточно оптимизированный расчет из-за количества взаимодействий, которые нужно моделировать в рамках одного «тика» симуляции.

Редактировать: Хорошо, похоже, что здесь не так много точной информации об этой теме. И я нахожу, что книги типа «Физика для программистов» тоже немного тупые, чтобы действительно получить; Мне не нужна реализация кода алгоритма; Я хочу выяснить (или, по крайней мере, набросал для меня) алгоритм. Только таким образом я могу правильно оптимизировать его для своих нужд. Кто-нибудь имеет какие-либо математические ссылки на эту тему?

+1

Это домашнее задание? – Fattie 2011-12-19 22:18:51

ответ

4

Если вас интересуют вращающиеся несферические тела, то http://www.myphysicslab.com/collision.html показывает, как это сделать. Асимметрия тел означает, что нормальное контактное усилие во время столкновения может создать крутящий момент вокруг их соответствующих КГ и, таким образом, заставить тела начать вращаться.

В случае бильярдного шара или шайбы с воздушным хоккеем вещи немного более тонкие. Поскольку тело является сферическим/круговым, нормальная сила всегда прямо через CG, поэтому нет крутящего момента. Однако нормальная сила не является единственной силой. Существует также сила трения, которая является касательной к нормали контакта, которая создаст крутящий момент вокруг CG. Величина силы трения пропорциональна нормальной силе и коэффициенту трения и противоположна направлению относительного движения. Его направление противоположно относительному движению объектов в их точке контакта.

2

Вы должны взглянуть на Physics for Game Developers - с книгой О'Рейли трудно ошибиться.

+0

Полностью согласен с книгами О'Рейли; как правило, надеялся на достаточно простой алгоритм для реализации, но хорошая рекомендация всегда хороша. – 2008-11-21 19:23:02

2

Если у вас есть отличная причина для изобретать велосипед, я предлагаю хороший взгляд на исходный код некоторых открытых физических источников двигателей, как Open Dynamics Engine или Bullet. Эффективные алгоритмы в этой области являются художественной формой, и наилучшие реализации, несомненно, встречаются в дикой природе, в таких ужасно рецензируемых проектах.

+0

Я согласен с тем, что не обязательно изобретать колесо, хотя для меня это какой-то учебный проект, и выяснение того, как получить уравнения в эффективный алгоритм, - это интересная задача для меня; что я, вероятно, не смогу приблизиться к их эффективности ... – 2008-11-21 19:24:41

3

Ну, моя любимая книга физики - Halliday and Resnick. Я никогда не чувствую, что эта книга ничего не делает для меня (тупой находится внутри черепа, а не на странице ...).

Если у вас возникла проблема с мыслью, вы можете начать понимать, как это будет происходить.

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

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

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

Очевидно, что ни одно из перечисленных выше не является точной симуляцией. Однако это должно быть достаточно простой основой, чтобы вызвать интересное поведение.

EDIT: Хорошо, я придумал еще один интересный пример, который, возможно, более ясен.

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

Однако, одна вещь, которую вы знаете наверняка, заключается в том, что после этого касания есть максимальная вращательная энергия: диск не может вращаться с такой скоростью, что внешний край движется со скоростью выше первоначальной линейной скорости. Таким образом, если диск двигался со скоростью один метр в секунду, он не может оказаться в ситуации, когда его внешний край перемещается со скоростью более одного метра в секунду.

Итак, теперь у нас есть длинное эссе, есть несколько прямолинейных понятий, которые должны способствовать интуициям:

  1. синуса угла удара будет влиять на результирующее вращение.
  2. Линейная энергия определит максимально возможную вращательную энергию.
  3. Один параметр может моделировать соответствующие коэффициенты трения до точки, в которой интересно смотреть в симуляции.
+0

Интересное предложение, и очень хорошее; вы правы, я склонен предположить, что края имеют максимальный коэффициент трения; проблема в том, что даже при ситуации с «едва касанием края», о которой вы говорите выше, не вся энергия передается угловому моменту; на самом деле, я сомневаюсь, что это будет не более 50%. В какой-то степени я просто надеюсь найти что-то, что объяснит механику этого так, как может понять разработчик программного обеспечения. Как и я, я все же склонен думать, что симуляция твердого тела может быть лучшим способом, но я все же хочу избежать этого ... – 2009-06-12 17:29:22

+0

@McWafflestix, справа, я представлял собой странный диск с очень высоким коэффициентом трения но никакой липкости вообще. Абсурдный предмет, но он действительно указывает: если бы у вас было два диска, завернутые в наждачную бумагу, которые едва целовались, когда они проходили мимо, они бы быстро вращались и двигались намного медленнее. Это то, что я имею в виду с «нормализацией» выше: вы можете перевернуть все коэффициенты в один параметр, с которым вы могли бы играть, пока поведение вам не интересно. – 2009-06-12 18:03:08

1

Пожалуйста, взгляните на эти ссылки! Если вы хотите по-настоящему заняться Меканикой, это путь, и это правильный и математически правильный способ!

Glocker Ch., Set-Valued Force Laws: Динамика негладких систем. Лекционные заметки в прикладной механике 1, Springer Verlag, Berlin, Heidelberg 2001, 222 pages. PDF (Содержание, 149 kB)

Pfeiffer F., Glocker Ch., Multibody Dynamics с односторонними контактами. JohnWiley & Sons, New York 1996, 317 страниц.PDF (Содержание, 398 kB)

Glocker Ch., Dynamik von Starrkörpersystemen mit Reibung und Stößen. VDI-Fortschrittberichte Mechanik/Bruchmechanik, Reihe 18, Nr. 182, VDI-Verlag, Düsseldorf, 1995, 220 страниц. PDF (4094 kB)

Смежные вопросы