我正在使用Math.cos
,Math.sin
但它会给我带来意想不到的结果,如下所示:
Angle Sin Cos
354 0.8414 -0.5403
352 0.1411 0.98998
350 -0.958 -0.2836
为什么我会得到这些结果?
您是否尝试使用学位?请记住这一点,sin
并cos
期待弧度。
Math.cos(Math.toRadians(354))
Math.cos
并Math.sin
以弧度表示角度,而不是度数。所以你可以使用:
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.
您也可以使用它:
degrees *= Math.PI / 180;
Math.cos(degrees)
没有一个答案符合我的需要。这是我所拥有的:
度数的窦(不辐射)。这是您如何将其转回度角的方式:
double angle = Math.toDegree(Math.asin(sinusInDegree));
说明:如果你有一个三角形的两条边,这是唯一对我有用的解决方案。您可以使用正常度数度量来计算所有内容,但您必须将其转换Math.asin()
回度数以获得正确的结果。:)