Pengertian ‘Transformasi’ geometric transformation Transformasi = mengubah deskripsi koordinat dari objek Transformasi dasar: Translasi Rotasi Penskalaan
Translasi Mengubah posisi objek: perpindahan lurus Menambahkan translation distance tx & ty ke tiap titik dari objek (x,y) ––translasi (x’,y’) x’=x+tx y’=y+ty
Pasangan (tx,ty) disebut dengan translation vector
Contoh translasi
Rotasi Mengubah posisi objek: perpindahan sesuai jalur sirkular Perlu dispesifikasikan: Sudut rotasi θ (rotation angle) Titik tumpu rotasi (xr,yr) (pivot point)
Konsensus ttg θ: Positif: putaran berlawanan arah jarum jam Negatif: putaran searah jarum jam
Rotasi terhadap titik (0,0)
r
x = r cos φ y = r sin φ x’ = r cos (φ+θ) = r cos φ cos θ - r sin φ sin θ = x cos θ - y sin θ y’ = r sin (φ+θ) = r cos φ sin θ + r sin φ cos θ = x sin θ + y cos θ
Rotasi terhadap titik (xr,yr) x’ = xr + (x-xr) cos θ - (y-yr) sin θ
r
y’ = yr + (x-xr) sin θ + (y-yr) cos θ 1. Translasi tx= -xr & ty= yr 2. Rotasi sebesar θ 3. Translasi tx= xr & ty= yr
Rigid-body transformation Transformasi yang hanya mengubah posisi objek, tanpa mengubah bentuknya Setiap titik pada objek mendapat perlakuan yang sama Transformasi dasar: Translasi Rotasi
Rigid-body transformation: teknik Transformasikan hanya titik-titik yang terlibat dalam deskripsi objek Titik-titik lain digambar ulang dgn algoritma pembangkit primitif grafika
Rigid-body transformation: translasi
Rigid-body transformation: rotasi
Penskalaan Mengubah ukuran objek (memperbesar / memperkecil) Mengubah jarak setiap titik pada objek terhadap titik acuan
Perlu dispesifikasikan: Faktor penskalaan: sx & sy real: (0..N] Titik acuan (xf,yf)
Jenis penskalaan:
y
y
Uniform: sx = sy Differential: sx ≠ sy x
x
Penskalaan terhadap titik (0,0) x’=x.sx y’=y.sy y Bentuk objek berubah Posisi objek berubah 0<S<1: lebih dekat ke (0,0) S=1: ukuran tetap S>1: lebih jauh dari (0,0)
x
Penskalaan terhadap titik (xf,yf) x’= xf + (x-xf).sx y’= yf + (y-yf).sy
y
1. Translasi tx= -xf & ty= -yf 2. Penskalaan dgn Sx & Sy 3. Translasi tx= xf & ty= yf
x’= x. sx + xf(1-sx) y’= y. sy + yf(1-sy) xf(1-sx) & yf(1-sy) konstan untuk semua (x,y)
(xf,yf)
x
Penskalaan uniform untuk poligon, lingkaran dan elips Poligon: Transformasikan titik-titik sudut Gambar ulang tiap garis
Lingkaran: Transformasikan titik pusat Sesuaikan ukuran jari-jari Gambar ulang tiap titik
Elips: Transformasikan sumbu mayor dan minor Gambar ulang tiap titik
Representasi dalam matriks Memudahkan perhitungan transformasi Setiap titik direpresentasikan sebagai vektor kolom P=(x,y) P= x
y
Koefisien transformasi direpresentasikan sebagai vektor atau matriks
Persamaan matriks translasi Translation distance tx & ty T= t x P’ = P + T t y
xx'' x tx y' = y + t y
(-4,4)
3
− 4 2 − 5 4 = 1 + 3
-6
(2,1)
Persamaan matriks rotasi: pivot = (0,0) x’ = x cos θ - y sin θ y’ = x sin θ + y cos θ
y (2,7)
x' cosθ − sinθ x y' = sinθ cosθ • y 7 cos(−900 ) − sin(−900 ) 2 • − 2 = 0 0 sin(−90 ) cos(−90 ) 7
x (7,-2)
Persamaan matriks rotasi: pivot = (xr,yr) x’ = xr + (x-xr) cos θ - (y-yr) sin θ y’ = yr + (x-xr) sin θ + (y-yr) cos θ x' xr cos θ y ' = y + sin θ r
0 1 cos 900 8 = 2 + 0 sin 90
− sin θ x xr • − cos θ y yr
− sin 900 7 1 − • 0 cos 90 3 2
Persamaan matriks penskalaan x’=x.sx y’=y.sy
x' Sx 0 x y' = 0 S • y y
x’= xf + (x-xf).sx y’= yf + (y-yf).sy
x' x f S x y ' = y + 0 f
0 x x f • − S y y y f
Transformasi Komposit Dari beberapa penjelasan sebelumnya dinyatakan bahwa suatu transformasi dapat disusun menjadi urutan dari beberapa transformasi Contoh: Rotasi dengan sumbu rotasi (xc,yc) Bila kita melakukan representasi transformasi sebagai sebuah matrik, maka kita perlu menghasilkan matrik homogen => sehingga proses transformasi dapat dihitung sebagai proses perkalian matrik
Matrik Homogen 2D Dinyatakan bahwa proses transformasi adalah perkalian matrik sehingga untuk operasi translasi bila dinyatakan dalam matrik homogen menjadi: X’ Y’ 1
1 = 0 0
0 1 0
tx ty 1
X Y 1
Matrik Homogen 2D Sedangkan untuk penskalaan dengan titik acuan (0,0) X’ Y’ 1
Sx 0 0 = 0 Sy 0 0 0 1
X Y 1
Dengan mekanisme matrik homogen maka kita dapat menentukan hasil dari penskalaan dengan titik acuan (xf,yf) dengan perkalian matrik
Matrik Homogen 2D Penskalaan dengan titik acuan (xf,,yf) dapat dinyatakan sebagai: 1. Translasi tx= -xf & ty= -yf 2. Penskalaan dgn Sx & Sy 3. Translasi tx= xf & ty= yf
=A =B =C
Matrik Homogen : C.B.A Proses yang sama dapat dilakukan untuk menyelesaikan transformasi yang lainnya