我正在尝试将角度的正弦从弧度转换为度数,但我不断得到不准确的数字。我的代码如下所示:public class PhysicsSolverAttempt2 { public static void main(String[] args) { double[] numbers = {60, 30, 0}; double launchAngle = Double.parseDouble(numbers[0]); double iV = Double.parseDouble(numbers[1]); System.out.println(launchAngle); double iVV = iV * Math.toDegrees(Math.sin(launchAngle)); System.out.println(Math.toDegrees(Math.sin(launchAngle))); }}当我使用 Math.sin(launchAngle) 时,它给了我一个完美的弧度输出。但是,当我最后使用 Math.toDegrees() 函数将弧度转换为度数时,它给了我 -17.464362139918286,尽管使用计算器执行相同的计算会产生数字 0.86602540378。我是否错误地使用了 Math.toDegrees(),还是需要执行额外的步骤才能获得准确的结果?
3 回答
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
似乎找到准确测量值的最简单方法是简单地将初始度数测量值乘以 Math.PI/180,然后使用该数字进行计算。
从那里, Math.sin(launchAngle) 将给出干净、可行的结果。
慕姐8265434
TA贡献1813条经验 获得超2个赞
Math.sin()
只接受弧度作为输入。看来您试图找到launchAngle
以度为单位的的罪过。
Math.toDegrees(Math.sin(Math.toRadians(launchAngle)));
HUH函数
TA贡献1836条经验 获得超4个赞
sine 函数返回单位圆上一点的 y 坐标。对于Math.sin
,您以弧度输入一个角度,它返回相应的 y 坐标。但是,您在这里所做的是使用Math.sin
(y 坐标,而不是角度)的结果作为 的参数Math.toDegrees
,它应该将弧度转换为度数。我认为目的是找到launchAngle
. 如果是,转
Math.toDegrees(Math.sin(launchAngle))
进入
Math.sin(Math.toRadians(launchAngle))
添加回答
举报
0/150
提交
取消