SVG 変換 T1...Tn の任意のシーケンスを、行列 M1 * ... * Mn を乗算することによって行列が得られる単一の一般的な変換に置き換えることができると想定するのは正しいですか? ここで、Mi は変換 Ti に対応します。
以下の一連の変換を単一のものに置き換えようとしているので、私は尋ねています:
- スケール (1, y)
- 翻訳 (0, 最大)
- スケール (1, -1)
私の仮定が正しければ、これは行列 (1, 0, 0, -y, 0, y*max) 変換と同じですよね?
SVG 変換 T1...Tn の任意のシーケンスを、行列 M1 * ... * Mn を乗算することによって行列が得られる単一の一般的な変換に置き換えることができると想定するのは正しいですか? ここで、Mi は変換 Ti に対応します。
以下の一連の変換を単一のものに置き換えようとしているので、私は尋ねています:
私の仮定が正しければ、これは行列 (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,-y,-m) を svg 表記で