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.

collisionSphere

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

Descripción

Utilice collisionSphere para crear una geometría de colisión en forma de esfera con el origen del marco fijado a la geometría en el centro de la esfera.

Creación

Descripción

SPH = collisionSphere(Radius) crea una geometría de colisión en forma de esfera con Radius especificado centrada en el origen del marco del mundo real. El origen del marco fijado a la geometría está en el centro de la esfera.

ejemplo

SPH = collisionSphere(___,Pose=pose) establece la propiedad Pose de la esfera en pose, relativa al marco del mundo real.

Propiedades

expandir todo

Radio de la esfera, especificado como un escalar positivo. 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 esfera centrada en el origen. La esfera tiene un radio de 1 metro.

rad = 1;
sph = collisionSphere(rad)
sph = 
  collisionSphere with properties:

    Radius: 1
      Pose: [4×4 double]

Visualice la esfera.

show(sph)
title("Sphere")

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

Cree una geometría de colisión en forma de cilindro con un radio de 1 metro y una longitud de 3 metros.

cyl = collisionCylinder(1,3);

Cree una transformación homogénea que se corresponda con una traslación de 2,5 metros sobre el eje z. Establezca la pose de la esfera en la matriz. Muestre la esfera y el cilindro.

mat = trvec2tform([0 0 2.5]);
sph.Pose = mat;
show(sph)
hold on
show(cyl)
view(90,0)
zlim([-2 4])

Figure contains an axes object. The axes object with xlabel X, ylabel Y contains 2 objects 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

Bloques