7. Kvaterniony
Čtyři čísla s jednou vazbou (jednotková délka). Nemají singularitu, skládají se levněji než matice, dobře se interpolují a dobře se integrují. Za to platí jedinou vlastností, které je potřeba rozumět — dvojitým pokrytím.
Z osy a úhlu se kvaternion staví přímočaře, jen si všimni poloviny úhlu:
Ta polovina je zdrojem všeho, co je na kvaternionech zvláštní — i toho dvojitého pokrytí.
Otočení vektoru
kde v je „čistý“ kvaternion s nulovou skalární částí a q* je konjugovaný kvaternion (opačná rotace). Skládání rotací je prostý součin, ve stejném pořadí jako u matic: qAC = qAB ⊗ qBC.
Dvojité pokrytí
q a −q jsou tatáž rotace. Otočení o θ kolem k̂ a otočení o 2π−θ kolem −k̂ skončí ve stejné poloze, a kvaternion to pozná: převod na matici dá bit po bitu stejný výsledek. Důsledky, na které se naráží:
- Porovnávat kvaterniony po složkách nejde — musíš připustit obě znaménka.
- Filtr nebo regulátor, který počítá „chybu“ jako qcíl − qteď, se může rozjet opačným směrem. Chyba se počítá jako qcíl ⊗ qteď*.
- Interpolace si musí vybrat kratší cestu (kapitola 8).
Numerika
Převod matice → kvaternion se nesmí psát naivně jako w = √(1+stopa)/2: blízko θ = π jde stopa k −1 a odmocnina ztratí všechny platné číslice. Nástroj používá Shepperdovu metodu — vybere se ta ze čtyř větví, jejíž odmocňovaný výraz je největší. V testech je to ověřené při θ → π, kde naivní varianta selhává.