Anda di halaman 1dari 18

Transformasi 2D

Grafika Komputer
Transformasi
Merupakan metode untuk mengubah
lokasi titik.
Jika sebuah titik p dilakukan
transformasi, maka dapat dirumuskan:
(Qx, Qy) = T(P
x
, P
y
) atau
Q = TP
p
q
T
Transformasi Affine
Merupakan metode paling umum
digunakan dalam grafika komputer.
Menggunakan matriks dalam menghitung
posisi objek yg baru.
Rumus umum :

Dimana P, Q dan tr merupakan vektor
jarak, atau

) , ( ) , ( ) , (
y x y x y x
tr tr
d c
b a
P P Q Q +
|
|
.
|

\
|
=
x y x x
tr cP aP Q + + =
y y y
tr dP bPx Q + + =
Bentuk dasar transformasi
Translasi
Skala
Rotasi
Translasi
Transformasi geser adalah transformasi yg
menghasilkan lokasi baru dari sebuah objek
sejauh pergeseran
tr = (tr
x
, tr
y
)
Translasi tidak mengubah bentuk objek
Oleh karena perkalian p dengan matriks
identitas hrs sama, maka diperoleh
) , ( ) , (
y y x x y x
tr P tr P Q Q + + =
Contoh kasus
Jika diketahui sebuah titik p (-4, 7) dan
vektor translasi (8, -9), hitung lokasi
baru dan gambarkan dalam diagram
cartesus!
Skala
Transformasi skala akan mengubah bentuk objek
sebesar skala S
x
, S
y
, sehingga:


Maka matriks transformasi M adalah



Dan vektor tr = 0.
) * , * ( ) , (
y y x x y x
S P S P Q Q =
|
|
.
|

\
|
=
y
x
S
S
M
0
0
Skala
Transformasi skala dilakukan thd titik
pusat (0, 0), karena setiap titik P akan
digeser sebesar S
x
dari titik pusat
sumbu x dan sejauh S
y
dari titik pusat
sumbu y.
Skala S
x
=2, S
y
= 2
Skala
Jika kedua skala berisi nilai yg sama,
S
x
= S
y
maka akan diperoleh uniform scaling,
objek akan diperbesar (magnification) pada
kedua sumbu sebesar |S|
Jika 0<s<1 maka diperoleh objek diperkecil
(demagnification) , akan diperoleh
penskalaan differensial (Differential scaling)
Jika salah satu faktor skala sama dg 1 maka
akan diperoleh transformasi strain.
Rotasi
Dg menggeser semua titik P sejauh sudut q dg tr
= 0 dan titik pusat pemutaran berada di titik (0,
0).
Q = T(P) mempunyai bentuk:



Dg asumsi menggunakan sudut q positif dan
berlawanan arah jarum jam,maka dapat disusun
mariks transformasi M sbb:
) sin( ) cos( u u
y x x
P P Q =
) cos( ) sin( u u
y x y
P P Q + =
Rotasi
|
|
.
|

\
|

=
) cos( ) sin(
) sin( ) cos(
u u
u u
M
Contoh kasus, diketahui titik-titik
P
1
= (1, 1); P
2
= (3, 1); P
3
= (3,2); P
4
(1, 2);
putar objek sebesar 60
0
terhadap titik pusat
(0, 0)!.
Penyelesaian
|
|
.
|

\
|

=
) 60 cos( ) 60 sin(
) 60 sin( ) 60 cos(
M
|
|
.
|

\
|

=
5 . 0 8660 . 0
8660 . 0 5 . 0
M
|
|
.
|

\
|

=
5 . 0 8660 . 0
8660 . 0 5 . 0
*
1 1
P Q
|
|
.
|

\
|

=
5 . 0 8660 . 0
8660 . 0 5 . 0
* ] 1 , 1 [
1
Q
Q
1
= ((1*0.5)+(1*-0.8660),
(1*0.8660)+(1*0.5))
Q
1
= (-0.36, 1.36)

Dg cara yg sama diperoleh
Q
2
, Q
3
, Q
4
.
Skala / rotasi dg sembarang titik
pusat
Contoh kasus sama, tetapi dg titik
pusat (3, 2)
Penyelesian:
Karena objek diputar pada titik pusat
(3, 2) maka sebelum dirotasi, objek
ditranslasikan dulu sebesar (-3, -2) titik pusat
berimpitan dg titik pusat (0, 0), setelah itu
objek diputar 60
0
dan kemudian hasil
pemutarannya ditraslasikan (3, 2)

.

1. Translasi sebesar (-3, -2) akan menghasilkan:
Q1=(1-3, 1-2) = (-2,-1)
Q2=(3-3, 1-2) = (0, -1)
Q3=(3-3, 2-2) = (0, 0)
Q4 =(1-3,2-2) = (-2, 0)
2. Titik Q1, Q2, Q3, Q4 dirotasikan sebear 60
0
:
Q1=(-0.134, -2.232)
Q2=(0.8660, -0.500)
Q3=(0.000, 0.000)
Q4 =(-1.0, -1.732)
3. Titik Q1, Q2, Q3, Q4 ditranslasikan sebesar
(3, 2), shg diperoleh:
Q1=(2.866, -0.232)
Q2=(3.866, 1.500)
Q3=(3.000, 2.000)
Q4 =(2.000, 0.268)
Transformasi homogeneous
Transformasi dg menggabungkan
translasi, penskalaan, dan rotasi ke
dalam satu model matriks.
Keutungannya: kita tidak perlu
membuat prossedur-prosedur khusus
untuk tiap jenis transformasi tapi cukup
dengan perkalian perkalian matriks.

Rumus
(
(
(

=
1 0 0
1 0
0 1
:
y
x
Tr
Tr
M Translasi
(
(
(

=
1 0 0
0 0
0 0
: Sy
Sx
M Skala
(
(
(

=
1 0 0
0 ) ( ) (
0 ) ( ) (
: u u
u u
Cos Sins
Sins Cos
M Rotasi
Tugas 2
Buat program untuk menggambar objek
dan terapkan konsep transformasi
Waktu 2 minggu.
Transformasi (Translasi, skala, rotasi)
individu

Anda mungkin juga menyukai