Метод Стёрмера — Верле́ — численный метод решения задачи Коши для дифференциальных уравнений. Часто используется для нахождения траектории материальной точки, движущейся по закону : для вычисления траекторий частиц в моделях молекулярной динамики и в компьютерных играх. Метод Верле более устойчив, чем более простой метод Эйлера, и имеет при этом другие качества, необходимые для моделирования физических процессов в реальном времени.
История и названия Был использован Исааком Ньютоном в первой книге «Начал» для доказательства второго закона Кеплера.
Назван в честь французского физика Лу Верле, который использовал метод для моделирования динамики молекул, и норвежского астрофизика Карла Стёрмера.
Метод (и эквивалентные ему) называется по-разному в зависимости от области применения:
метод Стёрмера, метод Энке — в астрономии; метод Верле — в молекулярной динамике; метод лягушки ()— в области уравнений в частных производных.
Основной алгоритм Алгоритм Верле используется для вычисления следующего местоположения точки по текущему и прошлому, без использования скорости. Формула получается следующим образом. Записывается разложение в ряд Тейлора вектора местоположения точки в моменты времени и :
где — координаты точки, — скорость, — ускорение, — рывок (производная ускорения по времени). Сложив эти 2 уравнения и выразив , получим
Таким образом, значение радиус-вектора точки может быть вычислено без знания скорости.
Особенности Основная особенность алгоритма состоит в возможности накладывать на систему точек различные ограничения. Например, можно связать некоторые из них твёрдыми стержнями заданной длины. При этом алгоритм работает следующим образом: Вычисляются новые положения тел (см. формулу выше). Для каждой связи удовлетворяется соответствующее ограничение, то есть расстояние между точками делается таким, каким оно должно быть. Шаг 2 повторяется несколько раз, тем самым все условия удовлетворяются (разрешается система условий).
Данный метод, несмотря на многократное повторение шага 2, очень эффективен.
Свойства Метод является характерным методом геометрического численного интегрирования и обладает следующими свойствами:
принадлежит классу одношаговых общих линейных методов; имеет 2-й порядок точности; является симметричным (самосопряжённым) интегратором; является симплектическим интегратором; сохраняет фазовый объём для ряда систем; сохраняет линейные первые интегралы систем.
Может рассматриваться как:
метод Нюстрёма 2-го порядка; композиция симплектического метода Эйлера с его сопряжённым; расщепляющий метод для систем вида ; разделённый метод Рунге—Кутты для систем , заданный таблицами Бутчера
Применение Популярность у разработчиков компьютерных игр метод получил в 2000 году с выходом игры Hitman: Codename 47.
Примечания
Ссылки Лекция «Реализация физики на основе интегрирования Верлета» на сайте GameDev.ru Перевод статьи «Advanced Character Physics» Пример реализации интегрирования Верле на Java
Категория:Численное интегрирование