var Vector2 = require('./Vector2'); var TransformXY = function (x, y, positionX, positionY, rotation, scaleX, scaleY, output){ if (output === undefined) { output = new Vector2(); } var sr = Math.sin(- rotation); var cr = Math.cos(- rotation); var a = cr * scaleX; var b = - sr * scaleX; var c = sr * scaleY; var d = cr * scaleY; var n = a * d - b * c; var m0 = d / n; var m1 = - b / n; var m2 = - c / n; var m3 = a / n; var m4 = (c * positionY - d * positionX) / n; var m5 = - (a * positionY - b * positionX) / n; output.x = x * m0 + y * m2 + m4; output.y = x * m1 + y * m3 + m5; return output; } ; module.exports = TransformXY;