Anda di halaman 1dari 18

Bab 4

Transformasi Geometri
TUJUAN PEMBELAJARAN
 Pembaca bisa memahami konsep transformasi geometri 2-D dan 3-D : translasi, rotasi,
Refleksi, Shear dan scalling.

OUTCOME PEMBELAJARAN
 Pembaca bisa menghitung transformasi geometri 2-D secara manual

Pendahuluan
Transformasi geometri pada dasarnya adalah mengubah kedudukan setiap titik, misalkan
sebuah titik A(x,y) mengalami transformasi sehingga menjadi A’(x’,y’) menggunakan
persamaan atau algoritma tertentu. Hal ini berarti terdapat suatu fungsi T yang memetakan
koordinat A menjadi koordinat A’ dan dituliskan sebagai :

A’=T(A).

Transformasi yang banyak digunakan di dalam grafika komputer adalah transformasi affin
(affine tranformation), yang mempunyai bentuk yang sangat sederhana. Sejumlah
transformasi dasar dari transformasi affin antara lain adalah : penggeseran (translation),
penskalaan (scaling), pemutaran (rotation) dan shearing.

4.1 Translasi (Pergeseran)


Sembarang titik pada bidang xy dapat digeser ke sembarang tempat dengan menambahkan
besaran pada absis X dan ordinat Y. Misalkan titik A(x,y) digeser searah sumbu X sejauh tx
dan sejauh ty searah sumbu Y (perhatikan Gambar 4-1), maka titik hasil pergeseran tersebut
dapat ditulis sebagai berikut :

x’ = x + tx
y’ = y + ty Y
y’ A’(x’,y’)
atau dapat disusun sebagai berikut : A(x,y) tx
y
x’ = x + 0.y + tx
y’ = 0.x + y + ty 0 x ty x’ X
atau dapat disusun dalam bentuk matriks :

 x'  1 0  x  t x  Gambar 4-1


 y '  0 1 . y   t 
      y

1
Contoh 4.1
Tentukan posisi dari segitiga ABC yang dibentuk oleh titik-titik A(20,20), B(100,20) dan
80 
C(60,120) jika dilakukan penggeseran pada 70 .
 
Jawab:

 xa' xb' xc'  1 0 20 100 60  80 80 80 100 180 140
 '  .   
 ya y b' y c'  0 1 20 20 120 70 70 70  90 90 190

Yaitu A’(100,90), B’(180,90) dan C’(140,190)

4.2 Scalling (Penskalaan)


Penskalaan adalah proses untuk memperbesar atau memperkecil suatu obyek atau gambar.
Misalkan titik A(x,y) diskalakan terhadap titik P(a,b) dengan faktor skala sebesar Sx searah
sumbu X dan sebesar Sy searah sumbu Y, maka titik hasil penskalaan titik A tersebut dapat
diperlihatkan pada gambar 4-2 berikut :
maka koordinat hasil penskalaan dapat ditentukan berikut :

x’ = Sx(x-a) + a
y’ = Sy(y-b) + b

Y A’(x’,y’)
y’
A(x,y)
y Sy(y-b)
P(a,b) y-b
b
x-a
0 a x x’ X
Sx(x-a)

Gambar 4-2

atau

x’ = Sxx + a – Sxa
y’ = Syy + b – Syb

atau dalam bentuk matriks :

 x'  S x 0   x  a  S x a 
 y '   0 . 
S y   y  b  S y b 
  

2
Jika pusat penskalaannya adalah sumbu koordinat P(0,0), maka a = 0 dan b = 0, sehingga
persamaannya menjadi :

 x'   S x 0   x
 y '   0 .
S y   y 
  
Matrik penyajian untuk penskalaan terhadap titik pusat P(0,0) adalah

S x 0
T=  .
0 S y 

Contoh 4.2
Tentukan posisi dari segitiga ABC yang dibentuk oleh titik-titik A(20,20), B(100,20) dan
 4
C(60,120), jika dilakukan penskalaan dengan faktor skala 2 terhadap titik pusat P(0,0)
 
Jawab:
 x a' xb' xc'  4 0 20 100 60  80 400 240
 '  .  
 ya y b' y c'  0 2 20 20 120 40 40 240
Yaitu A’(80,40), B’(400,40) dan C’(240,240)

