Contenu principal

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

collisionCylinder

Créer une géométrie de cylindre de collision

Description

Utilisez collisionCylinder pour créer une géométrie de collision de cylindre centrée à l'origine.

Création

Description

CYL = collisionCylinder(Radius,Length) crée une géométrie de collision de cylindre avec un Radius et un Length spécifiés. Le cylindre est aligné sur son axe avec son propre cadre fixe au corps. Le côté du cylindre se trouve le long de l'axe z. L'origine du châssis fixe à la caisse se trouve au centre du cylindre.

exemple

CYL = collisionCylinder(___,Pose=pose) définit la propriété Pose du cylindre sur pose, par rapport au cadre mondial.

Propriétés

développer tout

Rayon du cylindre, spécifié sous forme de scalaire positif. Les unités sont en mètres.

Types de données : double

Longueur du cylindre, spécifiée sous forme de scalaire positif. Les unités sont en mètres.

Types de données : double

Pose de la géométrie de collision par rapport au référentiel mondial, spécifiée comme une matrice homogène 4 x 4 ou un objet se3 . Vous pouvez modifier la pose après avoir créé la géométrie de collision.

Remarque

Notez que lorsque la pose est spécifiée en tant qu'objet se3 , la propriété Pose stocke la pose sous forme de matrice numérique 4 x 4.

Types de données : single | double

Fonctions d'objet

showAfficher la géométrie des collisions
convertToCollisionMeshConvertir la géométrie primitive de collision en géométrie de maillage de collision
fitCollisionCapsuleAjuster la capsule de collision autour de la géométrie de collision

Exemples

réduire tout

Créez une géométrie de collision de cylindre centrée à l'origine. Le cylindre mesure 4 mètres de long et a un rayon de 1 mètre.

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

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

Visualisez le cylindre.

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.

Créer une transformation homogène qui correspond à une rotation dans le sens des aiguilles d'une montre deπ/4radians autour de l'axe y. Définissez la pose du cylindre sur la nouvelle matrice. Montrez le cylindre.

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.

Capacités étendues

développer tout

Génération de code C/C++
Générez du code C et C++ avec MATLAB® Coder™.

Historique des versions

Introduit dans R2019b

développer tout