Po pierwsze, należy pamiętać, że składnia to atan(y/x)
, ale atan2(y, x)
, a nie atan2(y/x)
. Jest to ważne, ponieważ nie wykonując podziału, podajesz dodatkowe informacje, przede wszystkim indywidualne znaki x
i y
. Jeśli znasz współrzędne x
i y
, znasz kąt, łącznie z kwadrantem.
Jeśli pójdziesz z tan(θ) = y/x
do sin(θ) = y/sqrt(x²+y²)
, wówczas operacja odwrotna asin
trwa y
i sqrt(x²+y²)
i łączy, że aby uzyskać pewne informacje o tym kątem. Tutaj nie ma znaczenia, czy wykonamy podział samodzielnie, czy też możemy obsłużyć jakąś hipotetyczną funkcję asin2
. Mianownik jest zawsze dodatni, więc podzielony argument zawiera tyle informacji, ile zawiera oddzielny licznik i mianownik. (Co najmniej w IEEE środowisku, w którym dzielenie przez zero prowadzi do poprawnie podpisane nieskończoność).
Jeśli wiadomo, że y
współrzędnych i hypothenuse sqrt(x²+y²)
wtedy wie, sinus kąta, lecz nie może znać sam kąt , ponieważ nie można rozróżnić wartości ujemnych od dodatnich x
. Podobnie, jeśli znasz współrzędną x
i hipotezę, znasz cosinus kąta, ale nie możesz znać znaku wartości y
.
Tak więc asin2
i acos2
nie są matematycznie wykonalne, przynajmniej nie w oczywisty sposób. Gdybyś miał jakiś znak zakodowany w hipotezie, rzeczy mogą być inne, ale nie mogę wymyślić żadnej sytuacji, w której taki znak pojawiłby się naturalnie.
Zgadzam się. Domena 'sin (x)' to 'x = -π/2 ... π/2' oraz' cos (x) 'to' x = 0..π'. Istnieje _nie_ droga 'acos()' zwróci liczbę ujemną, ponieważ 'cos (x) = cos (-x)'. – ja72
Pierwsze zdanie, jeśli jest bardzo mylące. – Dan