mirror of
https://github.com/scratchfoundation/scratch-vm.git
synced 2025-07-26 22:20:41 -04:00
Added new util function that sends tan function infinities correctly
Changed mathop to call new math util Changed sin & cos to round correctly (to get 0) Added testing for the new math util function Added testing for the new mathop functions
This commit is contained in:
parent
fff63e3af2
commit
1ac89f5aa4
4 changed files with 39 additions and 6 deletions
src/util
|
@ -45,4 +45,24 @@ MathUtil.wrapClamp = function (n, min, max) {
|
|||
return n - (Math.floor((n - min) / range) * range);
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Convert a value from tan function in degrees.
|
||||
* @param {!number} angle in degrees
|
||||
* @return {!number} Correct tan value
|
||||
*/
|
||||
MathUtil.tan = function (angle) {
|
||||
angle = angle % 360;
|
||||
switch (angle) {
|
||||
case -270:
|
||||
case 90:
|
||||
return Infinity;
|
||||
case -90:
|
||||
case 270:
|
||||
return -Infinity;
|
||||
default:
|
||||
return parseFloat(Math.tan((Math.PI * angle) / 180).toFixed(10));
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = MathUtil;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue