exponenta event banner

collisionBox

Создание геометрии коллизий боксов

Описание

Использовать collisionBox для создания оконной геометрии столкновения, центрированной в начале координат.

Создание

Описание

пример

BOX = collisionBox(X,Y,Z) создает выровненную по оси оконную геометрию столкновения, центрированную в начале координат с X, Y и Z в качестве длин сторон вдоль соответствующих осей в фиксированном по геометрии кадре. По умолчанию геометрически фиксированная рамка совмещается с мировой рамкой.

Свойства

развернуть все

Длина стороны геометрии рамки вдоль оси X, заданная как положительный скаляр. Единицы в метрах.

Типы данных: double

Длина стороны геометрии рамки вдоль оси y, заданная как положительный скаляр. Единицы в метрах.

Типы данных: double

Длина стороны геометрии параллелепипеда вдоль оси Z, заданная как положительный скаляр. Единицы в метрах.

Типы данных: double

Позиционирование геометрии столкновения относительно мировой рамы, заданной как однородная матрица 4 на 4. После создания геометрии столкновения можно изменить позу.

Типы данных: double

Функции объекта

showПоказать геометрию коллизий

Примеры

свернуть все

Создайте геометрию столкновения боксов, центрированную в начале координат. Длины сторон в направлениях x, y и z равны 3, 1 и 2 метра соответственно.

box = collisionBox(3,1,2)
box = 
  collisionBox with properties:

       X: 3
       Y: 1
       Z: 2
    Pose: [4x4 double]

Визуализируйте коробку.

show(box)
title('Box')

Figure contains an axes. The axes with title Box contains an object of type patch.

Создайте две однородные матрицы преобразования. Первая матрица - это вращение вокруг оси z на δ/2 радиан, а вторая матрица - это вращение вокруг оси X на λ/8 радиан.

matZ = axang2tform([0 0 1 pi/2]);
matX = axang2tform([1 0 0 pi/8]);

Создайте геометрию столкновения второго бокса с теми же размерами, что и первый. Измените его положение на произведение двух матриц. Изделие соответствует первому вращению вокруг оси Z с последующим вращением вокруг оси X. Визуализация результата.

box2 = collisionBox(3,1,2);
box2.Pose = matZ*matX;
show(box2)
title('Box2')

Figure contains an axes. The axes with title Box2 contains an object of type patch.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2019b