Tuhé transformace: co smí a co ne
Skoro všechno, co dělá stroj, jsou tuhé transformace: rameno se otáčí a posouvá, ale nic nenatahuje ani nezrcadlí. Je to natolik zvláštní podmnožina, že se vyplatí mít na ni test.
První říká, že se zachovají délky a úhly. Druhá, že se nepřevrátila orientace. Obě jsou nutné a každá zvlášť propustí něco jiného:
- Zkos má det = 1 a poruší první podmínku. Obsah zachová, tvar ne.
- Zrcadlení splní první podmínku dokonale — zachová každou délku i úhel — a má det = −1. Kontrolovat jen ortogonalitu ho pustí dál, a zrcadlený rámec pak tiše převrátí každý vektorový součin, který se z něj počítá.
Drift, a proč se to musí měřit
Rotační matice vynásobená sama sebou tisíckrát už rotační matice úplně přesně není: zaokrouhlovací chyby se sčítají a ortogonalita se pomalu rozpadá. Testy v repu to změřily: po 5000 násobeních je odchylka od RᵀR = I asi 4·10⁻¹³ a determinant sedí na dvanáct míst. To je pro rovinné otáčení nic — ale je to měřená nula, ne předpokládaná, a u dlouho běžícího systému se stejný test vyplatí pouštět.
Když drift naroste, srovná se to Gram-Schmidtem (VectorLab, kapitola 9) nebo v prostoru přes kvaterniony (RotLab).
Determinant sám nestačí ani v jednom směru. Zkos má det = 1 a tuhý není; zrcadlení je ortogonální a tuhé není. Kalkulačka proto hlásí obojí zvlášť — ortogonalitu i determinant — a odmítne nabídnout levnou inverzi, dokud nesedí obě.