Динамическое моделирование в вычислительной физике - это моделирование систем объектов, которые могут свободно перемещаться, обычно в трех измерениях в соответствии с законами динамики Ньютона или их приближениями. Динамическое моделирование используется в компьютерной анимации, чтобы помочь аниматорам создавать реалистичное движение, в промышленном дизайне (например, для моделирования сбоев на ранней стадии краш-тестирования ) и в видеоиграх . Движение тела рассчитывается с использованием методов интегрирования по времени .
Физические двигатели
В информатике программа, называемая физическим движком , используется для моделирования поведения объектов в космосе. Эти двигатели позволяют моделировать воздействие различных физических раздражителей на тела многих типов. Они также используются для создания динамических симуляций без каких-либо знаний о физике. Физические движки используются повсюду в индустрии видеоигр и кино, но не все физические движки одинаковы; Обычно они разбиваются на режимы реального времени и с высокой точностью, но это не единственные варианты. Большинство движков физики реального времени неточны и дают лишь самое грубое приближение к реальному миру, тогда как большинство высокоточных движков слишком медленны для использования в повседневных приложениях. Чтобы понять, как построены эти физические движки, требуется базовое понимание физики. Физические движки основаны на реальном поведении мира, описанном классической механикой . Двигатели обычно не учитывают современную механику (см. Теорию относительности и квантовую механику ), потому что большая часть визуализации имеет дело с большими телами, движущимися относительно медленно, но самые сложные двигатели выполняют вычисления как для современной механики, так и для классической. Модели, используемые в динамических симуляциях, определяют, насколько точны эти симуляции.
Модель частицы
Первая модель, которую можно использовать в физических двигателях, управляет движением бесконечно малых объектов с конечной массой, называемых «частицами». Это уравнение, называемое вторым законом Ньютона (см . Законы Ньютона ) или определение силы, является фундаментальным поведением, управляющим всем движением:
Это уравнение позволит нам полностью смоделировать поведение частиц, но этого недостаточно для большинства моделей, поскольку оно не учитывает вращательное движение твердых тел . Это простейшая модель, которую можно использовать в физическом движке, и она широко использовалась в ранних видеоиграх.
Инерциальная модель
Тела в реальном мире деформируются при приложении к ним сил, поэтому мы называем их «мягкими», но часто деформация пренебрежимо мала по сравнению с движением, и ее очень сложно моделировать, поэтому большинство физических движков игнорируют деформацию. Тело, которое считается недеформируемым, называется твердым телом . Динамика твердого тела имеет дело с движением объектов, которые не могут изменять форму, размер или массу, но могут менять ориентацию и положение.
Чтобы учесть вращательную энергию и импульс, мы должны описать, как сила применяется к объекту с помощью момента , и учесть распределение масс объекта с помощью тензора инерции . Мы описываем эти сложные взаимодействия уравнением, чем-то похожим на определение силы выше:
где - центральный тензор инерции ,- вектор угловой скорости , а- момент j- й внешней силы относительно центра масс .
Тензор инерции описывает местоположение каждой частицы массы в данном объекте по отношению к центру массы объекта. Это позволяет нам определить, как объект будет вращаться в зависимости от приложенных к нему сил. Это угловое движение количественно выражается вектором угловой скорости.
Пока мы остаемся ниже релятивистских скоростей (см. Релятивистская динамика ), эта модель будет точно моделировать все соответствующее поведение. Этот метод требует, чтобы движок Physics решал шесть обыкновенных дифференциальных уравнений в каждый момент времени, который мы хотим визуализировать, что является простой задачей для современных компьютеров.
Модель Эйлера
Инерционная модель намного сложнее, чем нам обычно требуется, но она наиболее проста в использовании. В этой модели нам не нужно изменять наши силы или ограничивать нашу систему. Однако, если мы внесем несколько разумных изменений в нашу систему, моделирование станет намного проще, а время наших расчетов уменьшится. Первое ограничение будет заключаться в том, чтобы выразить каждый крутящий момент в терминах главных осей. Это значительно усложняет программирование каждого крутящего момента, но значительно упрощает наши уравнения. Когда мы применяем это ограничение, мы диагонализуем тензор момента инерции, что упрощает наши три уравнения в специальную систему уравнений, называемую уравнениями Эйлера . Эти уравнения описывают весь вращательный момент в терминах главных осей:
- Эти N термины применяются крутящие моменты относительно главных осей
- Члены I - это основные моменты инерции.
- В члены представляют собой угловые скорости относительно главных осей
Недостатком этой модели является то, что все вычисления выполняются во внешнем интерфейсе, поэтому он все равно медленнее, чем хотелось бы. Реальная полезность не очевидна, потому что она все еще опирается на систему нелинейных дифференциальных уравнений. Чтобы решить эту проблему, мы должны найти метод, позволяющий удалить второй член из уравнения. Это позволит нам гораздо легче интегрироваться. Самый простой способ сделать это - предположить определенную симметрию.
Симметричная / моментная модель
Два типа симметричных объектов, которые упростят уравнения Эйлера, - это «симметричные вершины» и «симметричные сферы». Первый предполагает одну степень симметрии, это уравнивает два члена I. Эти объекты, такие как цилиндры и вершины, можно выразить одним очень простым уравнением и двумя немного более простыми уравнениями. Это не принесет нам особой пользы, потому что с еще одной симметрией мы можем получить большой скачок скорости практически без изменения внешнего вида. Симметричная сфера уравнивает все члены I ( скаляр момента инерции ), что упрощает все эти уравнения:
- Эти N термины применяются крутящие моменты относительно главных осей
- В члены представляют собой угловые скорости относительно главных осей
- Я член является скалярным Момент инерции :
- где
- V - объемная область объекта,
- r - расстояние от оси вращения,
- m - масса,
- v - объем,
- ρ - поточечная функция плотности объекта,
- x , y , z - декартовы координаты.
Эти уравнения позволяют нам моделировать поведение объекта, который может вращаться, способом, очень близким к методу моделирования движения без вращения. Это простая модель, но она достаточно точна для получения реалистичного результата при динамическом моделировании в реальном времени . Это также позволяет физическому движку сосредоточиться на изменении силы и крутящего момента, а не на изменении инерции.