SVG/transform/matrix

出自六年制學程
在2017年12月14日 (四) 07:52由丁志仁對話 | 貢獻所做的修訂版本

(差異) ←上個修訂 | 最新修訂 (差異) | 下一修訂→ (差異)
跳轉到: 導覽搜尋

矩陣基本演算規則

a c
c d
x
y
=
ax+by
cx+dy
=
x'
y'

旋轉

cosθ -sinθ
sinθ cosθ
x
y
=
cosθx-sinθy
sinθx+cosθy
=
x'
y'

縮放

Sx 0
0 Sy
x
y
=
Sxx
Syy
=
x'
y'

x拉斜

1 k
0 1
x
y
=
x+ky
y
=
x'
y'

y拉斜

1 0
k 1
x
y
=
x
y+kx
=
x'
y'

沿經過原點的直線反射

假設(ux, uy)為直線方向的單位向量。變換矩陣為:

2ux2-1 2uxuy
2uxuy 2uy2-1
x
y
=
(2ux2-1)x+2uxuyy
2uxuyx+(2uy2-1)y
=
x'
y'

沿直線 y=(tanθ)x 進行反射

cos2θ sin2θ
sin2θ -cos2θ
x
y
=
cos2θx+sin2θy
sin2θx-cos2θy
=
x'
y'

投影到一條經過原點的直線

SVG transform 矩陣變換

(○)基本

a c e
b d f
0 0 1
x
y
1
=
ax+cy+e
bx+dy+f
1
=
x'
y'
1