Representasi Tiga Dimensi (3D)
(Octrees, Pembuatan 3D secara Manual , Pembuatan 3D dengan Surface of
Revolution)
Makalah
Disusun untuk memenuhi tugas kelompok diskusi kelompok III pada mata kuliah Grafika dan
Komputasi Visual yang diampu oleh Sukmawati Nur Endah M.Kom
Disusun Oleh :
Muhammad Arief Kurniawan (24010312120027)
Abdul Azies Kurniawan (24010312120010)
Cut Fauziah Nur (24010312120012)
Alfin Lathifatul Arifah (24010312120020)
Andika Putra Pratama (24010312140121)
Jamalullail (24010312140115)
Muhammad Khaerul Anam (24010312140028)
Firna Aditya Yuangga (24010312140030)
Adik Istanto (24010312130046)
JURUSAN ILMU KOMPUTER / INFORMATIKA
FAKULTAS SAINS DAN MATEMATIKA
UNIVERSITAS DIPONEGORO
SEMARANG
2014
ii Grafika dan Komputasi Visual
DAFTAR ISI
Halaman Judul .................................................................................................. i
DAFTAR ISI .................................................................................................. ii
BAB I PENDAHULUAN
1. Latar Belakang ....................................................................................... 1
2. Tujuan .................................................................................................... 2
BAB II PEMBAHASAN
1. Octrees ..................................................................................................... 4
2. Pembuatan 3D secara Manual ................................................................ 5
3. Pembuatan 3D dengan Surface of Revolution ........................................ 6
4. Parametric Surface ................................................................................... 10
BAB III PENUTUP
Kesimpulan ................................................................................................... 14
DAFTAR PUSTAKA
1 Grafika dan Komputasi Visual
BAB I
PENDAHULUAN
1. Latar Belakang
Grafika Komputer memiliki dua jenis citra, yaitu : grafis dua dimensi dan grafis tiga
dimensi. Grafis dua dimensi hanya memiliki dua ukuran atau dimensi yaitu panjang dan lebar.
Grafis tiga dimensi memiliki panjang, lebar, dan tinggi sekaligus representasi dari data
geometrik tiga dimensi sebagai hasil dari pemrosesan dan pemberian efek cahaya. Hal ini yang
membedakan grafis tiga dimensi dengan grafis dua dimensi yang hanya menggunakan dua
ukuran, yaitu: panjang dan lebar, sedangkan tiga dimensi menggunakan tiga ukuran, yaitu:
panjang, lebar dan kedalaman.
Grafik tiga dimensi merupakan teknik penggambaran yang berpatokan pada titik
koordinat sumbu x (datar), sumbu y (tegak), dan sumbu z (miring). Di dalam grafika komputer,
3D merupakan bentuk grafik yang menggunakan representasi data geometri tiga dimensi. Suatu
objek rangka 3D apabila disinari dari arah tertentu akan membentuk bayangan pada permukaan
gambar. Namun, model 3D ini lebih menekankan pada representasi matematis untuk objek tiga
dimensi. Data matematis ini belum bisa dikatakan sebagai gambar grafis hingga saat
ditampilkan secara visual pada layar komputer atau printer. Proses penampilan suatu model
matematis ke bentuk citra 2D biasanya dikenal dengan proses 3D rendering. Hasil ini kadang
kala ditampilkan secara waktu nyata (real time) untuk keperluan simulasi. Secara umum
prinsip yang dipakai adalah mirip dengan grafika komputer 2D, dalam hal: penggunaan
algoritma, grafika vektor, dan model frame kawat (wire frame model).
Ada beberapa metode dalam membuat benda 3 Dimensi. Pembuatan benda 3D secara
manual yaitu dengan menghubungkan sejumlah titik. Pembuatan dengan Surface of
Revolution, yaitu dengan menggunakan sumbu putar melalui rumus tertentu. Metode Octrees
dengan menggunakan pohon dan node yang dibagi menjadi leaf antara 0 atau 8. Ada metode
Parametric Surface dengan menggunakan rumus yang sudah ditentukan, namun pada makalah
ini tidak dipelajari secara khusus. Maka dari itu, kami akan membahas beberapa metode
tersebut pada bab pembahasan.
2 Grafika dan Komputasi Visual
2. Tujuan
a. Mahasiswa dapat membedakan grafis komputer benda 2 Dimensi dan 3 Dimensi.
b. Mahasiswa dapat menjelaskan cara membuat benda 3D dengan metode Octrees
c. Mahasiswa dapat menjelaskan cara membuat benda 3D secara manual
d. Mahasiswa dapat menjelaskan cara membuat benda 3D dengan cara Surface of
Revolution.
e. Mahasiswa dapat menggunakan berbagai teknik merepresentasikan objek 3D pada
sistem grafik pada komputer menggunakan bahasa C dan library Open GL.
3 Grafika dan Komputasi Visual
BAB II
PEMBAHASAN
A. Anatomi Benda 3D
Salah satu metode pembuatan benda 3 D disusun dari sekumpulan kulit (surface) yang
dapat dibuat dari rangkaian polygon.
Salah satu bentuk polygon yang digunakan adalah polygon segitiga . Dalam
penyusunan polygon perhatikan urutan dan arah polygon (winding). Pengaruh winding
dalam Open GL ialah pada saat menampilkan benda 3 D. Jika arah verteks berlawanan
jarum jam sebagai tampak depan dan arah verteks searah jarum jam sebagai bagian
belakang benda.
Arah verteks (a) berlawanaan jarum jam (b) Searah jarum jam
4 Grafika dan Komputasi Visual
B. Membuat Benda 3D
Dalam pembuatan benda 3 Dimensi, terdapat beberapa metode, antara lain :
1. Octrees
2. Manual
3. Surface of Revolution
4. Parametric surface
1. Octrees
Octrees adalah sebuah struktur data tree dimana setiap node memiliki delapan anak atau
nol. Octrees sering digunakan untuk membuat partisi pada bidang tiga dimensi dengan
secara rekursif membaginya menjadi 8 bagian yang disebut sebagai cell. Octrees secara
dalam dua dimensi analog dengan quadtrees
Octree (Octree) didefinisikan sebagai: Jika pohon kosong, maka setiap node di pohon
terjadi pada node anak hanya memiliki delapan, atau nol. Yaitu, tidak akan ada anak node
selain angka antara 0 dan 8.
Sebuah cell dikatakan homogen jika cell tersebut seuruhnya berada di luar atau di
dalam obyek. Sebaliknya cell dikatakan heterogen jika cell tersebut beririsan dengan
lapisan obyek, yang kemudian cell tersebut dibagi menjadi 8 bagian cell. Proses pembuatan
octrees selesai ketika semua leaf homogen.
5 Grafika dan Komputasi Visual
Contoh benda 3D menggunakan metode Octrees
2. Membuat Benda 3D Secara Manual
Penggambaran 3D secara manual dilakukan dengan menyusun benda dengan
menghubungkan sejumlah titik dimana kumpulan titik yang saling terhubung tersebut
dinamakan wireframe atau kerangka. Benda 3D disusun dari sekumpulan kulit (surface)
dimana kulit tersebut dapat dibuat dari rangkian polygon.
Contoh :
6 Grafika dan Komputasi Visual
Tabel diatas menyatakan urutan verteks yang menyusun sebuah permukaan. Untuk
setiap permukaan didefinisikan sebagai poligon segitiga (triangle), sebagai contoh
permukaan kubus bagian depan didefinisikan melalui dua buah segitiga, yaitu: F1.a dan
F1.b yang masing-masing disusun dari verteks 0, verteks 1, dab verteks 3, serta verteks 0,
verteks 2, dan verteks 3.
3. Surface of Revolution
Surface of Revolution atau disebut juga benda putar merupakan metode
memperoleh permukaan benda dengan cara memutar verteks terhadap sebuah sumbu.
Contoh :
Verteks Penyusun Kubus Permukaan Kubus
7 Grafika dan Komputasi Visual
Pada gambar diatas terlihat bahwa permukaan f1, f2, f3 diperoleh dari pemutaran titik
v1,v2 terhadap sumbu sebesar sudut a dimana Titik v1 dan v2 disebut titik profile.
Pada metode ini , apabila titik v1 (u,v) diputar terhadap sumbu putar sebesar a maka
titik v’ (x,y,z) dapat diperoleh dengan rumus :
Berikut merupakan ilustrasi mengubah titik profile menjadi permukaan benda :
Dibawah ini merupakan algoritma menghitung lokasi verteks benda putar :
x = u * sin (a)
y = v
z = u * cos (a)
mulai index = 0 sampai jumlah_vertex_profil kerjakan
// putar vertex dari profile ini
u = ambil lokasi profile[index].u
v = ambil lokasi profile[index].v
s := s1
selama s <= s2 kerjakan
radian := deg * Pi/180 // ubah ke radian
//hitung posisi
x:= u* sin(radian);
z:= u* cos(radian);
y:= v;
simpan (x,y,z);
s:= s + st;
akhir selama s <= s2
akhir mulai index = 0
8 Grafika dan Komputasi Visual
Contoh :
Titik profile P1 = (1,0 ; 0,0), P2 = (1,0 ; 0,5) dan P3 = (0,3 ; 1,25) diputar dari 00 – 360
0
dengan sudut putar a= 600.
Carilah titik-titik hasil pemutaran!
V V3= (0,3 ; 1,25)
x y z
14 +0,00 +1,25 +0,30
15 +0,26 +1,25 +0,15
16 +0,26 +1,25 -0,15
17 +0,00 +1,25 -0,30
18 -0,26 +1,25 -0,15
19 -0,26 +1,25 +0,15
20 +0,0 +1,25 +0,30
V V1 = (1,0 ; 0.0)
x y z
0 0 +0,00 +0,00 +1,00
60 1 +0,87 +0,00 +0,50
120 2 +0,87 +0,00 +0,50
180 3 +0,00 +0,00 +1,00
240 4 -0,87 +0,00 -0,50
300 5 -0,87 +0,00 +0,50
360 6 +0,00 +0,00 +1,00
V V2= (1,0 ; 0,5)
x y z
7 +0,00 +0,50 +1,00
8 +0,87 +0,50 +0,00
9 +0,87 +0,50 -0,50
10 +0,00 +0,50 -1,00
11 -0,87 +0,50 -0,50
12 -0,87 +0,50 +0,50
13 +0,0 +0,50 +1,00
9 Grafika dan Komputasi Visual
(a)Profile dan surface of revolution (b)Lokasi titik-titik surface of revolution
4. Benda putar dengan s1 = 0 ; s2 = 360 ;a = 20 dan modus solid
10 Grafika dan Komputasi Visual
Benda putar dengan s1 = 0 ; s2 = 360 ;a = 20 dan modus wireframe
5. Parametric surface
Metode ini merupakan metode memperoleh permukaan benda berdasarkan persamaan
tertentu. Beberapa benda yang dapat didefinsikan melalui paramteric surface antara lain:
a. Bola
b. Bidang Datar
c. Bezier patch
d. Dll
Rumus umum :
dimana u dan v adalah parameter dengan nilai dari 0 sampai dengan 1.
a. Bola
Sebuah bola dapat direpresentasikan melalui rumus:
dengan u bergerak dari (a) 0
– (180-a)0 sebesar a
0 , v bergerak dari 0
0 – 360
0 sebesar b
0 .
P(u,v) = (x(u,v), y(u,v), z(u,v))
x(u,v) = r sin(u)cos(v)
y(u,v) = r cos(u)
z(u,v) = r sin(u)sin(v)
11 Grafika dan Komputasi Visual
Permukaan yang merepresentasikan bola
Hasil program bola dalam bentuk wireframe
b. Bidang Datar
Sebuah bidang dapat didefinisikan melalui tiga buahvektor, yaitu vektor c, a, dan b.
12 Grafika dan Komputasi Visual
Sebarang titik pada bidang dapat dibentuk dari rumus :
Contoh :
Membuat sebuah plane ukuran 2 x 2 yang paralel dengan bidang x-z.
Bidang yang paralel dengan bidang x-z dan berukuran 2 x 2 salah satu contohnya
mempunyai titik-titik sudut : (1,0,1), (1,0,-1), (-1,0,1) dan (-1, 0, -1). Jika diambil c (1, 0, -
1) maka vektor a = (-2, 0, 0) dan vektor b = (0, 0, 2).
Hasil program :
x(u,v) = cx + axu + bxv
y(u,v) = cy + ayu + byv
z(u,v) = cz + azu + bzv
//Algoritma untuk menghasilkan titik-titik yang
terletak di sebuah bidang
//a,b,c merupakan vektor 3 dimensi
u=0,0
selama u <=1.00 kerjakan
v = 0,0
selama v <= 1 kerjakan
//hitung lokasi x,y,z untuk pasangan (u,v)
x:= fc.x + fa.x * u + fb.x * v
y:= fc.y + fa.y * u + fb.y * v
z:= fc.z + fa.z * u + fb.z * v
simpan verteks (x,y,z)
v:= v + 0,1;
akhir selama v<=1
u := u + 0,1;
zkhir selama u < 1.0
14 Grafika dan Komputasi Visual
BAB II
PENUTUP
Kesimpulan
Octree memiiki keuntungan yaitu suatu obyek dapat direpresetasikan secara lengkap
pada obyek 3D manapun karena Octree akan mencari daerah mana saja yang beririsan
dengan obyek. Dengan haya menempati lokasi tertentu sesuai ukuran leaf saja, octree
akan membuat penggunaan memori lebih efisien.
Membuat objek 3D dengan metode manual dapat dilakukan dengan cara
menggabungkan verteks menjadi kerangka atau biasa disebut wireframe. Dari kerangka
tersebut dapat didapatkan bentuk 3D yang terbentuk dari verteks yang diberikan.
Surface of Revolution dapat disebut juga benda putar yang merupakan metode
memperoleh permukaan benda dengan cara membuat salinan searah berputar verteks
terhadap sebuah sumbu.
Parametic Surface adalah metode memperoleh permukaan benda berdasarkan
persamaan/rumus tertentu. Terdapat dua parametic surface :
- Bola
x(u,v) = r sin (u) cos (v)
y(u,v) = r cos (u)
z(u,v) = r sin (u) sin (v)
- Bidang Datar
x(u,v) = cx + axu + bxv
y(u,v) = cy + ayu + byv
z(u,v) = cz + azu + bzv
15 Grafika dan Komputasi Visual
DAFTAR PUSTAKA
Meagher, Donald (October 1980). "Octree Encoding: A New Technique for the
Representation, Manipulation and Display of Arbitrary 3-D Objects by Computer".
Rensselaer Polytechnic Institute (Technical Report IPL-TR-80-111)
Suryantara, I Gusti Ngurah. 2012. “Dunia 3D
”http://xa.yimg.com/kq/groups/23340420/1344736627/name/Pertemuan11.pdf
Top Related