Anda di halaman 1dari 10

Modul Grafika Komputer

BAB XIII
TRANSFORMASI 3D

OBJEKTIF :
Materi Transformasi 3D ini akan mempelajari
1. Pengantar Transformasi 3D
2. Transformasi Dasar
3. Translasi
4. Scalling
5. Rotasi
TUJUAN DAN SASARAN:
Setelah mempelajari bab ini mahasiswa diharapkan:
1. Menjelaskan konsep transformasi 3 D
2. Membedakan konsep transformasi 3D dan 2D
3. Menyebutkan jenis-jenis transformasi 3D
4. Menjelaskan proses translasi titik, garis dan objek grafis
lainnya
5. Menjelaskan proses scalling titik, garis dan objek grafis
lainnya
6. Membedakan proses translasi, rotasi dan scalling
7. Menghitung posisi objek grafis setelah dilakukan translasi
8. Menghitung posisi objek grafis setelah dilakukan scalling

Transformasi 3D Page 1
Modul Grafika Komputer

13.1 Transformasi 3D
Metode untuk transformasi geometrik dan pemodelan objek pada
grafika 3D merupakan pengembangan dari metode 2D dengan menambahkan
koordinat z.
Proses translasi dilakukan dengan menspesifikasi vektor translasi 3D
dengan menambahkan Tz yang menentukan kemana objek dipindahkan pada 3
koordinat tersebut. Proses scalling dilakukan dengen menambahkan scalling
factor Sz sehingga menjadi 3 koordinat. Sedangkan proses rotasi, pada grafika 2D
posisi objek grafis ada pada bidang xy (pada grafika 3D ini merupakan rotasi
terhadap sumbu z), sedangkan pada grafika 3D kita dapat memilih komposisi dari
3 arah rotasi yaitu terhadap sumbu x dan sumbu y.
13.2 Translasi
Pada proses translasi 3D, suatu titik dengan posisi awal P = (x,y,z)
dipindahkan ke posisi P’ = (x’,y’,z’) dengan persamaan 12-1

Gambar 13.1 Translasi 3D [1]

xi = x + tx ; yi = y + ty; zi = z + tz [12-1]
Persamaan tersebut jika dimodelkan dalam bentuk matriks dapat dilihat
pada persamaan 12-2
 x'  1 0 0 Tx   x 
 y ' 0 1 0 Ty   y 
   [12-2]
 z '  0 0 1 Tz   z 
     
 1  0 0 0 1  1 

Transformasi 3D Page 2
Modul Grafika Komputer

Contoh 1 :
Sebuah titik A dengan koordinat (3,4,5) akan ditranslasi dengan vektor
translasi tx = 8, ty = 9 dan tz = -3, maka koordinat titik A setelah ditranslasi akan
dihitung dengan rumus pada persamaan 12-1
xi = 3 + 8 = 11
yi = 4 + 9 = 13
z’ = 5 + (-3) = 2
Koordinat setelah translasi adalah (11,13,2)
Contoh yang sama dikerjakan menggunakan matriks :
 x'  1 0 0 8  3
 y '  0 1 0 9  4
  
 z '  0 0 1  3 5 
     
 1  0 0 0 1  1 

 x'   3  0  0  8 
 y '  0  4  0  9 
  
 z '  0  0  5  (3)
   
1   0  0  0 1 
 x' 11
 y ' 13
   
 z ' 2
   
1 1
13.3 Rotasi
Rotasi 3D menambahkan arah putar dari objek, jika pada rotasi 2D arah
putar hanya searah atau berlawanan arah jarum jam terhadap titik tertentu,
maka pada rotasi 3D, objek diputar terhadap sumbu x, y atau z.

Gambar 13.3 Rotasi 3D terhadap sumbu z[1]

Transformasi 3D Page 3
Modul Grafika Komputer

Rotasi 3D terhadap sumbu z dapat dilihat pada persamaan berikut :

x’ = x cos  - y sin 
y’ = x sin  + y cos 
z’ = z
[12-3]
Bagaimana untuk rotasi terhadap sumbu x dan sumbu y, caranya
dengan mengganti secara siklik x  y  z  x, sehingga didapat persamaan
berikut untuk rotasi terhadap sumbu x :

