Динамический основанный на капсуле список препятствий
dynamicCapsuleList3D
объект управляет двумя списками основанных на капсуле объектов столкновения в трехмерном пространстве. Объекты столкновения разделены на два списка, тела эго и препятствия. Для тел эго и препятствий в 2D, смотрите dynamicCapsuleList
объект.
Каждый объект столкновения в двух списках имеет три основных элемента:
ID – Целое число, которое идентифицирует каждый объект, хранивший в EgoIDs
свойство для тел эго и ObstacleIDs
свойство для препятствий.
Состояния – Местоположение и ориентация объекта как M-by-6 матрица, где каждая строка имеет форму [x y z qW qX qY qZ]
, и M является количеством состояний вдоль пути объекта в мировой системе координат. Список состояний принимает, что каждое состояние разделяется фиксированным временным интервалом. xyz - положения исчисляются в метрах, и ориентация является четырехэлементным вектором кватерниона. Локальный источник по умолчанию расположен в центре левого полушария капсулы.
Геометрия – Размер основанного на капсуле основанного на объектах на заданной длине и радиусе. Радиус применяется к сферическим концам, и длина применяется к цилиндрической длине. Чтобы переключить краткую геометрию и локальный источник относительно точки источника по умолчанию, задайте преобразование 4 на 4 относительно локальной системы координат капсулы. Чтобы сохранить преобразование по умолчанию, задайте eye(4)
.
Используйте объектные функции, чтобы динамически добавить, удалить, и обновить конфигурации и состояния различных объектов в вашей среде. Чтобы добавить тело эго, смотрите addEgo
объектная функция. Чтобы добавить препятствие, смотрите addObstacle
объектная функция.
После определения всех контуров объектов подтвердите пути тела эго и проверку на столкновения с препятствиями на каждом шаге с помощью checkCollision
объектная функция. Функция только проверяет, сталкивается ли тело эго с препятствием, игнорируя столкновения только между препятствиями или только телами эго.
obstacleList = dynamicCapsuleList3D
создает динамический основанный на капсуле список препятствий без тел эго или препятствий. Чтобы начать создавать список препятствий, используйте addEgo
или addObstacle
функции объекта.
addEgo | Добавьте тела эго в 3D список капсул |
addObstacle | Добавьте препятствия 3-D списку капсул |
checkCollision | Проверяйте на столкновения между телами эго и препятствиями |
egoGeometry | Геометрические свойства тел эго |
egoPose | Положения тел эго |
obstacleGeometry | Геометрические свойства препятствий |
obstaclePose | Положения препятствий |
removeEgo | Удалите тела эго из списка капсул |
removeObstacle | Удалите препятствия из списка капсул |
show | Отобразите тела эго и препятствия в среде |
updateEgoGeometry | Обновите геометрические свойства тел эго |
updateEgoPose | Обновите состояния тел эго |
updateObstacleGeometry | Обновите геометрические свойства препятствий |
updateObstaclePose | Обновите состояния препятствий |