Contenu principal

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

gravitydir

Vecteur de direction gravitationnelle pour une orientation donnée

Depuis R2023b

Description

D = gravitydir(orientations) renvoie le vecteur de direction de gravité normalisé exprimé dans les images définies par orientations. Par défaut, le référentiel de ces orientations est le référentiel nord-est-bas (NED). Voir Direction de la gravité pour plus de détails.

exemple

D = gravitydir(orientations,RF) spécifie le référentiel comme le référentiel "NED" (nord-est en bas) ou "ENU" (est-nord en haut) cadre.

Exemples

réduire tout

Créez un quaternion d'identité et obtenez le vecteur de direction de gravité correspondant. Vérifiez que le vecteur de direction de la gravité est [0 0 1] comme prévu.

quat0 = ones(1,"quaternion");
dir1 = gravitydir(quat0)
dir1 = 1×3

     0     0     1

Ensuite, créez un quaternion qui correspond à une rotation x de 90 degrés. Obtenez le vecteur de direction de la gravité.

angles = [0 0 90];
quat1 = quaternion(angles,"eulerd","ZYX","frame");
dir2 = gravitydir(quat1)
dir2 = 1×3

         0    1.0000    0.0000

Vous pouvez vérifier visuellement ce résultat en utilisant la fonction poseplot . Sur la figure, vous pouvez voir que l’accélération gravitationnelle se situe le long de l’axe y.

poseplot(quat1)

Figure contains an axes object. The axes object is empty.

Remplacez le cadre de référence par le cadre est-nord-haut (ENU) et obtenez le vecteur de direction de la gravité.

dir3 = gravitydir(quat1,"ENU")
dir3 = 1×3

         0   -1.0000   -0.0000

Enfin, créez un vecteur de quaternions aléatoires et obtenez les vecteurs de direction de gravité correspondants.

rng(2023) % For repeatable results
quats = randrot(10,1);
D = gravitydir(quats)
D = 10×3

   -0.2859   -0.8615   -0.4197
   -0.7971   -0.3204    0.5119
    0.3598    0.7139   -0.6007
    0.3622    0.6720    0.6460
    0.1749    0.4020    0.8988
    0.4627    0.3655   -0.8077
    0.3134    0.8613    0.4000
    0.8776    0.4267   -0.2185
   -0.9924   -0.1226    0.0137
    0.4086   -0.4099    0.8155

Arguments d'entrée

réduire tout

Orientations, spécifiées comme un vecteur N-par-1 d'objets quaternion ou comme un vecteur 3-par-3-par- N tableau de matrices de rotation. N est le nombre total d’orientations.

Référentiel de référence, spécifié comme "NED" pour le référentiel nord-est-bas ou "ENU" pour le référentiel est-nord-haut.

Types de données : string | char

Arguments de sortie

réduire tout

Vecteurs de direction de la gravité, renvoyés sous la forme d'une matrice à valeurs réelles N-par-3. N est le nombre total d’orientations. Chaque ligne de la matrice est un vecteur de direction gravitationnelle.

En savoir plus

réduire tout

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 R2023b

Voir aussi

| |