23
Pengertian ‘Transformasi’ geometric transformation Transformasi = mengubah deskripsi koordinat dari objek Transformasi dasar: Translasi Rotasi Penskalaan

geometric transformation Transformasi = mengubah …parno.staff.gunadarma.ac.id/Downloads/files/46124/...Transformasi Komposit Dari beberapa penjelasan sebelumnya dinyatakan bahwa

  • Upload
    buitruc

  • View
    240

  • 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

Contoh translasi

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

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:� 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