13

Math.cosandを使用しMath.sinていますが、次のような予期しない結果が返されます。

 Angle   Sin      Cos
 354     0.8414  -0.5403
 352     0.1411   0.98998
 350    -0.958   -0.2836

なぜこれらの結果が得られるのですか?

4

5 に答える 5

61

度を使用しようとしていますか?sincosはラジアンを期待していることに注意してください。

Math.cos(Math.toRadians(354))
于 2012-12-19T11:15:04.723 に答える
17

Math.cos度ではなく、ラジアンで角度Math.sinとります。したがって、次を使用できます。

double angleInDegree = 354;
double angleInRadian = Math.toRadians(angleInDegree);
double cos = Math.cos(angleInRadian); // cos = 0.9945218953682733
于 2012-12-19T11:15:13.790 に答える
5
public static double sin(double a)

Parameters:
a - an angle, in radians.
Returns:
the sine of the argument.
于 2012-12-19T11:16:00.450 に答える