x’ = x
y’ = y cos  - z sin 
z’ = y sin  + z cos 
[12-4]
Bila persamaan diatas diganti secara siklik sekali lagi maka akan didapat
persamaan untuk rotasi terhadap sumbu y pada persamaan 12-5

x’ = z sin  + x cos 
y’ = y
z’ = z cos  - x sin 
[12-5]
Matriks untuk rotasi terhadap sumbu z dapat dilihat pada persamaan
12-6

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


 y '  sin   x
  cos  0 0  
 y [12-6]
 z'  0 0 1 0  z 
     
1  0 0 0 1 1 
 

Gambar 13.2 Rotasi terhadap sumbu x[1]

Transformasi 3D Page 4
Modul Grafika Komputer

Sedangkan matriks untuk rotasi terhadap sumbu x dapat dilihat pada


persamaan 12-7
  1 0 0 0  x 
 x'  
  0 cos   sin  0  y 
 y '  0 sin   [12-7]
cos  0  z 
 z'    
1  0 0 0 1  1 
 
Latihan 1 : Tuliskan matriks untuk proses rotasi terhadap sumbu Y

Contoh 2 :
Sebuah titik (12,4,7) dirotasi terhadap sumbu z dengan sudut 30o berlawanan
arah jarum jam, hitung koordinat titik tersebut setelah dirotasi.
Jawab
x’ = x cos  - y sin 
= 12 cos 30 – 4 sin 30
= 12 x 0.866 – 4 x 0.5
= 10.39-2 = 8.39 ≈ 8
y’ = x sin  + y cos 
= 12 x sin 30 + 4 cos 30
= 12 x 0.5 + 4 x 0.866
= 6 + 3.46
= 9.46 ≈ 9
z’ = 7
koordinat titik setelah dirotasi (8,9,7)

contoh soal yang sama dihitung dengan menggunakan matriks


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

Transformasi 3D Page 5
Modul Grafika Komputer

 x ' cos 30  sin 30 0 0 12


 y '  sin 30 cos 30 0 0  4 
  
 z'  0 0 1 0  7 
     
1  0 0 0 1  1 

 x'  0.866  0.5 0 0 12


 y '  0.5 0.866 0 0  4 
  
 z'  0 0 1 0  7 
     
1  0 0 0 1  1 

 x'  (12 x0.866)  (0.5 x 4)  0  0


 y '  (0.5 x12)  (0.866 x 4)  0  0 
  
 z'  0070 
   
1  0  0  0 1 
 x ' 8.39 8 
 y ' 9.46 9 
   
 z '   7  7 
     
 1   1  1 
Koordinat setelah dirotasi (8,9,7)
Latihan 2 : Hitung koordinat titik jika dirotasi terhadap sumbu x dan sumbu y

13.4 Scalling
Proses scalling 3D juga ditambahkan dengan faktor penskalaan Sx, Sy dan
Sz.

Gambar 13.3 Proses Scalling 3D[1]


Sehingga persamaan pada scalling 2D terhadap koordinat (0,0,0)dapat
ditambahkan seperti pada persamaan 12-8

Transformasi 3D Page 6
Modul Grafika Komputer

x’ = x.Sx
y’ = y.Sy
z’ = z.Sz
[12-8]
Proses scalling 3D terhadap koordinat (0,0,0) dalam bentuk matriks pada
persamaan 12-9 berikut :
 x'  Sx 0 0 0  x 
 y '  0 Sy 0 0  y 
    [12-9]
 z '   0 0 Sz 0  z 
     
 1   0 0 0 1  1 
Contoh 3 :
Sebuah titik (3,8,-5) mengalami proses scaliing terhadap koordinat (0,0,0) dengan
faktor penskalaan Sx = 2, Sy = ½ dan Sz = 3. Hitung koordinat titik tersebut
setelah discalling.
Jawab.
x’ = x.Sx
=3x2=6
y’ = y.Sy
=8x½=4
z’ = z.Sz
= -5 x 3 = -15
Koordinat titik setelah dikenai proses scalling (6,4,-15)
Solusi menggunakan matriks :

 x'   Sx 0 0 0  x 
 y '  0 Sy 0 0  y 
   
 z '   0 0 Sz 0  z 
     
 1   0 0 0 1  1 
 x '  2 0 0 0  3 
 y ' 0 1 / 2 0 0  8 
  
 z '  0 0 3 0  5
     
 1  0 0 0 1  1 

Transformasi 3D Page 7
Modul Grafika Komputer

 x'   (2 x3)  (0 x8)  (0 x(5))  (0 x1) 


 y ' (0 x3)  (1 / 2 x8)  (0 x(5))  (0 x1)
  
 z '   (0 x3)  (0 x8)  (3x(5))  (0 x1) 
   
 1   (0 x3)  (0 x8)  (0 x(5))  (1x1) 
 x'   6 
 y '  4 
  
 z '   15
   
1  1 
Proses scalling terhadap titik tertentu (xf,yf,zf) dapat direpresentasikan
dengan urutan transformasi berikut :
1. Translasi objek tersebut ke titik pusat (0,0,0)  atau translasi
dengan Tx = - Xf, Ty = -Yf dan Tz = -Zf
2. Scalling terhadap titik pusat menggunakan persamaan 12-9
3. Translasi ke titik semula

Gambar 12.4 Proses Scalling terhadap titik (xf,yf,zf)[1]

Transformasi 3D Page 8
Modul Grafika Komputer

Matriks untuk proses tersebut adalah :


 x' 1 0 0 Tx   Sx 0 0 0 1 0 0  Tx   x 
 y ' 0 1 0 Ty   0 Sy 0 0 0 1 0  Ty   y 
    
 z '  0 0 1 Tz   0 0 Sz 0 0 0 1  Tz   z 
         
 1  0 0 0 1   0 0 0 1 0 0 0 1  1

 x'  Sx 0 0 (1  S x ) x f   x 
 y '  0 Sy 0 (1  S ) y   y 
  y f   
 [12-10]
 z '   0 0 Sz (1  S z ) z f   z 
     
1  0 0 0 1  1 
Contoh 4 :
Sebuah titik (3,8,-5) mengalami proses scaliing terhadap koordinat (1,0,5) dengan
faktor penskalaan Sx = 2, Sy = ½ dan Sz = 3. Hitung koordinat titik tersebut
setelah discalling.
Jawab.
 x'  Sx 0 0 (1  S x ) x f   x 
 y '  0 Sy 0 (1  S ) y   y 
  y f   

 z '   0 0 Sz (1  S z ) z f   z 
     
1  0 0 0 1  1 

 x ' 2 0 0 (1  2).1   3 
 y ' 0 1 1 
0 (1  ).0  8 
  2 2 
 z '  0 0 3 (1  3).5   5
    
 1  0 0 0 1   1 

 x' 2 0 0 1   3 
 y ' 0 1 
0 0  8
  2  
 z '  0 0 
3  10  5
     
 1  0 0 0 1   1 

 x '  6  0  0  1 
 y '  0  4  0  0 
  
 z '  0  0  15  10
   
1  0  0  0 1 

Transformasi 3D Page 9
Modul Grafika Komputer

 x '  5 
 y '  4 
  
 z '   25
   
1  1 
Koordinat titik setelah di scalling (5,4,-25)
13.5 Latihan Soal

1. Kerjakan soal latihan pada modul


2. Diketahui 3 titik dengan koordinat sebagai berikut :

Titik X Y Z CONTOH
1 2 digit awal NIM 2 digit tengah NIM 2 digit akhir NIM NIM : 0608121
X=06, Y=08,
Z=21
2 2 digit tanggal lahir 2 digit bulan lahir 2 digit akhir Tgl lahir : 17
anda anda tahun lahir anda desember
1990
X=17, Y=12,
Z=90
3 NO URUT GANJIL : NO URUT GANJIL : NO URUT
17 24 GANJIL : 4
NO URUT GENAP : NO URUT GENAP : NO URUT
28 14 GENAP : 4
Hitung koordinat titik-titik tersebut setelah dilakukan :
a. Translasi dengan vektor translasi (2,-3,7)
b. Rotasi berlawanan arah jarum jam terhadap SUMBU Y dengan sudut
rotasi 80o (sin 80 = 0.985, cos 80 = 0.174)
c. Scalling dengan faktor penskalaan (1/3,4,2)
13.6 Referensi
[1] Hearn, Donald, M. Pauline Baker, Computer Graphics, Prentice Hall.
[2] Rowe, Glenn W, Computer Graphics with Java, Palgrave, 2001
[3] Sutopo, Ariesto Hadi, Pengantar Grafika Komputer, Gava Media, 2002

Transformasi 3D Page 10

Anda mungkin juga menyukai