重写Math 中sin cos asin acos 方法,将其入参或者返回值 从弧度改为角度

版权声明:本文为博主原创文章,未经博主允许不得转载。 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);
		
	}
}

猜你喜欢

转载自blog.csdn.net/qq_34169240/article/details/82775135