4.3 Rotasi (Perputaran)


Seperti halnya pergeseran dan penskalaan, untuk pemutaran sembarang obyek dilakukan
dengan pemutaran setiap titik ujung garis. Pemutaran searah jarum jam akan dinyatakan
dengan sudut negatif, sedangkan pemutaran berlawanan dengan jarum jam dinyatakan dengan
sudut postif. Dengan menganggap besarnya sudut putar adalah , maka hasil pemutaran titik
A(x,y) dengan pusat putar P(a,b) akan dihasilkan titik A’(x’,y’) seperti yang diperlihatkan
pada gambar 4-3 berikut :

Pandang segitiga siku-siku PAQ :

y b
sin    r sin   y  b
r
Y A’(x’,y’)
xb y’
cos    r cos   x  a
r y A(x,y)
y’-b
P(a,b)  y-b
Pandang segitiga siku-siku PA’R, maka : b  Q
x’-a R
y 'b 0 a x’ x X
sin (   )   r sin (   )  y 'b
r x-a
x' a
cos(   )   r cos(   )  x' a Gambar 4-3
r

3
r sin (   )  r sin  . cos   r cos  . sin   y 'b

(x  a ). sin   (y - b). cos   y 'b

y '  x sin   y cos   b - a. cos   b. sin 

r cos(   )  r cos  . cos   r sin  . sin   x' a

(x  a ). cos   (y - b). sin   x ' a

x '  x.cos  y sin   a - a. cos   b. sin 

Persamaan x’ dan y’ tersebut dapat disusun dalam bentuk matriks sebagai berikut :

 x ' cos   sin    x  a  a. cos  b. sin  


 y '   sin  . 
cos    y  b  b. cos   a. sin  
  

Bila pusat rotasinya berada pada sumbu koordinat P(0,0), maka persamaan tersebut menjadi :

 x '  cos   sin    x 


 y '   sin  .
cos    y 
  

Matrik penyajian untuk rotasi terhadap titik pusat P(0,0) adalah

cos   sin  
T =  sin  .
 cos  
Contoh 4.3
Tentukan posisi dari segitiga ABC yang dibentuk oleh titik-titik A(20,20), B(100,20) dan
C(60,120), jika dilakukan pemutaran dengan pusat sumbu koordinat dengan rotasi putarnya
180 derajat berlawanan arah dengan arah jarum jam.
Jawab :

 x a' xb' x c'   1 0  20 100 60   20  100  60 


 '  .  
 ya y b' y c'   0  1 20 20 120  20  20  120

Yaitu A’(-20, -20), B’(-100, -20) dan C’(-60,-120)

4.4 Refleksi (Pencerminan)


Refleksi terhadap sebuah garis g adalah transformasi yang memetakan masing – masing titik
pada bidang ke dalam bayangan cerminnya terhadap g. Matrik Penyajian untuk:

4
 x  x   1 0
1. refleksi terhadap sumbu y ( yang mengubah  y  menjadi  y  ) adalah :  0
     1

 x  x  1 0 
2. refleksi terhadap sumbu x ( yang mengubah  y  menjadi  y  ) adalah : 0  1
     

 x  y 0 1
3. refleksi terhadap garis y = x ( yang mengubah  y  menjadi  x  ) adalah : 1
     0

Contoh 4.4
Tentukan posisi dari segitiga ABC yang dibentuk oleh titik-titik A(10,2), B(10,8) dan C(3,2)
jika dilakukan pencerminan terhadap sumbu x, sumbu y , dan garis y = x.
Jawab :

Pencerminan terhadap sumbu x.

 x a' xb ' xc'   1 0 10 10 3  10  10  3


 '  . 
 ya yb y c'   0 1  2 8 2  2 8 2 

Yaitu A’(-10, 2), B’(-10, 8) dan C’(-3, 2)

Pencerminan terhadap sumbu y.

 x a' xb ' xc'  1 0  10 10 3  10 10 3 


 '  .  
 ya yb y c'  0  1  2 8 2  2  8  2

Yaitu A’(10, -2), B’(10, -8) dan C’(3, -2)

Pencerminan terhadap garis y = x.

 x a' xb ' x c'  0 1 10 10 3  2 8 2


 '  .  
 ya yb y c'  1 0  2 8 2 10 10 3

