6.77M
Категория: ФизикаФизика

Построение реалистичных моделей. Модели столкновений

1.

“Построение
реалистичных
моделей. Модели
столкновений”
Выполнил студент
группы БАП2251
Прохоров А.Ю.

2.

Моделирование движения
реального мира в соответствии
с физическими законами
01
04
разработка систем виртуальной
реальности и тренажеров,
компьютерных игр, систем
автоматизированного
проектирования, робототехника
оценка силы, которая должна
быть приложена к
моделируемым телам для их
расталкивания в соответствии с
законами механики, как один
из возможных примеров
использования
02
03
подсистема обнаружения
столкновений (пересекаются ли
два объекта в пространстве?)
нахождение объема
пересечения, его
аппроксимация в виде набора
точек или простого
геометрического объекта,
глубина взаимопроникновения
объектов

3.

Координаты точек передаются через API
драйверу графического адаптера,
который растеризует входные данные и
выводит на экран
Классификация алгоритмов
определения столкновений
используется в САПР. Комбинируя
простые базовые трехмерные объекты,
такие как сферы, прямоугольные
параллелепипеды, конусы с помощью
булевых операций, на выходе получаем
сложный объект
● сетки из треугольников
● конструктивная блочная геометрия
● неявно заданная геометрия
Неявное задание объекта предполагает
задание формы объекта в виде
математического уравнения

4.

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

5.

Наиболее простым методом для обнаружения столкновений между двумя объектами A и B является
попарная проверка всех элементов, составляющих A, со всеми элементами В. Учитывая, что на каждом шаге
моделирования может участвовать большое количество объектов, состоящих из тысяч многоугольников,
можно заключить, что обнаружение столкновений является вычислительно сложной задачей. Если сразу
проводить детальную проверку на пересечение с нахождением всей необходимой информации
(характеристики объема пересечения, глубина взаимпроникновений и т.д.), то в итоге система будет
обладать низкой масштабируемостью и уже при сравнительно небольшом количестве моделируемых
объектов скорость работы не будет удовлетворять жестким условиям систем реального времени.
В связи с этим алгоритмы определения столкновений часто делят на последовательность шагов или фаз.
Широкая фаза отсеивает те пары объектов (или элементов одного объекта), которые заведомо не
пересекаются. Узкая фаза необходима для детального рассмотрения каждой из пар объектов, не отброшенных
при выполнении широкой фазы. На данном этапе, если объекты пересекаются, то для них находится
контактная информация.
Соответственно, наиболее общим признаком, по которому можно классифицировать алгоритмы
определения столкновений, будет принадлежность к широкой или узкой фазе.

6.

Широкая фаза
Узкая фаза
Для широкой фазы подходят алгоритмы, которые позволяют
Алгоритм узкой фазы принимает на вход список пар объектов,
с минимальными временными затратами отбраковать
отобранных широкой фазой как наиболее вероятных кандидатов на
наибольшее количество пар. При этом преимущество отдается
столкновение. Используя исходное геометрическое представление
скорости работы алгоритма. Для этого вместо сложного
объектов, алгоритм на выходе дает ответ на вопрос, пересекаются ли на
исходного геометрического представления объекта
самом деле объекты, поданные на вход. Если пара объектов пресекается,
используют ограничивающую геометрию, или
алгоритм также может вернуть дополнительную информацию: глубину
ограничивающий объем. Ограничивающий объем – это
взаимопроникновения объектов друг в друга, т.е. минимальное
область пространства, которая содержит данный объект. Для
расстояние, на которое нужно переместить объекты, чтобы они перестали
широкой фазы используют простые по форме объекты, чаще
пересекаться,нормаль; нормаль, вдоль которой считается глубина
всего сферы или прямоугольные параллелепипеды.
взаимопроникновения; аппроксимацию объема пересечения.

7.

Физические движки отвечают за определение места нахождения
каждого объекта в сцене в определённый промежуток времени.
Объекты могут сталкиваться друг с другом, а затем двигаться в
различных направлениях. Эту общую проблему можно настроить на
несколких уровнях. Проблему можно разделить на 3 части:
● динамика
● обнаружение столкновений
● реакция на столкновения
– обнаружение столкновений;

8.

Уравнение равномерно ускоренного
движения

9.

ияУравнение координаты равноускоренного
движения

10.

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

11.

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

12.

Алгоритм реакции на
столкновение
01
04
найти вектор перемещения,
необходимый для выведения
объектов из столкновения
(метод проецирования)
рассчитать трение, используя
параллельную составляющую
02
03
разбить вектор скорости на 2
составляющие: параллельную
поверхности столкновения и
перпендикулярную ей
рассчитать отскок, используя
перпендикулярную
составлящую

13.

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

14.

Спасибо за
внимание!
English     Русский Правила