web-dev-qa-db-fra.com

Comment utiliser Math.cos () & Math.sin ()?

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?

9
joanlopez

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))
58
Pubby

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
15
assylias
public static double sin(double a)

Parameters:
a - an angle, in radians.
Returns:
the sine of the argument.
5
Nikolay Kuznetsov

Vous pouvez aussi utiliser ceci:

degrees *= Math.PI / 180;
Math.cos(degrees)
3
Khuong

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. :)

0
codepleb