var m1={"a":-8.80408e-16,"b":-2.05409,"c":2.05409,"d":-8.80408e-16,"e":154.638,"f":465.722}
m={"a":-2.05409,"b":0,"c":0,"d":-2.05409,"e":656.608,"f":880.401}
function decomposeMatrix(m) {
var E = (m.a + m.d) / 2
var F = (m.a - m.d) / 2
var G = (m.c + m.b) / 2
var H = (m.c - m.b) / 2
var Q = Math.sqrt(E * E + H * H);
var R = Math.sqrt(F * F + G * G);
var a1 = Math.atan2(G, F);
var a2 = Math.atan2(H, E);
var theta = (a2 - a1) / 2;
var phi = (a2 + a1) / 2;
// The requested parameters are then theta,
// sx, sy, phi,
return {
translateX: m.e,
translateY: m.f,
rotate: -phi * 180 / Math.PI,
scaleX: Q + R,
scaleY: Q - R,
skew: -theta * 180 / Math.PI
};
}
function deltaTransformPoint(matrix, point) {
var dx = point.x * matrix.a + point.y * matrix.c + 0;
var dy = point.x * matrix.b + point.y * matrix.d + 0;
return { x: dx, y: dy };
}
function decomposeMatrix1(matrix) {
// calculate de
从svg matix获取旋转角度、缩放比例、偏移量信息
矩阵分解与变换:从坐标到参数的转换
最新推荐文章于 2023-01-29 21:28:52 发布

最低0.47元/天 解锁文章
1801

被折叠的 条评论
为什么被折叠?



