Main Content

La traducción de esta página está obsoleta. Haga clic aquí para ver la última versión en inglés.

collisionBox

Crear una geometría de colisión en forma de cuadro

Descripción

Utilice collisionBox para crear una geometría de colisión en forma de cuadro centrada en el origen.

Creación

Descripción

ejemplo

BOX = collisionBox(X,Y,Z) crea una geometría de colisión en forma de cuadro alineada con el eje y centrada en el origen con X, Y y Z como longitudes laterales a lo largo de los ejes correspondientes en el marco fijado mediante geometría. De forma predeterminada, el marco fijado mediante geometría se conecta con el marco del mundo real.

Propiedades

expandir todo

La longitud lateral de la geometría en forma de cuadro a lo largo del eje x, especificada como un escalar positivo. Las unidades se establecen en metros.

Tipos de datos: double

La longitud lateral de la geometría en forma de cuadro a lo largo del eje y, especificada como un escalar positivo. Las unidades se establecen en metros.

Tipos de datos: double

La longitud lateral de la geometría en forma de cuadro a lo largo del eje z, especificada como un escalar positivo. Las unidades se establecen en metros.

Tipos de datos: double

La pose de la geometría de colisión respecto al marco del mundo real, especificada como una matriz homogénea de 4 por 4. Puede cambiar la pose después de crear la geometría de colisión.

Tipos de datos: double

Funciones del objeto

showShow collision geometry

Ejemplos

contraer todo

Cree una geometría de colisión en forma de cuadro centrada en el origen. Las longitudes laterales de las direcciones x, y y z son 3, 1 y 2 metros, respectivamente.

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

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

Visualice el cuadro.

show(box)
title('Box')

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

Cree dos matrices de transformación homogéneas. La primera matriz es una rotación sobre el eje z por π/2 radianes, y la segunda matriz es una rotación sobre el eje x de π/8 radianes.

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

Cree una segunda geometría de colisión en forma de cuadro con las mismas dimensiones que la primera. Cambie su pose por el resultado de la multiplicación de las dos matrices. El resultado corresponde a la primera rotación sobre el eje z seguida de la rotación sobre el eje x. Visualice el resultado.

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

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

Capacidades ampliadas

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Historial de versiones

Introducido en R2019b