SlideShare a Scribd company logo
1 of 16
Representasi Obyek 3D
Dalam computer grafik, obyek 3D bisa dinyatakan dalam banyak cara.
Sebuah permukaan obyek secara analitis bisa dihasilkan dari fungsi geometris
yang mengandung koordinat-koordinatnya. Atau dengan cara lain, sebuah obyek
bisa dinyatakan sebagai titik-titik (verteks), sisi-sisi (edges) dan polygon.
Pemodelan obyek yang menggunakan elemen-elemen polygon merupakan metode
yang paling umum digunakan, dan juga mudah untuk di aplikasikan kedalam
berbagai algoritma grafik. Kurva dan permukaan bisa di desain menggunakan
spline dengan cara mengatur titik-titik kontrolnya.
Grafika komputer 3D adalah grafik yang menggunakan representasi data
geometri 3D yang disimpan dalam komputer untuk keperluan perhitunganperhitungan dan rendering citra 2D. Citra ini disimpan untuk viewing atau
ditampilkan secara real-time. Grafika komputer 3D sering disebut sebagai model
3D yang lebih menekankan pada representasi matematis untuk obyek 3D. Data
matematis ini belum bisa disebut sebagai gambar grafis sebelum ditampilkan
secara visual pada layar komputer atau printer. Proses menampilkan model
matematis ke bentuk citra 2D dikenal dengan istilah rendering 3D. Tujuan dari
pemodelan ini adalah untuk mengembangkan algoritma-algoritma analisis 3D
yang meliputi:

Reconstruction, Segmentation, Feature Detection, Labeling,

Matching, Classification, Retrielval, Recognition, dan Clustering.
A. Prmitif Obyek 3D
Dalam dunia 3D terdapat beberapa primitif obyek 3D seperti : titik, garis,
bidang atau permukaan, bola, kubus, silinder, kerucut, dan lain-lain seperti
gambar dibawah ini:

•

1
B. Representasi Obyek 3D
Pada umumnya obyek di alam berada dalam ruang 3D. Oleh karena itu
komputer grafik membuat tiruan dari obyek-obyek tersebut untuk ditampilkan
di layar, agar menyerupai obyek yang sebenarnya. Tiruan-tiruan obyek ini
disebut model 3D (representasi dari obyek 3D), yang berguna untuk
merepresentasikan obyek 3D. Untuk membuat model diperlukan pemodelan
yaitu kreasi dan manipulasi dari representasi sebuah obyek atau sistem. Dalam
aplikasi grafis, obyek 3D dapat direpresentasikan dalam banyak cara,
diantaranya adalah:
1. Curved Surfaces (Kurva Permukaan)
Suatu obyek 3D dapat direpresentasikan langsung menggunakan
persamaan geometri berupa kurva permukaan dari obyek tersebut. Kurva
(curve) dan permukaan (surface) sering dikenal dalam bidang geometri.
Kurva adalah kumpulan titik yang membentuk garis lurus atau
lengkungan. Permukaan (surface) adalah struktur matematis yang
terbentuk dari himpunan kurva.
Gambar 1: menunjukkan beberapa permukaan kurva yang dispesifikasikan
dengan sebuah persamaan berikut :
Lingkaran berpusat di (0,0) dan jari-jari r = 5

z

x 2 + y 2 + z 2 = 25
5
y

x

2
Double cones :

Ellipsoids :

Hyperboloids of one sheet :

Hyperboloids of two sheets :

Elliptic paraboloids :

Hyperbolic paraboloids :

x2 y2 z2
+
−
=0
a2 b2 c2

x2 y2 z2
+
+
=1
a2 b2 c2

x2 y2 z2
+
−
=1
a2 b2 c2

−

x2 y2 z2
−
+
=1
a2 b2 c2

x2 y2 z
+
=
a2 b2 c

−

x2 y2 z
+
=
a2 b2 c

3
Permukaan yang terbentuk dari himpunan kurva Bezier

Gambar 1: Beberapa permukaan kurva yang diperoleh dari persamaan
geometri
2.

