Contenido principal

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

collisionCylinder

Cree una geometría de colisión en forma de cilindro

Descripción

Utilice collisionCylinder para crear una geometría de colisión en forma de cilindro que está alineada al eje z de su marco fijado al cuerpo y tiene el origen del marco fijado al cuerpo en el centro del cilindro.

Creación

Descripción

CYL = collisionCylinder(Radius,Length) crea una geometría de colisión en forma de cilindro con Radius y Length especificados. El cilindro está alineado al eje con su propio marco fijado al cuerpo. El lado del cilindro descansa en el eje z. El origen del marco fijado al cuerpo está en el centro del cilindro.

ejemplo

CYL = collisionCylinder(___,Pose=pose) establece la propiedad Pose del cilindro en pose, relativa al marco del mundo real.

Propiedades

expandir todo

Radio del cilindro, especificado como un escalar positivo. Las unidades se establecen en metros.

Tipos de datos: double

Longitud del cilindro, especificada como un escalar no negativo. Las unidades se establecen en metros.

Tipos de datos: double

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

Nota

Observe que cuando se especifica la pose como un objeto se3, la propiedad Pose almacena la pose como una matriz de 4 por 4 numérica.

Tipos de datos: single | double

Funciones del objeto

checkCollisionComprobar si dos geometrías están en colisión
convertToCollisionMeshConvierta la geometría primitiva de colisión en geometría de malla de colisión
fitCollisionCapsuleAjustar la cápsula de colisión alrededor de la geometría de colisión
showMuestre la geometría de colisión

Ejemplos

contraer todo

Cree una geometría de colisión en forma de cilindro centrada en el origen. El cilindro mide 4 metros de largo y tiene un radio de 1 metro.

rad = 1;
len = 4;
cyl = collisionCylinder(rad,len)
cyl = 
  collisionCylinder with properties:

    Radius: 1
    Length: 4
      Pose: [4×4 double]

Visualice el cilindro.

show(cyl)
title("Cylinder")

Figure contains an axes object. The axes object with title Cylinder, xlabel X, ylabel Y contains an object of type patch.

Cree una transformación homogénea que se corresponda con una rotación en el sentido de las agujas del reloj de π/4 radianes en torno al eje y. Establezca la pose del cilindro en la nueva matriz. Muestre el cilindro.

ang = pi/4;
mat = axang2tform([0 1 0 ang]);
cyl.Pose = mat;
show(cyl)

Figure contains an axes object. The axes object with xlabel X, ylabel Y contains an object of type patch.

Capacidades ampliadas

expandir todo

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

Historial de versiones

Introducido en R2019b

expandir todo

Consulte también

Objetos

Funciones