VectorLab šipky, které umí počítat

Tohle je statická kopie kapitoly pro vyhledávače. Interaktivní verze má animované obrázky, kontrolní otázky a tlačítka, která příklad načtou do kalkulačky.

Souřadnicové soustavy a místo, kde přestanou fungovat

Kartézské souřadnice nejsou jediné a často nejsou nejlepší. Rameno, které se otáčí kolem osy, se popisuje mnohem přirozeněji úhlem a poloměrem než dvojicí x, y. Volba soustavy je pořád táž volba z kapitoly 1 — a je zdarma, dokud si člověk nevšimne, co za ni platí.

polární: (r, θ)    válcové: (r, θ, z)    sférické: (r, θ, φ)tři obvyklé
xyzpθφkartézsky(1,255, 1,053, 1,147)x = r sin φ cos θy = r sin φ sin θz = r cos φpoloměr stínu ρ = r sin φ1,6383
(r, θ, φ) → (x, y, z) → (r, θ, φ) : 2,0000, 40,00°, 55,00°
Nastav φ na 0 nebo 180 a pak táhni θ. Bod se nehne. Tomu se říká singularita souřadnic — a je to táž vada, které se v RotLabu říká gimbal lock.

Konvence, kterou je nutné říct nahlas

U sférických souřadnic panuje skutečný zmatek v literatuře. Fyzikální konvence (a ISO 80000-2) měří φ dolů od osy z a θ je azimut v rovině. Matematická literatura ta dvě písmena často prohodí. Zeměpisná šířka se navíc měří od rovníku nahoru, tedy 90° − φ.

Tahle labka používá konvenci ISO: θ je azimut od osy x, φ se měří od osy z dolů. Testy ji pinují čtyřmi konkrétními případy — na +z vyjde φ = 0, v rovníkové rovině φ = 90° — právě proto, že prohozené písmeno je chyba, kterou žádný obecný test nechytí: všechny mezivýpočty vypadají správně a jenom výsledek je jinde.

x = r sin φ cos θ    y = r sin φ sin θ    z = r cos φze sférických do kartézských

Singularita: místo, kde soustava přestane být soustavou

Na severním pólu (φ = 0) ztratí θ jakýkoli význam. Ať se nastaví na cokoli, bod je pořád na ose. Kartézsky se nic nestalo — je to úplně obyčejný bod. Rozbila se soustava, ne prostor.

Praktické důsledky jsou tři a všechny bolí:

  • Zpětný převod nemá jednoznačnou odpověď. Solver musí vrátit nějaké konečné θ (vrací 0), ne NaN — a testy ověřují, že se z něj bod aspoň vrátí zpátky na pól.
  • Blízko pólu jsou rychlosti obrovské. Malý posun v prostoru znamená obrovskou změnu θ. Kdo plánuje trajektorii ve sférických souřadnicích, dostane u pólu prudký škubanec.
  • Vyhnout se tomu nejde volbou lepší soustavy. Je to věta: kouli nelze pokrýt jedinou soustavou dvou souřadnic bez singularity. Ať se osy natočí kamkoli, pól se jen přestěhuje.

Tohle je gimbal lock. Přesně táž vada, jen o jeden rozměr výš: Eulerovy úhly ztratí jeden stupeň volnosti v konkrétní poloze a odpověď na to není „zvolit jiné úhly“, ale opustit úhly úplně a použít kvaterniony. Podrobně v RotLabu, kde je gimbal lock i změřený.

Kdy se která hodí

soustavahodí se nasingularita
kartézskáposuvné osy, portály, 3D tiskžádná
polární / válcováotočný stůl, SCARA, navíjeníosa r = 0
sférickánaklápěcí hlavy, antény, směry pohleduoba póly

Kartézská soustava je jediná bez singularity — a to je při vší nudnosti její největší přednost.

Vzorce v této kapitole

(r, θ, φ) — sférické → kartézské (ISO, φ od osy z)
x = r sinφ cosθ, y = r sinφ sinθ, z = r cosφ [—] ISO 80000-2
θ, φ — kartézské → sférické
r = |p|, θ = atan2(y, x), φ = atan2(√(x²+y²), z) [rad] kap. 11