Grafik Komputer dan Pengolahan Citra
Grafik Komputer :
Transformasi Geometri 2 Dimensi
Universitas Gunadarma 2006
Grafik Komputer : Transformasi Geometri 2D
1/11
Grafik Komputer dan Pengolahan Citra
Matriks dan Transformasi Geometri • Representasi umum suatu Matriks adalah :
⎡ M11 M12 ⎢ M21 M22 M=⎢ ⎢ M M ⎢ ⎣Mm1 Mm2
dimana pada Matriks Mrc, r adalah kolom dan c baris.
• Suatu Vektor direpresentasikan sebagai matriks kolom
L M1n ⎤ L M2n ⎥⎥ O M ⎥ ⎥ L Mmn ⎦
⎡ v1 ⎤ : v = ⎢⎢ v 2⎥⎥ ⎢⎣ v 3 ⎥⎦
• Perkalian Matriks dan Vektor dapat digunakan untuk transformasi linier suatu vektor. M M ⎤⎡v ⎤ ⎡M 11
M • v = ⎢⎢ M 21 ⎢⎣ M 31
12
M 22 M 32
x ⎡a ⎤ ⎥ ⎢ ⎥ M 23 ⎥ ⎢ v y ⎥ = ⎢⎢ b ⎥⎥ M 33 ⎥⎦ ⎢⎣ v z ⎥⎦ ⎢⎣ c ⎥⎦ 13
• Suatu sekuens transformasi linier berkorespondensi dengan matriks korespondennya : M M M v = v 1
2
3 old
new
dimana, Vektor hasil di sisi kanan dipengaruhi matriks transformasi linier dan vektor awal.
• Jadi….. Suatu Transformasi Linier : – Memetakan suatu vektor ke vektor lain – Menyimpan suatu kombinasi linier
Grafik Komputer : Transformasi Geometri 2D
2/11
Grafik Komputer dan Pengolahan Citra
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.
•
Pergeseran tersebut dapat ditulis : ⎢
•
Untuk merepresentasikan translasi dalam matriks 3x3 kita dapat menulisnya : ⎡1 0 Tx ⎤ ⎡ x ⎤ ⎡ x + Tx ⎤ ⎡1 0 Tx ⎤ ⎢ ⎥⎢ ⎥ ⎢ ⎢ ⎥ ⎥ Translation = ⎢0 1 Ty ⎥ T 0 1 y ⎥ ⎢ y ⎥ = ⎢ y + Ty ⎥ ⎢ ⎢0 0 1 ⎥ ⎢0 0 1 ⎥ ⎢⎣ 1 ⎥⎦ ⎢⎣ 1 ⎥⎦ ⎣ ⎦ ⎣ ⎦
⎡a b ⎤ ⎡ x ⎤ ⎡ x'⎤ ⎥ ⎢ y ⎥ = ⎢ y '⎥ c d ⎣ ⎦⎣ ⎦ ⎣ ⎦
Tx = 2 Ty = 1
Grafik Komputer : Transformasi Geometri 2D
3/11
Grafik Komputer dan Pengolahan Citra
ROTASI •
Rotasi adalah mereposisi semua titik dari objek sepanjang jalur lingkaran dengan pusatnya pada titik pivot.
x’ = x cos(θ) - y sin(θ) y’ = x sin(θ) + y cos(θ)
(x’, y’) (x, y)
θ
φ
x = r cos (Φ) y = r sin (Φ) x’ = r cos (Φ + θ) y’ = r sin (Φ + θ) Identitas Geometri… x’ = r cos(Φ) cos(θ) – r sin(Φ) sin(θ) y’ = r sin(Φ) sin(θ) + r cos(Φ) cos(θ) Substitusi… x’ = x cos(θ) - y sin(θ) y’ = x sin(θ) + y cos(θ)
•
Untuk memudahkan perhitungan dapat digunakan matriks:
⎡ x'⎤ ⎡cos(θ ) − sin (θ )⎤ ⎡ x ⎤ ⎢ y '⎥ = ⎢ sin (θ ) cos(θ ) ⎥ ⎢ y ⎥ ⎦⎣ ⎦ ⎣ ⎦ ⎣
Dimana : -
sin(θ) dan cos(θ) adalah fungsi linier dari θ,
- x’ kombinasi linier dari x dan y – y’ kombinasi linier dari x and y Grafik Komputer : Transformasi Geometri 2D
4/11
Grafik Komputer dan Pengolahan Citra
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
•
Ketidakseragaman penskalaan berarti skalar yang digunakan pada objek adalah tidak sama.
X × 2, Y × 0.5
•
Operasi Skala :
⎡ x'⎤ ⎡ax ⎤ ⎢ y '⎥ = ⎢by ⎥ ⎣ ⎦ ⎣ ⎦
atau dalam bentuk matriks :⎡ x'⎤ = ⎡a
⎢ y '⎥ ⎣ ⎦
0⎤ ⎡ x ⎤ ⎢0 b⎥ ⎢ y ⎥ ⎣ ⎦⎣ ⎦
Grafik Komputer : Transformasi Geometri 2D
5/11
Grafik Komputer dan Pengolahan Citra
CONTOH • Translasi :
Y
6 ⎡4⎤ ⎢4⎥ ⎣ ⎦
5 4
dx = 2 dy = 3
3 2
⎡2⎤ ⎢1 ⎥ ⎣ ⎦
1 0
Y
• Skala : sx = 3 sy = 2
1
2
3
4
5
6
7
8
9
10
X
6 5 4 3 2 ⎡2⎤ ⎢1 ⎥ ⎣ ⎦
1
⎡6 ⎤ ⎢2⎥ ⎣ ⎦
⎡3⎤ ⎢1 ⎥ ⎣ ⎦
⎡9 ⎤ ⎢2⎥ ⎣ ⎦
0 1
• Rotasi :
Y
2
3
4
5
6
7
8
9
7
8
9
10
X
6
θ=
5
π 6
4 3 2
θ
1 0 1
2
3
4
5
6
Grafik Komputer : Transformasi Geometri 2D
10
X 6/11
Grafik Komputer dan Pengolahan Citra
Koordinat Homogen •
Koordinat Homogen adalah representasi koordinat 2 dimensi dengan 3 vektor.
⎡ x⎤ x ⎡ ⎤ homogeneous coords ⎢ ⎥ ⎢ y ⎥ ⎯⎯ ⎯ ⎯ ⎯⎯→ ⎢ y ⎥ ⎣ ⎦ ⎢⎣ 1 ⎥⎦ R otation
⎡ cos( θ ) = ⎢⎢ sin( θ ) ⎢⎣ 0
− 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 ⎥ ⎣ ⎦
Grafik Komputer : Transformasi Geometri 2D
7/11
Grafik Komputer dan Pengolahan Citra
Transformasi Gabungan (1/3) •
Kita dapat merepresentasikan 3 transformasi dalam sebuah matriks tunggal. – – –
•
Tranformasi Gabungan : – – –
•
Operasi yang dilakukan adalah perkalian matriks Tidak ada penanganan khusus ketika mentransformasikan suatu titik : matriks • vector Transformasi gabungan : matriks • matriks
Rotasi sebagai titik perubahan : translasi – rotasitranslai Skala sebgai titik perubahan : translasi – skalatranslasi Perubahan sistem koordinat : translasi – rotasi – skala
Langkah yang dilakukan : 1. Urutkan matriks secara benar sesuai dengan transformasi yang akan dilakukan. 2. Kalikan matriks secara bersamaan 3. Simpan matriks hasil perkalian tersebut (2) 4. Kalikan matriks dengan vektor dari verteks 5. Hasilnya, semua verteks akan ter-transformasi dengan satu perkalian matriks.
Grafik Komputer : Transformasi Geometri 2D
8/11
Grafik Komputer dan Pengolahan Citra
Transformasi Gabungan (2/3) •
Perkalian Matriks bersifat Asosiatif : ⎛ ⎡a b ⎤ ⎡ e ⎜⎢ ⎜ c d ⎥ • ⎢g ⎦ ⎣ ⎝⎣
f ⎤⎞ ⎡i ⎟• h ⎥⎦ ⎟⎠ ⎢⎣k
j ⎤ ⎡ae + bg = l ⎥⎦ ⎢⎣ ce + dg
af + bh⎤ ⎡ i • cf + dh ⎥⎦ ⎢⎣k
⎡aei + bgi + afk + bhk =⎢ ⎣ cei + dgi + cfk + dhk ⎡a b ⎤ ⎛ ⎡ e ⎢ c d ⎥ • ⎜⎜ ⎢ g ⎣ ⎦ ⎝⎣
f ⎤ ⎡i • h ⎥⎦ ⎢⎣k
j ⎤ ⎞ ⎡a b ⎤ ⎡ ei + fk ⎟= • l ⎥⎦ ⎟⎠ ⎢⎣ c d ⎥⎦ ⎢⎣ gi + hk
aej + bgj + afl + bhl ⎤ cej + dgj + cfl + dhl ⎥⎦
ej + fl ⎤ gj + hl ⎥⎦
⎡aei + afk + bgi + bhk =⎢ ⎣ cei + cfk + dgi + dhk
•
j⎤ l ⎥⎦
aej + afl + bgj + bhl ⎤ cej + cfl + dgj + dhl ⎥⎦
Perkalian Matriks tidak bersifat Komutatif ⎡a b ⎤ ⎡ e ⎢c d ⎥ • ⎢ g ⎣ ⎦ ⎣
⎡e ⎢g ⎣
f ⎤ ⎡ae + bg = h ⎥⎦ ⎢⎣ ce + dg
f ⎤ ⎡a b ⎤ ⎡ ea + fc • = h ⎥⎦ ⎢⎣ c d ⎥⎦ ⎢⎣ ga + hc
af + bh ⎤ cf + dh ⎥⎦
eb + fd ⎤ gb + hd ⎥⎦
Grafik Komputer : Transformasi Geometri 2D
9/11
Grafik Komputer dan Pengolahan Citra
Transformasi Gabungan (3/3) Contoh : • Jika terdapat objek yang tidak terletak di titik pusat, maka bila akan dilakukan pen-skala-an dan rotasi,kita perlu mentranslasikan objek tersebut sebelumnya ke titik pusat baru kemudian dilakukan pen-skala-an atau rotasi, dan terakhir dikembalikan lagi ke posisi semula. House ( H )
•
T ( dx , dy ) H
R (θ )T ( dx , dy ) H
T ( − dx , − dy ) R (θ )T ( dx , dy ) H
Rotasikan sebuah segment garis sebesar 45o dengan endpoint pada titik a ! –
Posisi awal a
a –
a
–
Rotasi 45o
–
Translasi ke titik pusat
a
a Translasi ke titik semula
⎡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 ⎥⎦
Grafik Komputer : Transformasi Geometri 2D
10/11
Grafik Komputer dan Pengolahan Citra
Transformasi Lainnya • Refleksi ⎡−1 0 0⎤ ⎢ 0 −1 0⎥ ⎥ ⎢ ⎢⎣ 0 0 1⎥⎦
⎡1 0 0⎤ ⎢0 −1 0⎥ ⎢ ⎥ ⎢⎣0 0 1⎥⎦
⎡0 1 0⎤ ⎢1 0 0⎥ ⎥ ⎢ ⎣⎢0 0 1⎥⎦
⎡−1 0 0⎤ ⎢ 0 1 0⎥ ⎥ ⎢ ⎢⎣ 0 0 1⎥⎦
• Shear Arah x ⎡1 shx 0⎤ ⎢0 1 0⎥ ⎥ ⎢ ⎢⎣0 0 1⎥⎦
Arah y ⎡ 1 ⎢ sh ⎢ y ⎢⎣ 0
0 0⎤ 1 0 ⎥⎥ 0 1 ⎥⎦
Grafik Komputer : Transformasi Geometri 2D
11/11