Do prostoru: matice 4×4
Všechno z předchozích kapitol platí v prostoru beze změny, jen matice mají 4×4 a rotace mají tři osy místo jedné.
Rotační blok je 3×3, poslední sloupec je posun, poslední řádek pořád (0, 0, 0, 1). Bod má na konci 1, směr 0 — přesně jako v rovině.
Tři věci se ale změní, a všechny bolí
- Otáčení přestane komutovat. V rovině je jedno, v jakém pořadí se otáčí; v prostoru rozhodně ne. Otočit o 90° kolem x a pak kolem y je něco úplně jiného než naopak — a je to snadné si vyzkoušet s krabičkou od zápalek.
- Úhly se nesčítají. V rovině bylo natočení nástroje součtem kloubových úhlů. V prostoru žádný takový součet neexistuje.
- Zápis rotace přestane být samozřejmý. Devět čísel na tři stupně volnosti je šest čísel navíc, takže existuje pořádí konvencí — Eulerovy úhly (dvanáct sekvencí!), osa-úhel, kvaterniony. Každá má svoji past.
Tady tahle labka končí a začíná RotLab. Orientace v prostoru je vlastní téma s vlastními pastmi — gimbal lock, dvě konvence kvaternionů, dvanáct Eulerových sekvencí — a mít na ně dvě odpovědi ve dvou labkách by znamenalo mít je za chvíli rozejité. TransformLab tedy 4×4 používá, ale rotační blok bere jako danou věc.
A jedna věc navíc: perspektiva
Až dosud byl poslední řádek pořád (0, …, 0, 1). Když se nechá být něčím jiným, poslední souřadnice po vynásobení nebude 1 — a bod se musí vydělit tou hodnotou. Tomu se říká perspektivní dělení a je to přesně to, čím kamera dělá vzdálené věci menšími. Homogenní souřadnice tedy nejsou trik na posun; posun je jen jejich nejjednodušší použití. Viz VisionLab.