Constructive Solid Geometry (CSG)
Obyek real dan maya (virtual) dapat dinyatakan dengan model padat
(solid) seperti bola, silinder, dan kerucut atau dapat dinyatakan sebagai
model permukaan seperti segitiga, segi empat atau polygon. Model
permukaan bisa di render menggunakan object-order rendering atau
image-order rendering (yaitu ray-tracing).
Sedangkan model padat (solid) hanya bisa dirender menggunakan raytracing. Model padat umumnya digunakan untuk menjelaskan bentukbentuk buatan manusia seperti Computer Aided Design (CAD) atau
Computer Assisted Manufacturing (CAM). Model-model solid konstruktif
bisa terdiri dari bentuk-bentuk primitif berikut: bola, silinder, piramida,
kubus, dan kerucut, akan tetapi tidak bisa terdiri atas separuh ruang seperti
titik, garis dan bidang.
Constructive Solid Geometry (CSG) adalah gabungan beberapa obyek
solid yang dibentuk secara geometry dengan menggunakan operator
gabungan (union), irisan (intersection), dan selisih (difference).
2.1. Proses Ray-Tracing pada CSG
Untuk menjelaskan proses ray-tracing pada CSG digunakan konsep
selang waktu t (Gambar 8-3). Bila t bertanda plus (+) artinya waktu

4
dari sebuah cahaya saat berjalan melalui obyek. Bila t bertanda minus
(−) artinya waktu dari sebuah cahaya saat tidak pada obyek.

Arah cahaya

t = − − − − − − − +++++++ − − − − − − −
Gambar 3: Proses ray-tracing pada CSG menggunakan konsep selang
waktu t
2.1.1. Proses ray-tracing CSG untuk operasi Union (Gabungan)
Union adalah proses menggabungkan dua obyek menjadi satu
obyek agar pada obyek hasil gabungan bisa dilakukan manipulasi.
Gambar 4(a) menunjukan konsep selang waktu untuk proses union
dari kubus dengan bola.

=


t1 = − − +++++++ − − −

t2 = − − ++++++++ − − t1 ∪ t 2 =

− − ++++++++ − −
Gambar 4(a): Contoh union dari kubus dengan bola
2.1.2.

Proses ray-tracing CSG untuk operasi Intersection

( Irisan )
Intersection dari dua buah obyek diperoleh dengan cara
mengambil

perpotongan

dari

tersebut.

Gambar

4(b)

menunjukkan konsep selang waktu untuk proses intersection
antara kubus dengan bola.

5
=



t1 = − − +++++++ − − −

t2 = − − ++++++++ − −

t1 ∩ t 2 = − − −++++++− − −

Gambar 4(b) Contoh intersection antara kubus dengan bola.
2.1.3.

Proses ray-tracing CSG untuk operasi Difference

( Selisih )
Secara teori difference dihasilkan dari proses pengurangan
obyek A oleh obyek B seperti Gambar 8-4(c). Akan tetapi dalam
prakteknya operasi selisih diganti dengan menghilangkan
volume padat yang berpasangan (yang posisinya sama).

−

=

Gambar 4(c) Contoh difference antara kubus dengan bola.
Konsep selang waktu untuk proses difference dari dua obyek,
dapat dijelaskan sebagai berikut:
t1 = − − + + + + + − − − − + + + + + − −
t2 = − − − − − + + + − − + + + + + − − −
t3 = − − + + + − − − − − − − − − − + − −
t 3 = t1 − t 2

Gambar 4: Obyek solid yang dibentuk dari operator gabungan
(union), irisan (intersection), dan selisih (difference).
Operasi CSG tidak komutatif:
6
Operasi CSG tidak unik:

Tiga masalah yang ada pada operasi CSG yaitu:

7
3. Polyhedra
Obyek merupakan gabungan dari permukaan-permukaan polygon yang
tertutup hingga membentuk sebuah obyek baru. Perhatikan Gambar 5.

8
Gambar 8-5: Polyhedra (gabungan dari permukaan-permukaan polygon
yang tertutup)
4. Sweep Representation
Sweep representation adalah model 3D yang titik-titik geometrinya
dihasilkan oleh perputaran titik-titik dari kurva spline atau lainnya
terhadap sumbu putar tertentu. Perputaran ini tidak harus 360°. Bisa juga
kurang dari 360° sehingga obyek yang terbentuk berupa penampang
lintang dari obyek hasil perputaran 360°. Perhatikan Gambar 6.
Contoh:

Diputar 360o

Diputar 270o

Gambar 8-7: sebuah kurva setelah diputar menjadi sebuah obyek
Sweep representation juga bisa dihasilkan dengan cara menarik luasan 2D
sepanjang sumbu yang tegak lurus dengan bidang luasan tersebut.

Torus dihasilkan dengan cara memutar kurva lingkaran mengitari
lingkaran.

9
Sweep-sphere volume dihasilkan dengan cara menggerakkan kurva bola
sepanjang lintasan parabola.

Sweep-cylinder volume dihasilkan dengan cara menggerakkan kurva
silinder sepanjang lintasan parabola.