Yaitu A’(2, 10), B’(8, 10) dan C’(2, 3)

5
Contoh 4.5
Carilah persamaan bayangan sebuah garis y = 2x + 1 yang dipetakan oleh matrik A =

3 1
2 1
 

Jawab :
 x' 3 1  x 
 y ' =  2 1  
     y

Dan
1
 x 3 1  x'  1  1  x ' 
 y =   y ' =  2 3  
  2 1
      y '

Sehingga
x= x’ – y’
y = -2x’ + 3y’

Substitusikan ke y = 2x + 1 maka dihasilkan :

-2x’ + 3y’ = 2(x’ – y’) + 1


-2x’ + 3y’ = 2x’ – 2y’ + 1
5y’ = 4x’ + 1
4 1
y'  x '
5 5

6
4.5 Shearing
Shearing adalah suatu proses untuk menstransformasikan obyek dengan cara ‘membebani’
obyek tersebut pada arah tertentu. Contoh sederhana proses shearing adalah pembentukan
huruf italic (miring) dari sembarang huruf. Proses shearing suatu titik A(x,y) menjadi titik
A’(x’,y’) ke arah sumbu X sebesar Shx dan sumbu Y sebesar Shy dinyatakan dalam
persamaan sebagai :

x’ = x + Shx y
y’ = Shy x + y

yang dapat ditulis dalam bentuk matriks :

 x'  1 Shx   x 
 y '   Sh .
1   y 
   y

Matrik penyajian untuk shearing terhadap titik pusat P(0,0) adalah

 1 Shx 
T=  .
 Sh y 1 

Contoh 4.6
Tentukan posisi dari segitiga ABC yang dibentuk oleh titik-titik A(20,20), B(100,20) dan
C(60,120), jika dilakukan shearing dengan bobot kearah sumbu x adalah Shx = 2 dan bobot
kearah sumbu y adalah Shy = 3 yang pusatnya terletak di pusat koordinat.
Jawab :

 x a' xb ' xc'  1 2 10 10 3 14 26 7 


 '  .  
 ya yb y c'  3 1   2 8 2 32 38 11

 x a' xb' xc'  1 2 20 100 60  60 140 300


 '  .  
 ya yb' y c'  3 1 20 20 120 80 320 300

Yaitu A’(60,80), B’(140,320) dan C’(300,300)

7
4.6 Sistem Koordinat Homogen 2D
Dari berbagai bentuk matrik penyajian, terlihat bahwa hanya transformasi translasi saja yang
belum bisa dinyatakan sebagai matrik penyajian, karena diperlukan operasi perkalian dan
penjumlahan, sedangkan pada jenis transformasi yang lain cukup diperlukan operasi perkalian
matriks saja, sehingga perlu dicari suatu cara agar translasipun juga bisa dinyatakan dalam
operasi perkalian matriks. Hal ini dapat dilakukan dengan dengan menggunakan sistem
koordinat homogen.

Sistem koordinat homogen adalah sistem koordinat yang mempunyai satu dimensi lebih
tinggi dari sistem koordinat yang ditinjau. Sebagai contoh, sistem koordinat homogen dari
sistem koordinat dua dimensi adalah sistem koordinat 3 dimensi dengan cara menentukan
salah satu sumbunya sebagai suatu konstanta. Dengan menggunakan sistem koordinat
homogen, persamaan umum transformasi titik A(x,y) menjadi A’(x’,y’) dapat ditulis sebagai :
 x'  a c t x x 
 y '  . b d ty   
    y
1 
  
0 0 1 
1 

Dari persamaan tersebut, maka masing-masing transformasi diatas bisa dituliskan sebagai
berikut :

1 0 tx 
 t y  , sehingga
 Translasi : T = 0 1
0 0 1 

 x' 1 0 tx   x
 y '  t y   y
  = 0 1  

1  0 0 1  
1 

S x 0 0
 0 , sehingga
 Scalling : T =  0 Sy
 0 0 1

8
 x' S x 0 0  x
 y '  0  y
  = 0 Sy  

1   0 0 1  
1 

cos   sin  0
 sin  cos  0
 Rotasi berlawanan arah jarum jam (sudut putar positif): T =  ,
 0 0 1
sehingga

 x' cos   sin  0  x


 y '  sin  cos  0  y
  =   

