重寫Math 中sin cos asin acos 方法,將其入參或者返回值 從弧度改為角度
阿新 • • 發佈:2018-12-10
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); } }