我正在尝试将弧度的正弦值从弧度转换为度数,并且我不断得到不正确的数字。我的代码如下:
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()函数将弧度转换为度数时,尽管使用计算器执行相同的计算得出的数字为0.86602540378,但它却给出了-17.464362139918286。我是不正确地使用Math.toDegrees(),还是需要执行额外的步骤才能获得准确的结果?
答案 0 :(得分:0)
for i in range(len(st)):
total = total + st[i] + "**"
仅接受弧度作为输入。您似乎正试图找到Math.sin()
的罪恶,以度为单位。
launchAngle
答案 1 :(得分:0)
正弦函数返回单位圆上点的y坐标。对于Math.sin
,输入一个以弧度为单位的角度,它返回相应的y坐标。但是,您在此处使用Math.sin
的结果(y坐标,而不是角度)作为Math.toDegrees
的参数,该结果应将弧度转换为度。我以为是要找到launchAngle
的罪过。如果是这样,请
Math.toDegrees(Math.sin(launchAngle))
进入
Math.sin(Math.toRadians(launchAngle))
答案 2 :(得分:0)
似乎最简单的方法是用Math.PI / 180乘以初始度测量值,然后使用该数字进行计算,从而找到准确的测量值。
从那里,Math.sin(launchAngle)将给出干净,可行的结果。