旋转后如何计算新坐标?
How to compute new coordinates after rotation?
应用平移变换 (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) 后得到的新坐标?
我查了一些数学知识。
这是矩阵向量乘法。对于 SVG,这意味着:
matrix(a b c d e f)
对应
x(new) = a*x + c*y + e
y(new) = b*x + d*y + f
应用平移变换 (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) 后得到的新坐标?
我查了一些数学知识。
这是矩阵向量乘法。对于 SVG,这意味着:
matrix(a b c d e f)
对应
x(new) = a*x + c*y + e
y(new) = b*x + d*y + f