应用平移变换 (matrix(1 0 0 1 tx ty)
) 我只需计算 x(new) = x + tx, y(new) = y + ty
即可获得新坐标。
应用尺度变换 (matrix(sx 0 0 sy 0 0)
) 我只是相乘:x(new) = x * sx, y(new) = y * sy
。
现在我的问题是:我该如何进行旋转(旋转中心不是 0,0)?
一般来说:如何计算在 SVG 中应用矩阵 (a b c d e f) 后获得的新坐标?
答案 0 :(得分:1)
我查了一些数学。
这是一个矩阵-向量-乘法。对于 SVG,这意味着:
matrix(a b c d e f)
对应于
x(new) = a*x + c*y + e
y(new) = b*x + d*y + f