Grafik Komputer :
Transformasi Geometri
2 Dimensi
Universitas Gunadarma
2006
Matriks dan
Transformasi Geometri
⎡ M11 M12 L M1n ⎤
⎢ M21 M22 L M2n ⎥⎥
• Representasi umum suatu Matriks adalah : M=⎢
⎢ M M O M ⎥
⎢ ⎥
⎣Mm1 Mm2 L Mmn ⎦
TRANSLASI
• Translasi adalah suatu pergerakan/perpindahan semua titik dari
objek pada suatu jalur lurus sehingga menempati posisi baru.
• Jalur yang direpresentasikan oleh vektor disebut Translasi atau
Vektor Geser.
⎡a b ⎤ ⎡ x ⎤ ⎡ x'⎤
• Pergeseran tersebut dapat ditulis : ⎢ ⎥ ⎢ y ⎥ = ⎢ y '⎥
⎣ c d ⎦⎣ ⎦ ⎣ ⎦
Tx = 2
Ty = 1
ROTASI
• Rotasi adalah mereposisi semua titik dari objek sepanjang jalur
lingkaran dengan pusatnya pada titik pivot.
SKALA
• Penskalaan koordinat dimaksudkan untuk menggandakan
setiap komponen yang ada pada objek secara skalar.
• Keseragaman penskalaan berarti skalar yang digunakan
sama untuk semua komponen objek.
×2
X × 2,
Y × 0.5
CONTOH
• Translasi : Y 6
⎡4⎤
5 ⎢4⎥
⎣ ⎦
4
dx = 2 3
dy = 3 2
⎡2⎤
1 ⎢1 ⎥
⎣ ⎦
0
1 2 3 4 5 6 7 8 9 10
X
Y
• Skala : 6
5
sx = 3 4
sy = 2 3
2
⎡6 ⎤ ⎡9 ⎤
1 ⎡2⎤ ⎡3⎤ ⎢2⎥ ⎢2⎥
⎢1 ⎥ ⎢1 ⎥ ⎣ ⎦ ⎣ ⎦
⎣ ⎦ ⎣ ⎦
0
1 2 3 4 5 6 7 8 9 10
X
Y
• Rotasi :
6
π
5 θ=
6
4
3
2
1 θ
0
1 2 3 4 5 6 7 8 9 10
X
Koordinat Homogen
• Koordinat Homogen adalah representasi koordinat 2 dimensi
dengan 3 vektor.
⎡ x⎤
⎡ ⎤ homogeneous coords ⎢ ⎥
x
⎢ y ⎥ ⎯⎯ ⎯ ⎯ ⎯⎯→ ⎢ y ⎥
⎣ ⎦ ⎢⎣ 1 ⎥⎦
⎡ cos( θ ) − sin( θ ) 0⎤
R otation = ⎢⎢ sin( θ ) cos( θ ) 0 ⎥⎥
⎢⎣ 0 0 1 ⎥⎦
⎡ a 0 0⎤
Scale = ⎢⎢ 0 b 0⎥⎥
⎢⎣ 0 0 1⎥⎦
⎡1 0 Tx ⎤
⎢ ⎥
Translation = ⎢0 1 Ty ⎥
⎢0 0 1 ⎥
⎣ ⎦
• Tranformasi Gabungan :
– Rotasi sebagai titik perubahan : translasi – rotasi-
translai
– Skala sebgai titik perubahan : translasi – skala-
translasi
– Perubahan sistem koordinat : translasi – rotasi –
skala
⎡a b ⎤ ⎛ ⎡ e f ⎤ ⎡i j ⎤ ⎞ ⎡a b ⎤ ⎡ ei + fk ej + fl ⎤
⎢ c d ⎥ • ⎜⎜ ⎢ g •
h ⎥⎦ ⎢⎣k
⎟= •
l ⎥⎦ ⎟⎠ ⎢⎣ c d ⎥⎦ ⎢⎣ gi + hk gj + hl ⎥⎦
⎣ ⎦ ⎝⎣
⎡aei + afk + bgi + bhk aej + afl + bgj + bhl ⎤
=⎢
⎣ cei + cfk + dgi + dhk cej + cfl + dgj + dhl ⎥⎦
⎡a b ⎤ ⎡ e f ⎤ ⎡ae + bg af + bh ⎤
⎢c d ⎥ • ⎢ g =
h ⎥⎦ ⎢⎣ ce + dg cf + dh ⎥⎦
⎣ ⎦ ⎣
⎡e f ⎤ ⎡a b ⎤ ⎡ ea + fc eb + fd ⎤
⎢g • =
⎣ h ⎥⎦ ⎢⎣ c d ⎥⎦ ⎢⎣ ga + hc gb + hd ⎥⎦
• Rotasikan sebuah segment garis sebesar 45o dengan endpoint pada titik a
!
– Posisi awal a
a
– Translasi ke titik pusat
a
– Rotasi 45o
a
– Translasi ke titik semula
a
⎡1 0 − 3⎤ ⎡cos(45) − sin(45) 0⎤ ⎡1 0 3⎤ ⎡ a x ⎤ ⎡ a ' x ⎤
⎢0 1 0 ⎥ ⎢ sin(45) cos(45) 0⎥ ⎢0 1 0⎥ ⎢a ⎥ = ⎢a ' ⎥
⎢ ⎥⎢ ⎥⎢ ⎥⎢ y ⎥ ⎢ y ⎥
⎢⎣0 0 1 ⎥⎦ ⎢⎣ 0 0 1⎥⎦ ⎢⎣0 0 1⎥⎦ ⎢⎣ 1 ⎥⎦ ⎢⎣ 1 ⎥⎦
Transformasi Lainnya
• Refleksi
⎡−1 0 0⎤
⎡1 0 0⎤ ⎢ 0 −1 0⎥
⎢0 −1 0⎥ ⎡0 1 0⎤
⎢ ⎥ ⎢1 0 0⎥
⎢ ⎥ ⎢⎣ 0 0 1⎥⎦ ⎢ ⎥
⎢⎣0 0 1⎥⎦ ⎣⎢0 0 1⎥⎦
⎡−1 0 0⎤
⎢ 0 1 0⎥
⎢ ⎥
⎢⎣ 0 0 1⎥⎦
• Shear
Arah x Arah y
⎡1 shx 0⎤ ⎡ 1 0 0⎤
⎢0 1 0⎥ ⎢ sh
⎢ ⎥ ⎢ y 1 0 ⎥⎥
⎢⎣0 0 1⎥⎦ ⎢⎣ 0 0 1 ⎥⎦