1   0 0 1 
1 

 1 Shx 0
 0 , sehingga
 Shearing : T =  Sh y 1
 0 0 1

 x'  1 Shx 0  x
 y '  0  y
  =  Sh y 1  

1   0 0 1 
1 

1 0 0
0 1 0
 Refleksi terhadap sumbu x : T =  , sehingga

0 0 1

 x' 1 0 0  x
 y ' 0 1 0  y
  =    

1  
0 0 1
 
1 

 1 0 0
 0 0
 Refleksi terhadap sumbu y : T =  1 , sehingga

 0 0 1

 x'  1 0 0  x
 y '  0 1 0  y
  =    

1  
 0 0 1
 
1 

0 1 0
1 0
 Refleksi terhadap garis y=x : T =  0 , sehingga

0 0 1

 x' 0 1 0  x
 y ' 1 0 0  y
  =    

1  
0 0 1
 
1 

9
Contoh 4.7
Tentukan posisi dari segitiga ABC yang dibentuk oleh titik-titik A(10,2), B(10,8) dan C(3,2)
jika dilakukan transformasi berikut :
a) translasi kearah sumbu x = 4, kearah sumbu y = −2
b) Scalling dengan skala kearah sumbu x = 2, kearah sumbu y = −2
c) Diputar 90o berlawanan jarum jam
d) Shearing kearah sumbu x = −2, kearah sumbu y = 3
e) Refleksi terhadap sumbu x
f) Refleksi terhadap sumbu y
g) Refleksi terhadap garis y = x

Jawab:
 x' 1 0 4  10 10 3 14 14 7
 y ' 0  2 2 2 0 0
a)   =  1  8  =  6 

1  0 0 1  
1 1 1
 
1 1 1

diperoleh A’(14,0), B’(14,6) dan C’(7,0)

 x' 2 0 0 10 10 3  20 20 6 
 y ' 0 2 0 2 2  4  16  4
b)   =   8  =  

1  0 0 1  
1 1 1
 
 1 1 1 

diperoleh A’(20, −4), B’(20, −16) dan C’(6, −4)

 x' cos 90 0  sin 90 0 0 10 10 3  2 8  2


 y '   2
c)   =  sin 90
0
cos 90 0 0  8 2
 =
 10
 10 3 

1   0 0 1 
1 1 1
  1 1 1 

diperoleh A’(−2, 10), B’(−8, 10) dan C’(−2, 3)

 x' 1 2 0 10 10 3 6 6  1
 y ' 3 1 0 2 8 2 20 38 11 
d)   =    =  
1
  0 0 1  1
 1 1
 1
 1 1 

diperoleh A’(6, 20), B’(−6, 38) dan C’(−1, 11)

 x' 1 0 0 10 10 3  10 10 3 
 y ' 0 1 0 2 8 2  2 8  2
e)   =     = 
1
  0
 0 1
 1
 1 1
  1 1 1 

diperoleh A’(10, −2), B’(10, −8) dan C’(3, −2)

 x'  1 0 0 10 10 3   10  10  3
 y '  0 1 0 2 8 2  2 8 2 
f)   =     =  

1  
 0 0 1
 
1 1 1
 
 1 1 1 

diperoleh A’(−10, 2), B’(−10, 8) dan C’(−3, 2)

10
 x' 0 1 0 10 10 3 2 8 2
 y ' 1 0 2 2 10 3
g)   =  0   8  =  10 

1  
0 0 1
 
1 1 1
 
1 1 1

diperoleh A’(2,10), B’(8,10) dan C’(2,3)

4.7 Komposisi Matrik Transformasi 2D


Dengan menggunakan matrik penyajian, kita bisa menyusun transformasi secara berurutan
yang biasa disebut sebagai komposisi matrik tranformasi, yaitu dengan cara menghitung
perkalian matrik penyajian secara berurutan.

Contoh 4.8
Tentukan posisi dari segitiga ABC yang dibentuk oleh titik-titik A(5,5), B(10,5) dan C(8,10)
6 
jika dilakukan komposisi transformasi berikut: penggeseran pada 6 , dilanjutkan dengan
 
rotasi 90º berlawanan jarum jam, kemudian diakhiri dengan penskalaan dengan faktor skala
3
3 terhadap titik pusat P(0,0).
 
