UNPKG

j5-delta

Version:

Johnny-Five component for controlling delta robots, based on tapsterbot.

41 lines (34 loc) 1.11 kB
module.exports = { reflectX: function(coords) { return [ -coords[0], coords[1], coords[2] ]; }, reflectY: function(coords) { return [ coords[0], -coords[1], coords[2] ]; }, rotate: function(coords, degrees) { var radians = degrees * Math.PI / 180; var x = coords[0] * Math.cos(radians) - coords[1] * Math.sin(radians); var y = coords[1] * Math.cos(radians) + coords[0] * Math.sin(radians); return [ x, y, coords[2] ]; }, mapAngles: function(angles, fromRange, toRange) { return angles.map(function(angle) { return ( angle - fromRange[0] ) * ( toRange[1] - toRange[0] ) / ( fromRange[1] - fromRange[0] ) + toRange[0]; }); }, roundAngles: function(angles, fromRange, toRange) { return angles.map(function(angle) { return Math.round( angle ); }); }, calcLargestMovement: function(newAngles, oldAngles) { var largest = 0; for (var i=0;i<newAngles.length;i++) { var difference = Math.abs( newAngles[i] - oldAngles[i] ); if (difference > largest) { largest = difference; } } return largest; } };