JavaScript trigonometrija
Ovde ćemo se upoznati sa različitim metodima objekta Math, koji predstavljaju trigonometrijske funkcije.
Math.sin(A) | Sinus ugla A zadatog u radijanima |
Math.cos(A) | Kosinus ugla A zadatog u radijanima |
Math.tan(A) | Tangens ugla A zadatog u radijanima |
Math.asin(N) | Vraća ugao za zadatu vrednost sinusa |
Math.acos(N) | Vraća ugao za zadatu vrednost kosinusa |
Math.atan(N) | Vraća ugao za zadatu vrednost tangensa |
Math.atan2(Y,X) | Ugao koji zadata tačka zaklapa sa pozitivnim delom X ose u koord. početku |
Math.sin() i Math.asin()
Sinus ugla se u pravouglom trouglu definiše kao odnos naspramne katete i hipotenuze. Ako bismo imali jedinični krug (krug kome je poluprečnik jednak 1), sa centrom u koordinatnom početku, onda bi sinus ugla bio Y koordinata koju ima tačka na kružnici na koju pokazuje zadati ugao.
Sinus je uvek vrednost koja varira između -1 i 1 (uključujući i -1 i 1)).
Tako na slici vidimo da je sin(0) = 0, sin(90) = 1. Posle tog ugla sinus se spušta opet do 0, za sin(180), i onda postaje negativan. Sinus od 270o = -1, a sin(360) isto što i sin(0).
Na slici su uglovi prikazani u radijanima (90o = PI/2 radijana, 180o = PI radijana, dok je pun krug, odnosno 360o = 2*PI radijana.
Metod Math.sin() kao rezultat vraća sinus ugla zadatog u radijanima. Funkcija Math.asin() (arkus sinus) je inverzna funkcija sinusu i za zadatu vrednost sinusa vraća originalni ugao u radijanima.
Math.sin(ugao)
Math.asin(sinus)
Math.cos() i Math.acos()
Kosinus ugla u pravouglom trouglu predstavlja odnos nalegle katete i hipotenuze. U jediničnom krugu bi kosinus ugla se gleda na X osi za zadati ugao.
Isto kao i sinus, kosinus ugla je uvek vrednost od -1 do 1.
Metod Math.cos() kao rezultat vraća kosinus ugla zadatog u radijanima. Isto kao kod sinusa, postoji i inverzna funkcija (arkus kosinus) Math.acos(), koja za zadati kosinus, vraća vrednost originalnog ugla.
Math.cos(ugao)
Math.acos(kosinus)
Math.tan(), Math.atan() i Math.atan2()
U pravouglom trouglu se tangens ugla računa kao odnos naspramne i nalegle katete, dok je kotangens odnos nalegle i naspramne. Tangens ugla se u jediničnom krugu gleda kao Y koordinata preseka tangente na kružnicu u tački preseka sa X osom i produžene linije poluprečnika. Na sličan način se dobija kotangens - samo se koristi gornja tangenta.
Inače, primećujemo da je za ugao od 45o tg(45) = ctg(45) = 1. Takođe, tg(0) = 0, dok je tg(90) = beskonačno. Za kotangens važi obrnuto, ctg(0) = beskonačno, a ctg(90) = 0.
Metod Math.tan() kao rezultat vraća tangens ugla zadatog u radijanima. Zaseban metod za računanje kotangensa u objektu Math ne postoji, pošto je ctg(a) = 1 / tg(a).
Math.tan(ugao)
Isto kao i za sinus i kosinus, postoji i funkcija koja računa arkus tangens, Math.atan(). Za zadatu vrednost tangensa, kao rezultat dobijamo originalni ugao. Međutim, objekat Math ima još jedan metod za računanje arkus tangensa.
Metod Math.atan2() za zadate koordinate neke tačke, vraća vrednost ugla koji zaklapa vektor te tačke (duž koja povezuje tačku sa koordinatnim početkom) i pozitivan odsečak X ose. Ovom metodu se specifično prvo zadaje Y, a onda X koordinata.
Math.atan(tangens)
Math.atan2(y,x)
Isto kao kod arkus sinusa, rezultat metoda Math.atan() može biti samo ugao od -PI/2 do PI/2 (od -90o do 90o). Međutim, funkcija Math.atan2(), nema takvo ograničenje.
Trigonometrijske funkcije
s = Math.sin(Math.PI / 6 * 5); // s = 0.5
a = Math.asin(0.5); // a = Math.PI / 6
t = Math.tan(Math.PI / 4); // t = 1.0
a = Math.atan(-infinity); // a = -Math.PI / 2