我怎样才能得到罪,cos和tan来使用度数而不是弧度?
当我在JS中使用math时,我希望它的trig函数使用度数值而不是弧度值。 我该怎么做?
您可以使用这样的function来进行转换:
function toDegrees (angle) { return angle * (180 / Math.PI); }
请注意, sin
, cos
等函数不返回angular度 ,它们将angular度作为input。 在我看来,有一个函数可以将度数input转换为弧度,这样做会更有用:
function toRadians (angle) { return angle * (Math.PI / 180); }
你可以用它来做一些像tan(toRadians(45))
。
将结果乘以180/Math.PI
以将弧度转换为度数。
你也可以定义你自己的function:
function sinDegrees(angle) {return Math.sin(angle/180*Math.PI);};
等等。
我创build了自己的一个懒惰的Math-Object(MathD),希望它有帮助:
//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))); } };
创build自己的转换函数来应用所需的math,然后调用这些函数。 http://en.wikipedia.org/wiki/Radian#Conversion_between_radians_and_degrees