Jawab:
Dalam hal ini kita harus menghitung matrik komposisi berikut

 xa' xb' xc'        x xb xc 


 ' '
 .Matrik Skala *  Matrik Rotasi  *  Matrik Translasi  *  a 
 ya yb' yc         ya yb yc 

Proses dilakukan terhadap operasi translasi terlebih dahulu

 x a' xb' xc'  1 0 5 10 8  6 6 6 11 16 14


 '  .   
 ya y b' y c'  0 1 5 5 10 6 6 6 11 11 16

Hasil translasi yaitu A’(11,11), B’(16,11) dan C’(14,16)

Proses dilanjutkan dengan operasi rotasi 90º berlawanan jarum jam

 x a' xb' x c'  cos 90 0  sin 90 0   x a xb xc 


 ' '   . * .
 ya y b y c'   sin 90 0 cos 90 0   y a yb yc 
0  1 11 16 14
 * .
1 0  11 11 16
 11  11  16

 11 16 14 

11
3
Yang terakhir diakhiri dengan operasi penskalaan dengan faktor skala 3 terhadap titik
 
pusat P(0,0).

 x a' xb' xc'  m 0   x a xb x c 


 '   . * .
 ya y b' y c'   0 n   y a yb y c 
3 0  11  11  16
 *
0 3  11 16 14 
 33  33  48

 33 48 42 

4.8 Transformasi Geometri 3D


Transformasi geometri adalah perubahan posisi obyek terhadap titik acuan akibat adanya
translasi (pergeseran), scalling (penskalaan), dan rotasi (perputaran). Transformasi geometri
3D merupakan pengembangan dari transformasi geometri 2D. Secara umum representasi
transformasi pada 3D juga dibuat dalam bentuk matrik untuk memudahkan perhitungan.
4.8.1 Translasi

y
(x’, y’, z’)

T (Tx, Ty, Tz)


x
(x, y, z)

Dalam hal ini,


x '  x  Tx
y'  y  Ty
z '  z  Tz

Dalam bentuk matrik

 x' 1 0 0 Tx   x 
 y ' 0 1 0 T y   y 
  
 z '  0 0 1 Tz   z 
     
 1  0 0 0 1  1 

12
4.8.2 Penskalaan (Scalling)

y (x’, y’, z’)

T (Sx, Sy, Sz)


x
(x, y, z)

Dalam hal ini,


x '  S x .x
y'  S y . y
z '  S z .z

Dalam bentuk matrik

 x'  S x 0 0 0  x 
 y '  0 Sy 0 0  y 
  
 z'  0 0 Sz 0  z 
     
1  0 0 0 1  1 

4.8.3 Rotasi
Rotasi terhadap sumbu-z sebesar sudut Ө.

(x’, y’, z’)

x
(x, y, z)

Dalam hal ini,

13
x '  x cos   y sin 
y '  x sin   y cos 
z'  z

Dalam bentuk matrik rotasi terhadap sumbu-z sebesar sudut Ө.

 x' cos  sin  0 0  x 


 y '  sin  cos 0 0  y 
  
 z '  0 0 1 0  z 
     
1  0 0 0 1  1 

Dengan cara yang sama diperoleh rotasi terhadap sumbu-x sebesar sudut Ө.
x'  x
y '  y cos   z sin 
z '  y sin   z cos 

Dalam bentuk matrik rotasi terhadap sumbu-x sebesar sudut Ө.

 x' 1 0 0 0  x 
 y ' 0 cos   sin  0  y 
  
 z '  0 sin  cos  0  z 
     
 1  0 0 0 1  1 

rotasi terhadap sumbu-y sebesar sudut Ө.


x '  x cos   z sin 
y'  y
z '   x sin   z cos 

Dalam bentuk matrik rotasi terhadap sumbu-y sebesar sudut Ө.

 x'  cos 0 sin  0  x 


 y '  0 1 0 0  y 
  
 z '   sin  0 cos  0  z 
     
1  0 0 0 1  1 

14
Ringkasan
Transformasi geometri pada dasarnya adalah proses yang mengubah kedudukan setiap titik
yang membentuk obyek. Transformasi yang banyak digunakan di dalam grafika komputer
adalah transformasi affin (affine tranformation), yaitu: penggeseran (translation), penskalaan
(scaling), pemutaran (rotation) dan shearing.

