Динамическое моделирование
Эта статья нуждается в дополнительных цитатах для проверки . ( март 2023 г. ) |
Динамическое моделирование в вычислительной физике — это моделирование систем объектов, которые могут свободно перемещаться, обычно в трех измерениях, в соответствии с Ньютона законами динамики или их приближениями. Динамическое моделирование используется в компьютерной анимации, чтобы помочь аниматорам создавать реалистичное движение, в промышленном дизайне (например, для моделирования сбоев на раннем этапе краш-тестирования ) и в видеоиграх . Движение тела рассчитывается с использованием методов интегрирования времени .
Физические двигатели
[ редактировать ]В информатике программа, называемая физическим движком, используется для моделирования поведения объектов в космосе. Эти двигатели позволяют моделировать воздействие на тела многих типов различных физических стимулов. Они также используются для создания динамических симуляций без необходимости ничего знать о физике. Физические движки используются во всей индустрии видеоигр и кино, но не все физические движки одинаковы. Они, как правило, разбиты на режимы реального времени и высокой точности, но это не единственные варианты. Большинство физических механизмов реального времени неточны и дают лишь самое поверхностное приближение к реальному миру, тогда как большинство высокоточных механизмов слишком медленны для использования в повседневных приложениях.
Чтобы понять, как устроены эти физические движки, необходимо базовое понимание физики. Физические двигатели основаны на реальном поведении мира, описанном классической механикой . Двигатели обычно не учитывают современную механику (см. Теорию относительности и квантовую механику ), поскольку большая часть визуализации связана с большими телами, движущимися относительно медленно, но самые сложные механизмы выполняют расчеты как для современной механики, так и для классической. Модели, используемые в динамическом моделировании, определяют, насколько точны эти симуляции.
Модель частицы
[ редактировать ]Первая модель, которую можно использовать в физических машинах, управляет движением бесконечно малых объектов с конечной массой, называемых «частицами». Это уравнение, называемое Вторым законом Ньютона (см. Законы Ньютона ) или определением силы, представляет собой фундаментальное поведение, управляющее всем движением:
Это уравнение позволит нам полностью смоделировать поведение частиц, но для большинства симуляций этого недостаточно, поскольку оно не учитывает вращательное движение твердых тел . Это самая простая модель, которую можно использовать в физическом движке, и она широко использовалась в ранних видеоиграх.
Инерционная модель
[ редактировать ]Тела в реальном мире деформируются под воздействием сил, поэтому мы называем их «мягкими», но часто деформация пренебрежимо мала по сравнению с движением, и ее очень сложно моделировать, поэтому большинство физических движков игнорируют деформацию. Тело, которое считается недеформируемым, называется твёрдым телом . Динамика твердого тела связана с движением объектов, которые не могут менять форму, размер или массу, но могут менять ориентацию и положение.
Чтобы учесть энергию вращения и импульс, мы должны описать, как сила прикладывается к объекту, используя момент , и учесть распределение массы объекта, используя тензор инерции . Мы описываем эти сложные взаимодействия уравнением, несколько похожим на приведенное выше определение силы:
где – центральный тензор инерции , – вектор угловой скорости , а – момент j -й внешней силы относительно центра масс .
Тензор инерции описывает расположение каждой частицы массы в данном объекте относительно центра масс объекта. Это позволяет нам определить, как объект будет вращаться в зависимости от приложенных к нему сил. Это угловое движение количественно определяется вектором угловой скорости.
Пока мы остаемся ниже релятивистских скоростей (см. Релятивистскую динамику ), эта модель будет точно моделировать все соответствующее поведение. Этот метод требует, чтобы физический движок решал шесть обыкновенных дифференциальных уравнений в каждый момент времени, когда мы хотим выполнить рендеринг, что является простой задачей для современных компьютеров.
Модель Эйлера
[ редактировать ]Инерционная модель намного сложнее, чем нам обычно нужно, но она наиболее проста в использовании. В этой модели нам не нужно менять наши силы или ограничивать нашу систему. Однако, если мы внесем несколько разумных изменений в нашу систему, моделирование станет намного проще, а время вычислений уменьшится. Первым ограничением будет представление каждого крутящего момента в терминах главных осей. Это значительно усложняет программирование каждого крутящего момента, но значительно упрощает наши уравнения. Когда мы применяем это ограничение, мы диагонализуем тензор момента инерции, что упрощает наши три уравнения до специального набора уравнений, называемого уравнениями Эйлера . Эти уравнения описывают весь вращательный момент через главные оси:
- Члены N обозначают приложенные крутящие моменты вокруг главных осей.
- Члены I представляют собой главные моменты инерции.
- The слагаемые представляют собой угловые скорости вокруг главных осей.
Недостаток этой модели в том, что все вычисления выполняются на стороне пользователя, поэтому она все равно медленнее, чем хотелось бы. Реальная польза не очевидна, поскольку она по-прежнему опирается на систему нелинейных дифференциальных уравнений. Чтобы облегчить эту проблему, нам нужно найти метод, позволяющий удалить второй член из уравнения. Это позволит нам гораздо легче интегрироваться. Самый простой способ сделать это — предположить определенную степень симметрии.
Симметричная/моментная модель
[ редактировать ]Два типа симметричных объектов, которые упростят уравнения Эйлера, — это «симметричные волчки» и «симметричные сферы». Первый предполагает одну степень симметрии, это делает два члена I равными. Эти объекты, такие как цилиндры и волчки, можно выразить одним очень простым уравнением и двумя немного более простыми уравнениями. Это не принесет нам особой пользы, поскольку с помощью еще одной симметрии мы можем получить большой скачок скорости практически без изменения внешнего вида. Симметричная сфера делает все члены I равными ( скаляр момента инерции ), что делает все эти уравнения простыми:
- Члены N обозначают приложенные крутящие моменты вокруг главных осей.
- The слагаемые представляют собой угловые скорости вокруг главных осей.
- Член I представляет собой скалярный момент инерции :
- где
- V – объемная область объекта,
- r – расстояние от оси вращения,
- м – масса,
- v – объем,
- ρ — поточечная функция плотности объекта,
- x , y , z — декартовы координаты.
Эти уравнения позволяют нам моделировать поведение объекта, который может вращаться, очень близко к методу моделирования движения без вращения. Это простая модель, но она достаточно точна, чтобы обеспечить реалистичный результат при динамическом моделировании в реальном времени . Это также позволяет физическому движку сосредоточиться на изменении сил и моментов, а не на изменении инерции.
См. также
[ редактировать ]- Граничный объем
- Обнаружение столкновений
- Уравнения Эйлера (динамика твердого тела)
- Момент инерции
- Слой физической абстракции
- Физический движок
- Динамика жесткого тела
Ссылки
[ редактировать ]- ^ Введение в физически обоснованное моделирование: динамика системы частиц . https://www.cs.cmu.edu/~baraff/pbm/particles.pdf .