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
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.
Transformasi 3D Page 3
Modul Grafika Komputer
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
Transformasi 3D Page 4
Modul Grafika Komputer
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)
Transformasi 3D Page 5
Modul Grafika Komputer
13.4 Scalling
Proses scalling 3D juga ditambahkan dengan faktor penskalaan Sx, Sy dan
Sz.
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
Transformasi 3D Page 8
Modul Grafika Komputer
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
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