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.

collisionCapsule

Geometría de colisión primitiva de la cápsula.

Desde R2022b

    Descripción

    El objeto collisionCapsule es una geometría de colisión primitiva de cápsula definida por un radio y una longitud, con el segmento de línea central de la cápsula alineado con su eje z y el origen del marco fijo del cuerpo ubicado en el punto medio del segmento de línea central.

    Creación

    Descripción

    CAPS = collisionCapsule(radius,length) crea una cápsula primitiva con el radio especificado radius y la longitud length. Los argumentos radius y length establecen las propiedades Radius y Length, respectivamente.

    ejemplo

    CAPS = collisionCapsule(___,Pose=pose) establece la propiedad Pose de la cápsula en pose, relativa al marco mundial.

    Propiedades

    expandir todo

    Radio de los extremos esféricos de la cápsula, especificado como un escalar positivo. Las unidades se establecen en metros.

    Ejemplo: 2.5

    Longitud del segmento de la línea central de la cápsula, especificada como un escalar no negativo. Las unidades se establecen en metros.

    Nota

    Esta no es la longitud de un extremo a otro de la cápsula. La longitud total de la cápsula es Length+2(Radius).

    Ejemplo: 4.5

    Pose de la cápsula en relación con el marco del mundo, especificada como una matriz de transformación homogénea de 4 por 4 o un objeto se3 (Robotics System Toolbox). Las unidades se establecen en metros.

    Ejemplo: trvec2tform([4 2 5])

    Funciones del objeto

    checkCollisionComprobar si dos geometrías están en colisión
    genspheresGenerar esferas a lo largo del segmento de la línea central de la cápsula.
    convertToCollisionMeshConvierta la geometría primitiva de colisión en geometría de malla de colisión
    showMuestre la geometría de colisión

    Ejemplos

    contraer todo

    Crea una cápsula de colisión con un radio de 2 y una longitud de 10. Visualice la cápsula.

    cCapsule = collisionCapsule(2,10);
    [~,p] = show(cCapsule);

    Genere esferas con proporciones 0.0, 0.5 y 1.0 de la longitud de la cápsula.

    spheres = genspheres(cCapsule,linspace(0,1,3));

    Muestra las posiciones de las esferas.

    for i = 1:length(spheres)
        disp(tform2trvec(spheres{i}.Pose))
    end
         0     0    -5
    
         0     0     0
    
         0     0     5
    

    Establezca los alfas de cara y borde de la cápsula en valores bajos. Esto asegura que ambas esferas sean visibles cuando las agregues a la figura.

    p.FaceAlpha = 0.4;
    p.EdgeAlpha = 0.01;
    hold on

    Muestra las esferas generadas en la cápsula.

    cellfun(@show,spheres);

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

    expandir todo

    Consulte también

    Objetos

    Funciones