Qu'est-ce qu'un calculateur de quaternions ?
Un quaternion est un nombre à quatre dimensions noté \(q = w + xi + yj + zk\), où w désigne la partie scalaire (réelle) et (x, y, z) la partie vectorielle (imaginaire). Les quaternions sont largement utilisés en infographie 3D, en robotique, dans l'aérospatiale et en physique pour représenter des rotations sans le problème de blocage de cardan (gimbal lock) propre aux angles d'Euler. Ce calculateur multiplie deux quaternions, puis affiche la norme de chacun et le conjugué du premier.
Comment l'utiliser
Saisissez les quatre composantes (w, x, y, z) pour chacun des quaternions q1 et q2. Le calculateur renvoie le produit de Hamilton q1 × q2 sous forme d'un nouveau quaternion, le module (norme) des deux entrées et le conjugué de q1. La multiplication de quaternions n'est pas commutative : en général, q1 × q2 ≠ q2 × q1, l'ordre des facteurs compte donc.
La formule expliquée
Le produit de Hamilton combine une partie scalaire et une partie vectorielle. Le résultat scalaire vaut w₁w₂ moins le produit scalaire des parties vectorielles. Le résultat vectoriel vaut w₁v₂ + w₂v₁ auquel s'ajoute le produit vectoriel v₁ × v₂.
$$\begin{gathered} q_1 q_2 = (w_1 w_2 - x_1 x_2 - y_1 y_2 - z_1 z_2) + (w_1 x_2 + x_1 w_2 + y_1 z_2 - z_1 y_2)\,i \\ + (w_1 y_2 - x_1 z_2 + y_1 w_2 + z_1 x_2)\,j + (w_1 z_2 + x_1 y_2 - y_1 x_2 + z_1 w_2)\,k \\[1.5em] \text{where}\quad \left\{ \begin{aligned} q_1 &= \text{w}_1 + \text{x}_1\,i + \text{y}_1\,j + \text{z}_1\,k \\ q_2 &= \text{w}_2 + \text{x}_2\,i + \text{y}_2\,j + \text{z}_2\,k \end{aligned} \right. \end{gathered}$$La norme correspond à la longueur euclidienne \(\sqrt{w^2+x^2+y^2+z^2}\), et le conjugué se contente d'inverser le signe des composantes vectorielles : \(q^{*} = (w, -x, -y, -z)\).
$$\lVert q_1 \rVert = \sqrt{\text{w}_1^{2} + \text{x}_1^{2} + \text{y}_1^{2} + \text{z}_1^{2}}$$$$\lVert q_2 \rVert = \sqrt{\text{w}_2^{2} + \text{x}_2^{2} + \text{y}_2^{2} + \text{z}_2^{2}}$$$$q_1^{*} = \text{w}_1 - \text{x}_1\,i - \text{y}_1\,j - \text{z}_1\,k$$
Exemple détaillé
Prenons q1 = (1, 2, 3, 4) et q2 = (5, 6, 7, 8). La partie scalaire vaut \(1\cdot5 - 2\cdot6 - 3\cdot7 - 4\cdot8 = 5 - 12 - 21 - 32 = -60\). La composante i vaut \(1\cdot6 + 2\cdot5 + 3\cdot8 - 4\cdot7 = 6 + 10 + 24 - 28 = 12\). La composante j vaut \(1\cdot7 - 2\cdot8 + 3\cdot5 + 4\cdot6 = 7 - 16 + 15 + 24 = 30\). La composante k vaut \(1\cdot8 + 2\cdot7 - 3\cdot6 + 4\cdot5 = 8 + 14 - 18 + 20 = 24\). On obtient donc \(q_1 \times q_2 = (-60, 12, 30, 24)\).
FAQ
La multiplication de quaternions est-elle commutative ? Non. À cause du terme de produit vectoriel, q1 × q2 diffère généralement de q2 × q1.
Qu'est-ce qu'un quaternion unitaire ? C'est un quaternion dont la norme est égale à 1. Les quaternions unitaires représentent des rotations pures dans l'espace 3D.
Comment faire pivoter un vecteur ? Considérez le vecteur comme un quaternion avec w = 0, puis calculez \(q \cdot v \cdot q^{*}\), où q est un quaternion unitaire encodant la rotation.