我假设任何 SVG 序列都会转换 T1 是否正确......Tn 可以替换为单个泛型变换,其矩阵是通过将矩阵 M1 * ... * Mn 相乘得到的,其中 Mi 对应于变换 Ti?
我问是因为我试图用一个转换替换下面的转换序列:
- 刻度 (1, y)
- 平移(0,最大值)
- 刻度 (1, -1)
如果我的假设是正确的,这将与矩阵(1, 0, 0, -y, 0, y*max)变换相同,对吗?
是的,你已经有了将它们相乘的正确想法,但你需要确保使用线性代数的矩阵乘法乘以完整的 3x3 仿射变换矩阵,并且你必须确保顺序是正确的方式,即从第一次变换开始,你必须将矩阵从右到左。
所以正确的矩阵乘法是
[1 0 0][1 0 0][1 0 0] [1 0 0]
[0 -1 0][0 1 m][0 y 0] = [0 -y -m]
[0 0 1][0 0 1][0 0 1] [0 0 1]
或 (1,0,0,0,0,-y,-m) 以 SVG 表示法表示法