laporan gkv 3 3d

17
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

Upload: abdul-azies-kurniawan

Post on 28-Dec-2015

99 views

Category:

Documents


6 download

TRANSCRIPT

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

13 Grafika dan Komputasi Visual

c. Bezier patch

Permukaan bezier dengan derajat (m,n)

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