Java中的角度问题,求三角函数,角度,弧度,一文足够

求三角函数的值

三角函数有六个:sin(x)、cos(x)、tan(x)、cot(x)=1/tan(x)、csc(x)=1/sin(x)、sec(x)=1/cos(x)。

常用的三角函数
sin (x)
Math.sin()
cos (x)
Math.cos()
tan (x)
Math.tan()

以sin (x)为例,Math.sin()函数里的参数是什么?不是角度!!!不是角度!!!不是角度!!!

而是该角度对应的弧度!

弧度制与角度制的换算公式:1度=π/180≈0.01745弧度,1弧度=180/π≈57.3度。角的度量单位通常有两种,一种是角度制,另一种就是弧度制。

所以,例如要用Java求得sin(45°)的值,则先求出45°所对应的弧度,即45*π/180;再将此值作为Math.sin ()的参数;最后得到结果,其他函数同理。

举个栗子,用代码实现求sin (20°):

public class Main {
    public static void main(String[] args) {
        double n=20.00;
        double radian;
        double angle;
        radian=n*Math.PI/180;
        angle=Math.sin(radian);
        System.out.println(angle);
    }
}

求角度或弧度

1.求角度:

在高中我们就学过了求角度的方法,最常用的就是余弦定理

Java中的角度问题,求三角函数,角度,弧度,一文足够_第1张图片

 

 Java中的角度问题,求三角函数,角度,弧度,一文足够_第2张图片

 在Java中,提供了求角度的方法:

Math.toDegrees():将以弧度测量的角度转换为以度为单位的近似等效角度。

举个栗子:已知三角形的三条边的长度,求其某个内角的角度。

public class Main {
    public static void main(String[] args) {
        int a=3,b=4,c=5;
        double angle;
        angle=Math.toDegrees(Math.acos((a*a+b*b-c*c)/(2*a*b)));//C的角度
        System.out.println(angle);
    }
}

其中的Math.acos()是什么东东?

Math.acos()是反余弦函数,我们用反余弦函数的返回值作为Math.toDegrees()的参数,从而获取到通过余弦计算得来的数值。

Math.acos()的返回值:

  • 返回参数的反余弦。
  • 如果参数为正数或负数,则此方法将返回反余弦值。
  • 如果参数为NaN或在-1和1范围之外,则此方法将返回NaN。
  • 如果参数为零,则此方法将返回零,且符号与参数相同。

同理:Math.asin()的返回值:

  • 返回参数的反正弦。
  • 如果参数为正数或负数,则此方法将返回反正弦值。
  • 如果参数为NaN或在-1和1范围之外,则此方法将返回NaN。
  • 如果参数为零,则此方法将返回零,且符号与参数相同。

2.求弧度:

Math.toRadians():将用角度表示的角转换为近似相等的用弧度表示的角。从角度到弧度的转换通常是不精确的。

例如,我希望得到30°的弧度,可以直接通过Math.toRadians(30)获取到返回值。

举个栗子:得到57°的弧度

public class Main {
    public static void main(String[] args) {
        double randions;
        randions =Math.toRadians(57);
        System.out.println(randions);
    }
}

 大功告成,OVER!!!

你可能感兴趣的:(java,java,开发语言,后端)