Uploaded by User87169

5 Grafik Komp-Transformasi 2D

advertisement
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
Download