版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34169240/article/details/82775135
Math 中sin cos 方法的入参 单位是弧度,而我们在数学公式中填写的都是角度;
Math 中asin acos 方法的返回值 单位是弧度,而我们在数学公式中arcsin arccos返回值都是角度;
所以这里需要一个 角度弧度的换算,以及重写sin cos asin acos
角度弧度关系:弧度/角度 = 2π/360
package fuhm_util;
public class MathUtil {
/**
* 入参单位:角度
*
* @param a
* @return
*/
public static double sin(double a) {
return Math.sin(angleToRadian(a));
}
/**
* 入参单位:角度
*
* @param a
* @return
*/
public static double cos(double a) {
return Math.cos(angleToRadian(a));
}
/**
* 返回值单位:角度
*
* @param a
* @return
*/
public static double acos(double a) {
return radianToAngle(Math.acos(a)); // default impl. delegates to
// StrictMath
}
/**
* 返回值单位:角度
*
* @param a
* @return
*/
public static double asin(double a) {
return radianToAngle(Math.asin(a)); // default impl. delegates to
// StrictMath
}
/**
* 角度 转 弧度
*
* @param value
* @return
*/
public static double angleToRadian(double value) {
return value * Math.PI / 180;
}
/**
* 弧度 转 角度
*
* @param value
* @return
*/
public static double radianToAngle(double value) {
return value * 180 / Math.PI;
}
public static void main(String[] args) {
double acos = acos(0.5);
System.out.println(acos);
}
}