А.Г. Лесков, Е.В. Селиверстова
100
ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. Приборостроение. 2016. № 6
Используют два вида ОП — с привязкой к осям координат (Axis-Aligned
Bounding Box, AABB) и ориентируемый ОП (Oriented Bounding Box, OBB). Реб-
рами, параллельными осям мировой системы координат, задается ААВВ. При
вращении объекта AABB изменяет свои размеры, но всегда остается ориентиро-
ванным по осям некоторой неподвижной системы координат (СК). Поэтому
наличие пересечения проверяется сравнительно просто. Однако использование
AABB часто приводит к появлению таких ОО, форма которых значительно от-
личается от реальных прототипов (рис. 2,
б
). Это снижает точность результатов.
Ориентируемый ОП (OBB) имеет ребра, изменяющие свою ориентацию в про-
странстве соответственно ориентации объекта. Соответствующим выбором пара-
метров можно выбрать такой ОВВ, который плотно облегает объект (рис. 2,
в
).
В отличие от AABB, OBB вращается вместе с объектом и не меняет своих разме-
ров. Однако проверка на пересечение OBB осуществляется сложнее, чем в рас-
смотренных ранее методах ограничивающей сферы и AABB.
Решение о выборе между AABB или OBB зависит от условий конкретной
задачи. Для построения OBB как такового требуется больше вычислительных
ресурсов, чем для построения AABB. Параметры OBB рассчитываются один раз
в начале операции захвата. В последующем OBB не изменяет свою форму (изме-
няется только его положение и ориентация в пространстве в соответствии с те-
кущим положением и ориентацией объекта).
Поскольку в общем случае OBB более точно, чем AABB, повторяет форму
объекта, точность определения факта пересечения OBB выше, чем AABB. Поэтому,
если проверка на пересечение осуществляется между небольшим числом объектов,
то целесообразно использовать OBB как более точный. Если же на каждом шаге
могут появляться новые объекты, то применяют более быстрый расчет для AABB.
Модернизированный алгоритм широкой фазы.
Поскольку поверхности
ОО часто значительно выступают за пределы очертаний объектов, пересечение
поверхностей ОО не всегда соответствует пересечению поверхностей ЗУМ и
ОМ. Факт пересечения можно установить только после перехода к полигональ-
ному представлению их поверхностей. Однако, как было отмечено, это требует
существенного увеличения объема вычислений. Объем вычислений можно со-
кратить, если каким-либо образом ограничить список полигонов и вершин по-
лигональной модели. Далее предложен алгоритм решения такой задачи.
Введем в рассмотрение некоторые области потенциального взаимодействия
(ОПВ), каждая из которых соответствует одному из ОО. В качестве ОО примем
ОВВ. Такой выбор обусловлен относительно небольшим числом участвующих в
рассмотрении объектов.
Область потенциального взаимодействия
имеет вид параллелепипеда, рас-
положенного внутри соответствующего OBB и ограничивающего пространство
проникновения другого OBB. Она строится таким образом, что ее ребра парал-
лельны ребрам OBB, которому она соответствует и внутри которого находится.
Область потенциального взаимодействия
для ОП ОМ и ОП звена ЗУМ изобра-
жены на рис. 3,
а
зелеными и красными линиями.