5. Surface of Revolution
Surface of revolution adalah permukaan yang dihasilkan dengan cara
memutar kurva 2D terhadap sumbu putarnya. Karena itu permukaan yang
dihasilkan selalu mempunyai simetri azimut (azimuthal symmetry).

10
6. Quad Trees
Quad trees dihasilkan dengan cara membagi wilayah gambar 2D menjadi
empat kuadraan. Jika semua piksel yang ada didalam sebuah kuadran
warnanya sama, maka elemen data yang tersimpan bisa homogen (sama).
Jika tidak demikian maka sebuah kuadran tersebut dibagi lagi menjadi
empat bagian sampai semua kuadran homogen.

11
7. Octrees
Octrees dihasilkan dengan cara membagi wilayah obyek 3D
menjadi delapan bagian (kuadraan).

8. Fraktal
Fraktal adalah kurva yang membentuk suatu pola dimana suatu
bagian kecil dari kurva itu polanya sama dengan bagian yang lebih besar.
Karena itu fraktal bisa dipecah-pecah menjadi beberapa bagian yang lebih
kecil yang semuanya mirip dengan fraktal aslinya. Kurva fraktal
mempunyai karakteristik homogen, yaitu memiliki struktur pola yang
sama pada tingkat perbesaran yang berbeda. dan karakteristik tak hingga,

12
(a)

(b)

(c)
karena fraktal dihasilkan dengan cara mengulang suatu pola, biasanya
dalam proses rekursif atau iteratif (Gambar 8).

Gambar 8-8: (a) Segitiga Sierpinski, suatu fraktal, bisa dipecah menjadi
tiga segitiga Sierpinski (masing-masing diberi warna berbeda). (b)
himpunan Cantor yang serupa diri pada perbesaran 10 kali. (c) Suatu
himpunan Julia, fraktal yang berhubungan dengan himpunan Mandelbrot.
9.

Pemodelan Obyek 3D menggunakan Polygon
Permukaan obyek 3D bisa dibuat dari polygon dan elemen garis. Untuk
konfigurasi awal sebuah obyek, koordinat verteks dari polygon dan titiktitik ujung garis didefinisikan sesuai dengan sistem koordinat 3D.
Struktur data untuk representasi obyek 3D terdiri dari :
(i) Tabel verteks/ tabel node yang berisi koordinat 3D dari masingmasing titik verteks polygon dan titik ujung garis
(ii) Tabel sisi (edge) yang berisi definisi dari konektivitas edge dalam
bentuk node-node dari titik ujung.
(iii)

Tabel polygon yang berisi verteks dari masing-masing polygon.
Contoh

V3
E3
V4

Tabel polygon
P1 : E1, E2, E4
P2 : E3, E4, E5

E2
E4

E5

V2
E1

V1
Tabel titik (Vertex)
V1 : x1, y1, z1
V2 : x2, y2, z2
V3 : x3, y3, z3
V4 : x4, y4, z4

Tabel sisi (edge)
E1 : V1, V2
E2 : V2, V3
E3 : V3, V4
E4 : V1, V3
E5 : V1, V4

13
14
15
16

More Related Content

What's hot

Estimasi parameter
Estimasi parameterEstimasi parameter
Estimasi parameterIrmaya Yukha
 
Aplikasi sistem persamaan diferensial_
Aplikasi sistem persamaan diferensial_Aplikasi sistem persamaan diferensial_
Aplikasi sistem persamaan diferensial_SMPNegeri12
 
Tugas statistik non parametrik
Tugas statistik non parametrikTugas statistik non parametrik
Tugas statistik non parametrikNoeghraha Prathama
 
persamaan diferensial orde 2 Akar kompleks
persamaan diferensial orde 2 Akar komplekspersamaan diferensial orde 2 Akar kompleks
persamaan diferensial orde 2 Akar kompleksZulyy Zelyytta
 
Uji Hipotesis Dua Rata-rata
Uji Hipotesis Dua Rata-rataUji Hipotesis Dua Rata-rata
Uji Hipotesis Dua Rata-ratasilvia kuswanti
 
Selang kepercayaan
Selang kepercayaanSelang kepercayaan
Selang kepercayaansidesty
 
Sistem bilangan bulat (makul teori bilangan)
Sistem bilangan bulat (makul teori bilangan)Sistem bilangan bulat (makul teori bilangan)
Sistem bilangan bulat (makul teori bilangan)Ig Fandy Jayanto
 
Persamaan Diferensial Orde 2 Variasi Parameter
Persamaan Diferensial  Orde 2 Variasi ParameterPersamaan Diferensial  Orde 2 Variasi Parameter
Persamaan Diferensial Orde 2 Variasi ParameterDian Arisona
 
