How can I get sin, cos, and tan to use degrees instead of radians?

后端 未结 5 2146
误落风尘
误落风尘 2020-11-29 00:13

When I\'m working with math in JS I would like its trig functions to use degree values instead of radian values. How would I do that?

5条回答
  •  一个人的身影
    2020-11-29 01:11

    I created my own little lazy Math-Object for degree (MathD), hope it helps:

    //helper
    /**
     * converts degree to radians
     * @param degree
     * @returns {number}
     */
    var toRadians = function (degree) {
        return degree * (Math.PI / 180);
    };
    
    /**
     * Converts radian to degree
     * @param radians
     * @returns {number}
     */
    var toDegree = function (radians) {
        return radians * (180 / Math.PI);
    }
    
    /**
     * Rounds a number mathematical correct to the number of decimals
     * @param number
     * @param decimals (optional, default: 5)
     * @returns {number}
     */
    var roundNumber = function(number, decimals) {
        decimals = decimals || 5;
        return Math.round(number * Math.pow(10, decimals)) / Math.pow(10, decimals);
    }
    //the object
    var MathD = {
        sin: function(number){
            return roundNumber(Math.sin(toRadians(number)));
        },
        cos: function(number){
            return roundNumber(Math.cos(toRadians(number)));
        },
        tan: function(number){
            return roundNumber(Math.tan(toRadians(number)));
        },
        asin: function(number){
            return roundNumber(toDegree(Math.asin(number)));
        },
        acos: function(number){
           return roundNumber(toDegree(Math.acos(number)));
       },
       atan: function(number){
           return roundNumber(toDegree(Math.atan(number)));
       }
    };
    

提交回复
热议问题