Upload
buitruc
View
242
Download
0
Embed Size (px)
Citation preview
Pengertian
� ‘Transformasi’ � geometric
transformation
� Transformasi = mengubah deskripsi � Transformasi = mengubah deskripsi koordinat dari objek
Transformasi dasar:
� Translasi
� Rotasi
� Penskalaan
Translasi
� Mengubah posisi objek: perpindahan lurus
� Menambahkan translation distance tx & tyke tiap titik dari objek
� (x,y) ––translasi� (x’,y’)� (x,y) ––translasi� (x’,y’)
� x’=x+tx� y’=y+ty
� Pasangan (tx,ty) disebut
dengan translation vector
Rotasi
� Mengubah posisi objek: perpindahan sesuai jalur sirkular
� Perlu dispesifikasikan:� 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)
x = r cos φy = r sin φ
x’ = r cos (φ+θ)
r
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 θ
y’ = yr + (x-xr) sin θ + (y-yr)
r
y’ = yr + (x-xr) sin θ + (y-yr)cos θ
1. Translasi tx= -xr & ty= -
yr2. 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 � 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 grafikaalgoritma pembangkit primitif grafika
Penskalaan
� Mengubah ukuran objek (memperbesar / memperkecil)� Mengubah jarak setiap titik pada objek
terhadap titik acuan
� Perlu dispesifikasikan:� Perlu dispesifikasikan:� Faktor penskalaan: sx & sy � real: (0..N]
� Titik acuan (xf,yf)
� Jenis penskalaan:� Uniform: sx = sy
� Differential: sx ≠ sy
y
x
y
x
Penskalaan terhadap titik (0,0)
x’=x.sx
y’=y.sy
� Bentuk objek berubah
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
x
(xf,yf)
1. Translasi tx= -xf & ty= -yf2. Penskalaan dgn Sx & Sy3. 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)
Penskalaan uniform untuk poligon, lingkaran dan elips
� Poligon:
� Transformasikan titik-titik sudut
� Gambar ulang tiap garis
� Lingkaran:� 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=
xP=(x,y) � P=
� Koefisien transformasi direpresentasikan sebagai vektor atau matriks
y
x
Persamaan matriks translasi
� Translation distance tx & ty � T=
� P’ = P + T
y
x
t
t
txx'
+
=
y
x
t
t
y
x
y
x
'
'
−+
=
−
3
5
1
2
4
4 -6
3
(2,1)
(-4,4)
Persamaan matriks rotasi: pivot = (0,0)
x’ = x cos θ - y sin θ
y’ = x sin θ + y cos θy
(2,7)
•
−=
y
x
y
x
θθθθ
cossin
sincos
'
'
x
(7,-2)
•
−−
−−−=
− 7
2
)90cos()90sin(
)90sin()90cos(
2
700
00
Persamaan matriks rotasi: pivot = (xr,yr)
x’ = xr + (x-xr) cos θ - (y-yr)sin θ
y’ = yr + (x-xr) sin θ + (y-yr)
−
•
−+
=
r
r
r
r
y
x
y
x
y
x
y
x
θθθθ
cossin
sincos
'
'
y’ = yr + (x-xr) sin θ + (y-yr)cos θ
−
•
−+
=
2
1
3
7
90cos90sin
90sin90cos
2
1
8
000
00
Persamaan matriks penskalaan
x’=x.sx
y’=y.sy
•
=
y
x
S
S
y
x
y
x
0
0
'
'
x’= xf + (x-xf).sxy’= yf + (y-yf).sy
−
•
+
=
f
f
y
x
f
f
y
x
y
x
S
S
y
x
y
x
0
0
'
'
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:dinyatakan dalam matrik homogen menjadi:
X’Y’1
1 0 tx0 1 ty0 0 1
XY1
=
Matrik Homogen 2D
� Sedangkan untuk penskalaan dengan titik acuan (0,0)
X’Y’
Sx 0 00 S 0
XY=
� Dengan mekanisme matrik homogen maka kita dapat menentukan hasil dari penskalaan dengan titik acuan (xf,yf) dengan perkalian matrik
Y’1
0 Sy 00 0 1
Y1
=
Matrik Homogen 2D
� Penskalaan dengan titik acuan (xf,,yf) dapat dinyatakan sebagai:
1. Translasi tx= -xf & ty= -yf = A
2. Penskalaan dgn Sx & Sy = B2. Penskalaan dgn Sx & Sy = B
3. Translasi tx= xf & ty= yf = C
� Matrik Homogen : C.B.A
� Proses yang sama dapat dilakukan untuk menyelesaikan transformasi yang lainnya