13

我正在使用Math.cosMath.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.cosMath.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 回答
3

您也可以使用它:

degrees *= Math.PI / 180;
Math.cos(degrees)
于 2015-10-21T03:25:44.250 回答
0

没有一个答案符合我的需要。这是我所拥有的:

度数的窦(不辐射)。这是您如何将其转回度角的方式:

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

说明:如果你有一个三角形的两条边,这是唯一对我有用的解决方案。您可以使用正常度数度量来计算所有内容,但您必须将其转换Math.asin()回度数以获得正确的结果。:)

于 2015-04-22T21:18:51.247 回答