Contenu principal

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

parfois, *

Multiplication des quaternions

Description

quatC = A*B implémente la multiplication de quaternions si A ou B est un quaternion. Soit A ou B doit être un scalaire.

Vous pouvez utiliser la multiplication par quaternions pour composer des opérateurs de rotation :

  • Pour composer une séquence de rotations de trame, multipliez les quaternions dans l'ordre de la séquence de rotations souhaitée. Par exemple, pour appliquer un quaternion p suivi d'un quaternion q , multipliez dans l'ordre pq. L'opérateur de rotation devient (pq)v(pq), où v représente l'objet à faire pivoter spécifié sous forme de quaternion. * représente la conjugaison.

  • Pour composer une séquence de rotations de points, multipliez les quaternions dans l'ordre inverse de la séquence de rotations souhaitée. Par exemple, pour appliquer un quaternion p suivi d'un quaternion q , multipliez dans l'ordre inverse, qp. L'opérateur de rotation devient (qp)v(qp).

exemple

Exemples

réduire tout

Créez un vecteur colonne 4 par 1, A, et un scalaire, b. Multipliez A par b.

A = quaternion(randn(4,4))
A = 4x1 quaternion array
      0.53767 +  0.31877i +   3.5784j +   0.7254k
       1.8339 -   1.3077i +   2.7694j - 0.063055k
      -2.2588 -  0.43359i -   1.3499j +  0.71474k
      0.86217 +  0.34262i +   3.0349j -  0.20497k

b = quaternion(randn(1,4))
b = quaternion
    -0.12414 +  1.4897i +   1.409j +  1.4172k

C = A*b
C = 4x1 quaternion array
      -6.6117 +   4.8105i +  0.94224j -   4.2097k
      -2.0925 +   6.9079i +   3.9995j -   3.3614k
       1.8155 -   6.2313i -    1.336j -     1.89k
      -4.6033 +   5.8317i + 0.047161j -    2.791k

Arguments d'entrée

réduire tout

Entrée à multiplier, spécifiée comme un objet quaternion , un tableau d'objets quaternion de n'importe quelle dimensionnalité, un scalaire réel ou un tableau de nombres réels de n'importe quelle dimensionnalité. Les valeurs numériques doivent être du type de données single ou double.

Si B est non scalaire, alors A doit être scalaire.

Entrée à multiplier, spécifiée comme un objet quaternion , un tableau d'objets quaternion de n'importe quelle dimensionnalité, un scalaire réel ou un tableau de nombres réels de n'importe quelle dimensionnalité. Les valeurs numériques doivent être du type de données single ou double.

Si A est non scalaire, alors B doit être scalaire.

Arguments de sortie

réduire tout

Produit Quaternion, renvoyé sous la forme d'un objet quaternion ou d'un tableau d'objets quaternion .

Algorithmes

réduire tout

Références

[1] Kuipers, Jack B. Quaternions and Rotation Sequences: A Primer with Applications to Orbits, Aerospace, and Virtual Reality. Princeton, NJ: Princeton University Press, 2007.

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