Bentuk matrik Tranformasi Translasi :

 x ' 1 0  x   m 
 y '  0 . 
1  y   n 
  

Bentuk matrik Tranformasi Penskalaan :

 x' m 0  x  a  ma 
 y '   0 . 
n  y   b  nb 
  

Bentuk matrik tranformasi rotasi pada sumbu koordinat P(0,0) :

 x '  cos   sin    x 


 y '   sin  .
cos    y 
  

Matrik Penyajian untuk Refleksi :

15
 x  x   1 0
1. refleksi terhadap sumbu y ( yang mengubah  y  menjadi  y  ) adalah :  0
     1

 x  x  1 0 
2. refleksi terhadap sumbu x ( yang mengubah  y  menjadi  y  ) adalah : 0  1
     

 x  y 0 1
3. refleksi terhadap garis y = x ( yang mengubah  y  menjadi  x  ) adalah : 1
     0

Bentuk matrik Tranformasi Shearing :

 x ' 1 m  x 
 y '   n .
1   y 
  

Sistem koordinat homogen adalah sistem koordinat yang mempunyai satu dimensi lebih
tinggi dari sistem koordinat yang ditinjau.

Bentuk matrik Tranformasi Translasi dalam koordinat homogen :

 x' 1 0 m  x
 y ' 0 n  y
  =  1   

1  
0 0 1
 
1 

Rotasi berlawanan arah jarum jam :

 x' cos   sin  0  x


 y '  sin  cos  0  y
  =   

1   0 0 1 
1 

Bentuk matrik Tranformasi Shearing dalam koordinat homogen :

 x' 1 m 0  x
 y ' n 0  y
  =  1   

1  
0 0 1
 
1 

Refleksi terhadap sumbu x:

16
 x' 1 0 0  x
 y ' 0 1 0  y
  =    

1  
0 0 1
 
1 

Refleksi terhadap sumbu y :

 x'  1 0 0  x
 y '  0 0  y
  =  1   

1  
 0 0 1
 
1 

Refleksi terhadap garis y=x :

 x' 0 1 0  x
 y ' 1 0  y
  =  0   

1  
0 0 1
 
1 

Soal-Soal Latihan

1. Tentukan posisi dari segitiga ABC yang dibentuk oleh titik-titik A(30,25), B(80,50)
10 
dan C(60,20) jika dilakukan penggeseran pada 35 .
 

2. Tentukan posisi dari segitiga ABC yang dibentuk oleh titik-titik A(23,42), B(30,22)
 4
dan C(60,12), jika dilakukan penskalaan dengan faktor skala 2 terhadap titik pusat
 
P(0,0)

3. Tentukan posisi dari segitiga ABC yang dibentuk oleh titik-titik A(20,24), B(15,20)
dan C(60,12), jika dilakukan pemutaran dengan pusat sumbu koordinat dengan rotasi
putarnya 30 derajat berlawanan arah dengan arah jarum jam.

17
4. Tentukan posisi dari segitiga ABC yang dibentuk oleh titik-titik A(12,24), B(15,18)
dan C(35,20) jika dilakukan pencerminan terhadap sumbu x, sumbu y , dan garis y =x.

5. Carilah persamaan bayangan sebuah garis y = 4x + 3 yang dipetakan oleh matrik A =

2 3
5 4
 

6. Tentukan posisi dari segitiga ABC yang dibentuk oleh titik-titik A(20,20), B(100,20)
dan C(60,120), jika dilakukan shearing dengan bobot kearah sumbu x adalah m = -2
dan bobot kearah sumbu y adalah n = 5 yang pusatnya terletak di pusat koordinat.

7. Tentukan posisi dari segitiga ABC yang dibentuk oleh titik-titik A(10,5), B(15,18) dan
C(30,25) jika dilakukan transformasi berikut :
a) translasi kearah sumbu x = 2, kearah sumbu y = −3
b) Scalling dengan skala kearah sumbu x = 5, kearah sumbu y = −3
c) Diputar 45o berlawanan jarum jam
d) Shearing kearah sumbu x = −3, kearah sumbu y = 4
e) Refleksi terhadap sumbu x
f) Refleksi terhadap sumbu y
g) Refleksi terhadap garis y = x

18

Anda mungkin juga menyukai