first commit
This commit is contained in:
26
node_modules/d3-interpolate/src/transform/decompose.js
generated
vendored
Normal file
26
node_modules/d3-interpolate/src/transform/decompose.js
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
var degrees = 180 / Math.PI;
|
||||
|
||||
export var identity = {
|
||||
translateX: 0,
|
||||
translateY: 0,
|
||||
rotate: 0,
|
||||
skewX: 0,
|
||||
scaleX: 1,
|
||||
scaleY: 1
|
||||
};
|
||||
|
||||
export default function(a, b, c, d, e, f) {
|
||||
var scaleX, scaleY, skewX;
|
||||
if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;
|
||||
if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;
|
||||
if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;
|
||||
if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;
|
||||
return {
|
||||
translateX: e,
|
||||
translateY: f,
|
||||
rotate: Math.atan2(b, a) * degrees,
|
||||
skewX: Math.atan(skewX) * degrees,
|
||||
scaleX: scaleX,
|
||||
scaleY: scaleY
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user