在Java中使用正弦、余弦和切线

在Java中使用正弦、余弦和切线,java,math,geometry,trigonometry,Java,Math,Geometry,Trigonometry,我正在开发一个程序,让用户声明他们已经知道的值(比如角度和侧面)。该程序将使用三角法来填补空白。我正在使用类java.lang.Math来实现这一点。我一直在使用这些方法: Math.sin(Double radians) Math.cos(Double radians) 这两种方法都需要将值从角度转换为弧度,我一直在这样做: Math.toRadians(Double angle) 我试图使用正弦和余弦的反函数(也称为;sin^-1()、asin()、cos^-1()或acos())。它们

我正在开发一个程序,让用户声明他们已经知道的值(比如角度和侧面)。该程序将使用三角法来填补空白。我正在使用类
java.lang.Math
来实现这一点。我一直在使用这些方法:

Math.sin(Double radians)
Math.cos(Double radians)
这两种方法都需要将值从角度转换为弧度,我一直在这样做:

Math.toRadians(Double angle)
我试图使用正弦和余弦的反函数(也称为;sin^-1()、asin()、cos^-1()或acos())。它们在同一类中有方法,如下所示:

Math.asin(Double num)
Math.acos(Double num)

它们需要转换吗?在传递表示角度的变量之前,是否需要将其从角度转换为弧度(就像我之前所做的那样)?

逆三角函数的名称是逆三角函数。由于三角函数是形式为
angle->value
的函数,因此逆函数具有倒域和余域,
value->angle

所以

在传递表示角度的变量之前,是否需要将其从角度转换为弧度

这没有意义,因为您将转换一个不是角度的值。您要做的是将反函数的结果转换为度,以获得使用的相同单位的值,例如:

double angleInRadians = Math.acos(1);
double angleInDegree = Math.toDegrees(angleInRadians);
所以最后你有

degrees -> radians -> trigonometric function -> value
value -> inverse trigonometric function -> radians -> degrees

逆正弦或余弦函数的域为[-1,1]。因此,在将输入传递给方法之前验证输入是有用的。进行反向操作的结果是一个角度。现在,对于结果,您可能需要进行从弧度到度的转换。但是,反函数不需要任何转换。

不向反函数传递角度。你传一个号码。但如果需要以度为单位转换结果,则需要将结果转换为弧度。如果使用
asin
acos
等,则必须执行弧度转换。而不是猜测,为什么不呢?这一点很清楚,逆函数取函数的一个值,返回以弧度为单位的角度。在不理解这些功能的含义的情况下,您如何使用这些功能?您不需要任何对话。:)asin和acos函数在一个介于-1和1之间的数字上工作。介于-1和1之间的数字不表示角度,因此不需要进行任何转换。:)或者简单地说:
x=Math.sin(Math.toRadians(a))
的倒数是
a=Math.toDegrees(Math.asin(x))