Aplikasi Geometri Analitik Dalam Kehidupan Sehari-hari
Aplikasi Geometri Analitik Dalam Kehidupan Sehari-hariAplikasi Geometri Analitik Dalam Kehidupan Sehari-hari
Aplikasi Geometri Analitik Dalam Kehidupan Sehari-hariRinisutopo
 
Analisis Kondisi Lingkungan (AKL)
Analisis Kondisi Lingkungan (AKL)Analisis Kondisi Lingkungan (AKL)
Analisis Kondisi Lingkungan (AKL)Marselinus Richardo
 
Komposisi fungsi
Komposisi fungsiKomposisi fungsi
Komposisi fungsiLien Wu
 
Matematika Diskrit - 06 relasi dan fungsi - 09
Matematika Diskrit - 06 relasi dan fungsi - 09Matematika Diskrit - 06 relasi dan fungsi - 09
Matematika Diskrit - 06 relasi dan fungsi - 09KuliahKita
 
Defenisi dan sifat kekongruenan Teobil
Defenisi dan sifat kekongruenan TeobilDefenisi dan sifat kekongruenan Teobil
Defenisi dan sifat kekongruenan TeobilNailul Hasibuan
 
8.3.8 instrumen penilaian pengetahuan, sikap, dan keterampilan lingkaran (ren...
8.3.8 instrumen penilaian pengetahuan, sikap, dan keterampilan lingkaran (ren...8.3.8 instrumen penilaian pengetahuan, sikap, dan keterampilan lingkaran (ren...
8.3.8 instrumen penilaian pengetahuan, sikap, dan keterampilan lingkaran (ren...reno sutriono
 

What's hot (20)

Estimasi parameter
Estimasi parameterEstimasi parameter
Estimasi parameter
 
Bab 2
Bab 2Bab 2
Bab 2
 
Aplikasi sistem persamaan diferensial_
Aplikasi sistem persamaan diferensial_Aplikasi sistem persamaan diferensial_
Aplikasi sistem persamaan diferensial_
 
Tugas statistik non parametrik
Tugas statistik non parametrikTugas statistik non parametrik
Tugas statistik non parametrik
 
persamaan diferensial orde 2 Akar kompleks
persamaan diferensial orde 2 Akar komplekspersamaan diferensial orde 2 Akar kompleks
persamaan diferensial orde 2 Akar kompleks
 
Akt 4-anuitas-hidup
Akt 4-anuitas-hidupAkt 4-anuitas-hidup
Akt 4-anuitas-hidup
 
Uji Hipotesis Dua Rata-rata
Uji Hipotesis Dua Rata-rataUji Hipotesis Dua Rata-rata
Uji Hipotesis Dua Rata-rata
 
Selang kepercayaan
Selang kepercayaanSelang kepercayaan
Selang kepercayaan
 
Relasi Rekurensi
Relasi RekurensiRelasi Rekurensi
Relasi Rekurensi
 
Magic graph
Magic graphMagic graph
Magic graph
 
Sistem bilangan bulat (makul teori bilangan)
Sistem bilangan bulat (makul teori bilangan)Sistem bilangan bulat (makul teori bilangan)
Sistem bilangan bulat (makul teori bilangan)
 
Persamaan Diferensial Orde 2 Variasi Parameter
Persamaan Diferensial  Orde 2 Variasi ParameterPersamaan Diferensial  Orde 2 Variasi Parameter
Persamaan Diferensial Orde 2 Variasi Parameter
 
Aplikasi Geometri Analitik Dalam Kehidupan Sehari-hari
Aplikasi Geometri Analitik Dalam Kehidupan Sehari-hariAplikasi Geometri Analitik Dalam Kehidupan Sehari-hari
Aplikasi Geometri Analitik Dalam Kehidupan Sehari-hari
 
Analisis Kondisi Lingkungan (AKL)
Analisis Kondisi Lingkungan (AKL)Analisis Kondisi Lingkungan (AKL)
Analisis Kondisi Lingkungan (AKL)
 
Komposisi fungsi
Komposisi fungsiKomposisi fungsi
Komposisi fungsi
 
Matematika Diskrit - 06 relasi dan fungsi - 09
Matematika Diskrit - 06 relasi dan fungsi - 09Matematika Diskrit - 06 relasi dan fungsi - 09
Matematika Diskrit - 06 relasi dan fungsi - 09
 
Grafik persamaan kutub
Grafik persamaan kutubGrafik persamaan kutub
Grafik persamaan kutub
 
Defenisi dan sifat kekongruenan Teobil
Defenisi dan sifat kekongruenan TeobilDefenisi dan sifat kekongruenan Teobil
Defenisi dan sifat kekongruenan Teobil
 
8.3.8 instrumen penilaian pengetahuan, sikap, dan keterampilan lingkaran (ren...
8.3.8 instrumen penilaian pengetahuan, sikap, dan keterampilan lingkaran (ren...8.3.8 instrumen penilaian pengetahuan, sikap, dan keterampilan lingkaran (ren...
8.3.8 instrumen penilaian pengetahuan, sikap, dan keterampilan lingkaran (ren...
 
4. program integer
4. program integer4. program integer
4. program integer
 

Similar to 3DObjek

Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docx
Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docxLaporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docx
Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docxkomzud
 
Pengantar_Grafika_3D_Transformasi_3D.ppt
Pengantar_Grafika_3D_Transformasi_3D.pptPengantar_Grafika_3D_Transformasi_3D.ppt
Pengantar_Grafika_3D_Transformasi_3D.pptMimiMariyami
 
Modul Matematika Fungsi Kuadrat
Modul Matematika Fungsi KuadratModul Matematika Fungsi Kuadrat
Modul Matematika Fungsi KuadratDinar Nirmalasari
 
7 grafik komp konsep 3 d
7 grafik komp konsep  3 d7 grafik komp konsep  3 d
7 grafik komp konsep 3 dandika668538
 
Pengantar grafika1
Pengantar grafika1Pengantar grafika1
Pengantar grafika1Hanz Skyblue
 
Panduan praktikum geometri analitik
Panduan praktikum geometri analitikPanduan praktikum geometri analitik
Panduan praktikum geometri analitiknitahidayati
 
Panduan praktikum geometri analitik
Panduan praktikum geometri analitikPanduan praktikum geometri analitik
Panduan praktikum geometri analitiknitahidayati
 
02.19. Menentukan Luas Segitiga Sembarang Menggunakan Bahasa Pemrograman C++
02.19. Menentukan Luas Segitiga Sembarang Menggunakan Bahasa Pemrograman C++02.19. Menentukan Luas Segitiga Sembarang Menggunakan Bahasa Pemrograman C++
02.19. Menentukan Luas Segitiga Sembarang Menggunakan Bahasa Pemrograman C++BayuYudhaSaputra
 
GRAF_PERTEMUAN_PERTAMA.pptx
GRAF_PERTEMUAN_PERTAMA.pptxGRAF_PERTEMUAN_PERTAMA.pptx
GRAF_PERTEMUAN_PERTAMA.pptxDioAlphard
 
Pendeteksian Tepi - Buku Rinaldi Munir
Pendeteksian Tepi - Buku Rinaldi MunirPendeteksian Tepi - Buku Rinaldi Munir
Pendeteksian Tepi - Buku Rinaldi Munirdedidarwis
 
kuliah if-itb interpretasi dan pengolahan citra.pptx
kuliah if-itb interpretasi dan pengolahan citra.pptxkuliah if-itb interpretasi dan pengolahan citra.pptx
kuliah if-itb interpretasi dan pengolahan citra.pptxssuser06c28f
 
Bab 8 pendeteksian tepi
Bab 8 pendeteksian tepiBab 8 pendeteksian tepi
Bab 8 pendeteksian tepiSyafrizal
 

Similar to 3DObjek (20)

LN s07-machine vision-s2
LN s07-machine vision-s2LN s07-machine vision-s2
LN s07-machine vision-s2
 
Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docx
Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docxLaporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docx
Laporan tugasgrafikakomputer merancangbangun3ddenganopeng-ldanvb6.docx
 
Pengantar_Grafika_3D_Transformasi_3D.ppt
Pengantar_Grafika_3D_Transformasi_3D.pptPengantar_Grafika_3D_Transformasi_3D.ppt
Pengantar_Grafika_3D_Transformasi_3D.ppt
 
Modul-AUTOCAD.pdf
Modul-AUTOCAD.pdfModul-AUTOCAD.pdf
Modul-AUTOCAD.pdf
 
Modul Matematika Fungsi Kuadrat
Modul Matematika Fungsi KuadratModul Matematika Fungsi Kuadrat
Modul Matematika Fungsi Kuadrat
 
7 grafik komp konsep 3 d
7 grafik komp konsep  3 d7 grafik komp konsep  3 d
7 grafik komp konsep 3 d
 
autocad.pptx
autocad.pptxautocad.pptx
autocad.pptx
 
Pengantar grafika1
Pengantar grafika1Pengantar grafika1
Pengantar grafika1
 
Pcd 8
Pcd 8Pcd 8
Pcd 8
 
Panduan praktikum geometri analitik
Panduan praktikum geometri analitikPanduan praktikum geometri analitik
Panduan praktikum geometri analitik
 
Panduan praktikum geometri analitik
Panduan praktikum geometri analitikPanduan praktikum geometri analitik
Panduan praktikum geometri analitik
 
02.19. Menentukan Luas Segitiga Sembarang Menggunakan Bahasa Pemrograman C++
02.19. Menentukan Luas Segitiga Sembarang Menggunakan Bahasa Pemrograman C++02.19. Menentukan Luas Segitiga Sembarang Menggunakan Bahasa Pemrograman C++
02.19. Menentukan Luas Segitiga Sembarang Menggunakan Bahasa Pemrograman C++
 
GRAF_PERTEMUAN_PERTAMA.pptx
GRAF_PERTEMUAN_PERTAMA.pptxGRAF_PERTEMUAN_PERTAMA.pptx
GRAF_PERTEMUAN_PERTAMA.pptx
 
Integral
IntegralIntegral
Integral
 
Pendeteksian Tepi - Buku Rinaldi Munir
Pendeteksian Tepi - Buku Rinaldi MunirPendeteksian Tepi - Buku Rinaldi Munir
Pendeteksian Tepi - Buku Rinaldi Munir
 
Binder1
Binder1Binder1
Binder1
 
401 970-1-sm
401 970-1-sm401 970-1-sm
401 970-1-sm
 
kuliah if-itb interpretasi dan pengolahan citra.pptx
kuliah if-itb interpretasi dan pengolahan citra.pptxkuliah if-itb interpretasi dan pengolahan citra.pptx
kuliah if-itb interpretasi dan pengolahan citra.pptx
 
Artikel grup permutasi
Artikel grup permutasiArtikel grup permutasi
Artikel grup permutasi
 
Bab 8 pendeteksian tepi
Bab 8 pendeteksian tepiBab 8 pendeteksian tepi
Bab 8 pendeteksian tepi
 

3DObjek

  • 1. Representasi Obyek 3D Dalam computer grafik, obyek 3D bisa dinyatakan dalam banyak cara. Sebuah permukaan obyek secara analitis bisa dihasilkan dari fungsi geometris yang mengandung koordinat-koordinatnya. Atau dengan cara lain, sebuah obyek bisa dinyatakan sebagai titik-titik (verteks), sisi-sisi (edges) dan polygon. Pemodelan obyek yang menggunakan elemen-elemen polygon merupakan metode yang paling umum digunakan, dan juga mudah untuk di aplikasikan kedalam berbagai algoritma grafik. Kurva dan permukaan bisa di desain menggunakan spline dengan cara mengatur titik-titik kontrolnya. Grafika komputer 3D adalah grafik yang menggunakan representasi data geometri 3D yang disimpan dalam komputer untuk keperluan perhitunganperhitungan dan rendering citra 2D. Citra ini disimpan untuk viewing atau ditampilkan secara real-time. Grafika komputer 3D sering disebut sebagai model 3D yang lebih menekankan pada representasi matematis untuk obyek 3D. Data matematis ini belum bisa disebut sebagai gambar grafis sebelum ditampilkan secara visual pada layar komputer atau printer. Proses menampilkan model matematis ke bentuk citra 2D dikenal dengan istilah rendering 3D. Tujuan dari pemodelan ini adalah untuk mengembangkan algoritma-algoritma analisis 3D yang meliputi: Reconstruction, Segmentation, Feature Detection, Labeling, Matching, Classification, Retrielval, Recognition, dan Clustering. A. Prmitif Obyek 3D Dalam dunia 3D terdapat beberapa primitif obyek 3D seperti : titik, garis, bidang atau permukaan, bola, kubus, silinder, kerucut, dan lain-lain seperti gambar dibawah ini: • 1
  • 2. B. Representasi Obyek 3D Pada umumnya obyek di alam berada dalam ruang 3D. Oleh karena itu komputer grafik membuat tiruan dari obyek-obyek tersebut untuk ditampilkan di layar, agar menyerupai obyek yang sebenarnya. Tiruan-tiruan obyek ini disebut model 3D (representasi dari obyek 3D), yang berguna untuk merepresentasikan obyek 3D. Untuk membuat model diperlukan pemodelan yaitu kreasi dan manipulasi dari representasi sebuah obyek atau sistem. Dalam aplikasi grafis, obyek 3D dapat direpresentasikan dalam banyak cara, diantaranya adalah: 1. Curved Surfaces (Kurva Permukaan) Suatu obyek 3D dapat direpresentasikan langsung menggunakan persamaan geometri berupa kurva permukaan dari obyek tersebut. Kurva (curve) dan permukaan (surface) sering dikenal dalam bidang geometri. Kurva adalah kumpulan titik yang membentuk garis lurus atau lengkungan. Permukaan (surface) adalah struktur matematis yang terbentuk dari himpunan kurva. Gambar 1: menunjukkan beberapa permukaan kurva yang dispesifikasikan dengan sebuah persamaan berikut : Lingkaran berpusat di (0,0) dan jari-jari r = 5 z x 2 + y 2 + z 2 = 25 5 y x 2
  • 3. Double cones : Ellipsoids : Hyperboloids of one sheet : Hyperboloids of two sheets : Elliptic paraboloids : Hyperbolic paraboloids : x2 y2 z2 + − =0 a2 b2 c2 x2 y2 z2 + + =1 a2 b2 c2 x2 y2 z2 + − =1 a2 b2 c2 − x2 y2 z2 − + =1 a2 b2 c2 x2 y2 z + = a2 b2 c − x2 y2 z + = a2 b2 c 3
  • 4. Permukaan yang terbentuk dari himpunan kurva Bezier Gambar 1: Beberapa permukaan kurva yang diperoleh dari persamaan geometri 2. Constructive Solid Geometry (CSG) Obyek real dan maya (virtual) dapat dinyatakan dengan model padat (solid) seperti bola, silinder, dan kerucut atau dapat dinyatakan sebagai model permukaan seperti segitiga, segi empat atau polygon. Model permukaan bisa di render menggunakan object-order rendering atau image-order rendering (yaitu ray-tracing). Sedangkan model padat (solid) hanya bisa dirender menggunakan raytracing. Model padat umumnya digunakan untuk menjelaskan bentukbentuk buatan manusia seperti Computer Aided Design (CAD) atau Computer Assisted Manufacturing (CAM). Model-model solid konstruktif bisa terdiri dari bentuk-bentuk primitif berikut: bola, silinder, piramida, kubus, dan kerucut, akan tetapi tidak bisa terdiri atas separuh ruang seperti titik, garis dan bidang. Constructive Solid Geometry (CSG) adalah gabungan beberapa obyek solid yang dibentuk secara geometry dengan menggunakan operator gabungan (union), irisan (intersection), dan selisih (difference). 2.1. Proses Ray-Tracing pada CSG Untuk menjelaskan proses ray-tracing pada CSG digunakan konsep selang waktu t (Gambar 8-3). Bila t bertanda plus (+) artinya waktu 4
  • 5. dari sebuah cahaya saat berjalan melalui obyek. Bila t bertanda minus (−) artinya waktu dari sebuah cahaya saat tidak pada obyek. Arah cahaya t = − − − − − − − +++++++ − − − − − − − Gambar 3: Proses ray-tracing pada CSG menggunakan konsep selang waktu t 2.1.1. Proses ray-tracing CSG untuk operasi Union (Gabungan) Union adalah proses menggabungkan dua obyek menjadi satu obyek agar pada obyek hasil gabungan bisa dilakukan manipulasi. Gambar 4(a) menunjukan konsep selang waktu untuk proses union dari kubus dengan bola. =  t1 = − − +++++++ − − − t2 = − − ++++++++ − − t1 ∪ t 2 = − − ++++++++ − − Gambar 4(a): Contoh union dari kubus dengan bola 2.1.2. Proses ray-tracing CSG untuk operasi Intersection ( Irisan ) Intersection dari dua buah obyek diperoleh dengan cara mengambil perpotongan dari tersebut. Gambar 4(b) menunjukkan konsep selang waktu untuk proses intersection antara kubus dengan bola. 5
  • 6. =  t1 = − − +++++++ − − − t2 = − − ++++++++ − − t1 ∩ t 2 = − − −++++++− − − Gambar 4(b) Contoh intersection antara kubus dengan bola. 2.1.3. Proses ray-tracing CSG untuk operasi Difference ( Selisih ) Secara teori difference dihasilkan dari proses pengurangan obyek A oleh obyek B seperti Gambar 8-4(c). Akan tetapi dalam prakteknya operasi selisih diganti dengan menghilangkan volume padat yang berpasangan (yang posisinya sama). − = Gambar 4(c) Contoh difference antara kubus dengan bola. Konsep selang waktu untuk proses difference dari dua obyek, dapat dijelaskan sebagai berikut: t1 = − − + + + + + − − − − + + + + + − − t2 = − − − − − + + + − − + + + + + − − − t3 = − − + + + − − − − − − − − − − + − − t 3 = t1 − t 2 Gambar 4: Obyek solid yang dibentuk dari operator gabungan (union), irisan (intersection), dan selisih (difference). Operasi CSG tidak komutatif: 6
  • 7. Operasi CSG tidak unik: Tiga masalah yang ada pada operasi CSG yaitu: 7
  • 8. 3. Polyhedra Obyek merupakan gabungan dari permukaan-permukaan polygon yang tertutup hingga membentuk sebuah obyek baru. Perhatikan Gambar 5. 8
  • 9. Gambar 8-5: Polyhedra (gabungan dari permukaan-permukaan polygon yang tertutup) 4. Sweep Representation Sweep representation adalah model 3D yang titik-titik geometrinya dihasilkan oleh perputaran titik-titik dari kurva spline atau lainnya terhadap sumbu putar tertentu. Perputaran ini tidak harus 360°. Bisa juga kurang dari 360° sehingga obyek yang terbentuk berupa penampang lintang dari obyek hasil perputaran 360°. Perhatikan Gambar 6. Contoh: Diputar 360o Diputar 270o Gambar 8-7: sebuah kurva setelah diputar menjadi sebuah obyek Sweep representation juga bisa dihasilkan dengan cara menarik luasan 2D sepanjang sumbu yang tegak lurus dengan bidang luasan tersebut. Torus dihasilkan dengan cara memutar kurva lingkaran mengitari lingkaran. 9
  • 10. Sweep-sphere volume dihasilkan dengan cara menggerakkan kurva bola sepanjang lintasan parabola. Sweep-cylinder volume dihasilkan dengan cara menggerakkan kurva silinder sepanjang lintasan parabola. 5. Surface of Revolution Surface of revolution adalah permukaan yang dihasilkan dengan cara memutar kurva 2D terhadap sumbu putarnya. Karena itu permukaan yang dihasilkan selalu mempunyai simetri azimut (azimuthal symmetry). 10
  • 11. 6. Quad Trees Quad trees dihasilkan dengan cara membagi wilayah gambar 2D menjadi empat kuadraan. Jika semua piksel yang ada didalam sebuah kuadran warnanya sama, maka elemen data yang tersimpan bisa homogen (sama). Jika tidak demikian maka sebuah kuadran tersebut dibagi lagi menjadi empat bagian sampai semua kuadran homogen. 11
  • 12. 7. Octrees Octrees dihasilkan dengan cara membagi wilayah obyek 3D menjadi delapan bagian (kuadraan). 8. Fraktal Fraktal adalah kurva yang membentuk suatu pola dimana suatu bagian kecil dari kurva itu polanya sama dengan bagian yang lebih besar. Karena itu fraktal bisa dipecah-pecah menjadi beberapa bagian yang lebih kecil yang semuanya mirip dengan fraktal aslinya. Kurva fraktal mempunyai karakteristik homogen, yaitu memiliki struktur pola yang sama pada tingkat perbesaran yang berbeda. dan karakteristik tak hingga, 12 (a) (b) (c)
  • 13. karena fraktal dihasilkan dengan cara mengulang suatu pola, biasanya dalam proses rekursif atau iteratif (Gambar 8). Gambar 8-8: (a) Segitiga Sierpinski, suatu fraktal, bisa dipecah menjadi tiga segitiga Sierpinski (masing-masing diberi warna berbeda). (b) himpunan Cantor yang serupa diri pada perbesaran 10 kali. (c) Suatu himpunan Julia, fraktal yang berhubungan dengan himpunan Mandelbrot. 9. Pemodelan Obyek 3D menggunakan Polygon Permukaan obyek 3D bisa dibuat dari polygon dan elemen garis. Untuk konfigurasi awal sebuah obyek, koordinat verteks dari polygon dan titiktitik ujung garis didefinisikan sesuai dengan sistem koordinat 3D. Struktur data untuk representasi obyek 3D terdiri dari : (i) Tabel verteks/ tabel node yang berisi koordinat 3D dari masingmasing titik verteks polygon dan titik ujung garis (ii) Tabel sisi (edge) yang berisi definisi dari konektivitas edge dalam bentuk node-node dari titik ujung. (iii) Tabel polygon yang berisi verteks dari masing-masing polygon. Contoh V3 E3 V4 Tabel polygon P1 : E1, E2, E4 P2 : E3, E4, E5 E2 E4 E5 V2 E1 V1 Tabel titik (Vertex) V1 : x1, y1, z1 V2 : x2, y2, z2 V3 : x3, y3, z3 V4 : x4, y4, z4 Tabel sisi (edge) E1 : V1, V2 E2 : V2, V3 E3 : V3, V4 E4 : V1, V3 E5 : V1, V4 13
  • 14. 14
  • 15. 15
  • 16. 16