Введение

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

Физические двигатели

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

Модель частиц

Первая модель, которую можно использовать в физических движках, описывает движение бесконечно малых объектов с конечной массой, называемых частицами. Это уравнение, известное как второй закон Ньютона (см. Законы Ньютона) или определение силы, является фундаментальной закономерностью, управляющей любым движением:

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

Инерциальная модель

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

где – центральный тензор инерции, – вектор угловой скорости, а – момент j-й внешней силы относительно центра масс. Тензор инерции описывает положение каждой частицы массы в данном объекте относительно центра масс этого объекта. Это позволяет нам определить, как объект будет вращаться под воздействием приложенных сил. Это угловое движение количественно определяется вектором угловой скорости. Пока мы остаёмся ниже релятивистских скоростей (см. Релятивистскую динамику), эта модель будет точно моделировать всё существенное поведение. Для этого метода физическому движку необходимо решать шесть обыкновенных дифференциальных уравнений в каждый момент времени, который мы хотим отрисовать, что является простой задачей для современных компьютеров.