J'utilise Math.cos
et Math.sin
mais cela me renvoie des résultats inattendus comme ceux-ci:
Angle Sin Cos
354 0.8414 -0.5403
352 0.1411 0.98998
350 -0.958 -0.2836
Pourquoi j'obtiens ces résultats?
Est-ce que vous essayez d'utiliser des degrés? Gardez à l'esprit que sin
et cos
attendent des radians.
Math.cos(Math.toRadians(354))
Math.cos
et Math.sin
prennent angles en radians , pas degrés. Pour que vous puissiez utiliser:
double angleInDegree = 354;
double angleInRadian = Math.toRadians(angleInDegree);
double cos = Math.cos(angleInRadian); // cos = 0.9945218953682733
public static double sin(double a)
Parameters:
a - an angle, in radians.
Returns:
the sine of the argument.
Vous pouvez aussi utiliser ceci:
degrees *= Math.PI / 180;
Math.cos(degrees)
Aucune des réponses ne correspondait à mes besoins. Voici ce que j'ai eu:
Un sinus en degré (non radiant) . Voici comment vous le reconvertissez en angle:
double angle = Math.toDegree(Math.asin(sinusInDegree));
Explication: Si vous avez 2 côtés d’un triangle, c’est la seule solution qui a fonctionné pour moi. Vous pouvez tout calculer en utilisant la mesure de degré normale, mais vous devez reconvertir la Math.asin()
en degré pour obtenir le bon résultat. :)