2011-01-17 4 views
12

tan (5,3) = 0.09276719520463tan w javascript

ale w javascript:

Math.tan (5.3) = -1.50127339580693

Jak obliczyć Math.tan (coś) w javascript w tryb deg?

+2

Technicznie tan (5,3) * nie * 0,092767 ...; tan (5.3 °) to 0.092767 ... - jeśli używasz stopni (lub gradian), musisz je określić. –

Odpowiedz

27

zamiast pisać funkcji otoki dla niego (i biorąc trafień wydajności), można pomnożyć przez tych stałych:

var deg2rad = Math.PI/180; 
var rad2deg = 180/Math.PI; 

a następnie wykorzystać je tak:

var ratio = Math.tan(myDegrees * deg2rad); 
var degrees = Math.atan(ratio) * rad2deg; 

JavaScript występuje tylko w radianach, zarówno jako argumenty jak i zwracaj wartości. Od ciebie zależy, czy je skonwertujesz, jak chcesz.

Należy również pamiętać, że jeśli próbujesz znaleźć stopni obrotów dla współrzędnych xy, należy użyć Math.atan2 tak, że JavaScript może powiedzieć, który kwadrant punktem jest i daje odpowiedni kąt:

[ Math.atan(1/ 1), Math.atan2(1, 1) ]; // [ 45, 45 ] 
[ Math.atan(1/-1), Math.atan2(1,-1) ]; // [ -45, 135 ] 
[ Math.atan(-1/ 1), Math.atan2(-1, 1) ]; // [ -45, -45 ] 
[ Math.atan(-1/-1), Math.atan2(-1,-1) ]; // [ 45,-135 ] 
+0

+1 dla 'atan2', właśnie tego szukałem, dzięki! – thejh

4

Trudno znaleźć!

Aby wykonać podstawowe triangle math w JavaScript, użytkowania ..

Math.atan(opposite/adjacent) * 180/Math.PI