2012-12-19 11 views

risposta

46

Stai cercando di utilizzare i gradi? Tieni presente che sin e cos prevedono radianti.

Math.cos(Math.toRadians(354)) 
+1

si dovrebbe accettare la sua risposta come corretta. – Budius

13

Math.cos e Math.sin prendere angles in radians, non gradi. Così si può utilizzare:

double angleInDegree = 354; 
double angleInRadian = Math.toRadians(angleInDegree); 
double cos = Math.cos(angleInRadian); // cos = 0.9945218953682733 
+0

Sì, ho commesso un errore newbie. Grazie per la soluzione. – user1782922

+1

+1 o usare 'Math.cos (Math.toRadians (354))' – Pshemo

+0

@Pshemo Molto meglio davvero. Modificato. – assylias

5
public static double sin(double a) 

Parameters: 
a - an angle, in radians. 
Returns: 
the sine of the argument. 
0

Nessuna delle risposte montato le mie esigenze. Ecco cosa ho avuto:

Un seno in grado (non radiante). Questo è come lo si accende di nuovo in un angolo di grado:

double angle = Math.toDegree(Math.asin(sinusInDegree)); 

Spiegazione: Se si dispone di 2 lati di un triangolo, è l'unica soluzione che ha funzionato per me. Puoi calcluare tutto usando la normale metrica di laurea, ma devi convertire lo Math.asin() in gradi per il risultato giusto. :)

2

È possibile utilizzare anche questo:

degrees *= Math.PI/180; 
Math.cos(degrees) 
+0

Penso che 'Math # toRadians()' sia più leggibile ma grazie per averlo menzionato anche in questo modo;) – Nicofisi

Problemi correlati