UNPKG

jquery-flapper

Version:

A split-flap (Solari) display for numbers and words using jQuery

134 lines (118 loc) 2.54 kB
/////////////////////////////////////////////////////// // Angle /////////////////////////////////////////////////////// (function($, window, document, undefined) { /** * Converting a radian to a degree * @const */ var RAD_DEG = 180/Math.PI; /** * Converting a radian to a grad * @const */ var RAD_GRAD = 200/Math.PI; /** * Converting a degree to a radian * @const */ var DEG_RAD = Math.PI/180; /** * Converting a degree to a grad * @const */ var DEG_GRAD = 2/1.8; /** * Converting a grad to a degree * @const */ var GRAD_DEG = 0.9; /** * Converting a grad to a radian * @const */ var GRAD_RAD = Math.PI/200; var rfxnum = /^([+\-]=)?([\d+.\-]+)(.*)$/; /** * Functions for converting angles * @var Object */ $.extend({ angle: { /** * available units for an angle * @var Regex */ runit: /(deg|g?rad)/, /** * Convert a radian into a degree * @param Number rad * @return Number */ radianToDegree: function(rad) { return rad * RAD_DEG; }, /** * Convert a radian into a degree * @param Number rad * @return Number */ radianToGrad: function(rad) { return rad * RAD_GRAD; }, /** * Convert a degree into a radian * @param Number deg * @return Number */ degreeToRadian: function(deg) { return deg * DEG_RAD; }, /** * Convert a degree into a radian * @param Number deg * @return Number */ degreeToGrad: function(deg) { return deg * DEG_GRAD; }, /** * Convert a grad into a degree * @param Number grad * @return Number */ gradToDegree: function(grad) { return grad * GRAD_DEG; }, /** * Convert a grad into a radian * @param Number grad * @return Number */ gradToRadian: function(grad) { return grad * GRAD_RAD; }, /** * Convert an angle with a unit to a degree * @param String val angle with a unit * @return Number */ toDegree: function (val) { var parts = rfxnum.exec(val); if (parts) { val = parseFloat( parts[2] ); switch (parts[3] || 'deg') { case 'grad': val = $.angle.gradToDegree(val); break; case 'rad': val = $.angle.radianToDegree(val); break; } return val; } return 0; } } }); })(jQuery, this, this.document);