Quartz 2D中的转换矩阵与OpenGL中的不同: 假设用一维数组存储矩阵元素 float matrix[] = {m0,m1,m2,m3,m4,m5,m6,m7,m8}; 1. Quartz 2D中,坐标是行向量,即 [x y 1] 相应的转换矩阵为 [m0 m1 m2] [m3 m4 m5] [m6 m7 m8] 计算公式为: [x' y' 1] = [x y 1] × [m0 m1 m2] [m3 m4 m5] [m6 m7 m8] 2. OpenGL中(这里假设是2维空间,不考虑第3维),坐标是列向量 [x] [y] [1] 相应的转换矩阵为 [m0 m3 m6] [m1 m4 m7] [m2 m5 m8] 计算公式为: [x'] = [m0 m3 m6] × [x] [y'] [m1 m4 m7] [y] [1 ] [m2 m5 m8] [1] 如果有多重矩阵运算,这导致拆解后的计算公式不同