atan2
atan2 (někde arctg2) je funkce dostupná v mnoha programovacích jazycích, numerických knihovnách a nástrojích pro výpočty, kterou lze použít místo funkce arkus tangens a která významně usnadňuje převod z pravoúhlých souřadnic na polární a podobné úlohy. Funkce je definovaná pro všechny reálné hodnoty dvou parametrů, a v případech, kdy je výraz na pravé straně definován, platí
Účel
[editovat | editovat zdroj]Funkce atan2 řeší dva problémy, ke kterým by došlo při použití výrazu :
- Pokud je x nulové nebo velmi malé, při výpočtu
y/x
může dojít k chybě dělení nulou nebo přetečení; hodnota funkce atan2 je však nebo . - Při převodu na polární souřadnice potřebujeme úhel v rozsahu celého kruhu, tj. nebo 360°, zatímco funkce arctg vrací hodnoty v intervalu , neboli (-90°, 90°) – informace o znaménkách obou souřadnic se při použití jednoho parametru ztratí; proto je nutné po použití funkce arctg určovat správnou polorovinu případně kvadrant.
Definice
[editovat | editovat zdroj]je funkce definovaná přepisem:
kde arctg(x) je arkus tangens.
Striktně matematicky není hodnota definována (nulový vektor nemá definovanou orientaci); pro programování může být libovolná; obvykle se používá 0.
Jiná definice pomocí distribucí, konkrétně Heavisideovy skokové funkce :
V programovacích jazycích je funkce atan2 definována tak, že vrací hodnoty v intervalu .
Užití
[editovat | editovat zdroj]Pomocí takto definované funkce můžeme snadno zapsat např. přechod od kartézských souřadnic k polárním; bod o kartézských souřadnicích lze vyjádřit pomocí polárních souřadnic takto:
odtud
Funkci atan2(y,x) lze použít také pro přechod mezi kartézskou soustavou souřadnic a sférickou soustavou souřadnic, resp. válcovou soustavou souřadnic.
Obdobně, atan2(y,x) nám dává argument komplexního čísla x + iy.
Praktická poznámka
[editovat | editovat zdroj]V programovacích jazycích (C, PHP, Java, JavaScript, ...) se vždy píše jako první parametr souřadnice y a jako druhý souřadnice x tj. tvar atan2(y, x).
Ale v tabulkových kalkulátorech (Microsoft Excel, LibreOffice Calc, apod.) bývá použit obrácený tvar tj. atan2(x, y)!
Odkazy
[editovat | editovat zdroj]Související články
[editovat | editovat zdroj]- Arkus tangens
- Ortogonální souřadnice
- Kartézská soustava souřadnic
- Polární soustava souřadnic
- Sférická soustava souřadnic
- Cyklometrická funkce
Externí odkazy
[editovat | editovat zdroj]- Obrázky, zvuky či videa k tématu atan2 na Wikimedia Commons