我正在使用Math.cos
和Math.sin
,但它会给我带来意想不到的结果:
Angle Sin Cos
354 0.8414 -0.5403
352 0.1411 0.98998
350 -0.958 -0.2836
为什么我会得到这些结果?
答案 0 :(得分:60)
你想尝试学位吗?请注意,sin
和cos
期待弧度。
Math.cos(Math.toRadians(354))
答案 1 :(得分:17)
Math.cos
和Math.sin
取angles in radians,而非度数。所以你可以使用:
double angleInDegree = 354;
double angleInRadian = Math.toRadians(angleInDegree);
double cos = Math.cos(angleInRadian); // cos = 0.9945218953682733
答案 2 :(得分:5)
public static double sin(double a)
Parameters:
a - an angle, in radians.
Returns:
the sine of the argument.
答案 3 :(得分:3)
您也可以使用它:
degrees *= Math.PI / 180;
Math.cos(degrees)
答案 4 :(得分:0)
没有一个答案符合我的需要。这就是我所拥有的:
度数的窦(不是辐射)。 这就是你把它转回角度的方法:
double angle = Math.toDegree(Math.asin(sinusInDegree));
说明:如果你有三角形的两边,这是唯一对我有用的解决方案。您可以使用正常度数度量来计算所有内容,但您必须将Math.asin()
转换回度以获得正确的度数。 :)