komputr grafika

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 perhitungan- perhitungan 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

Upload: ros-dania

Post on 03-Jul-2015

581 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Komputr grafika

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 perhitungan-

perhitungan 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

Page 2: Komputr grafika

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

2

x

y

z

5

25222 =++ zyx

Page 3: Komputr grafika

Double cones : 02

2

2

2

2

2

=−+c

z

b

y

a

x

Ellipsoids : 12

2

2

2

2

2

=++c

z

b

y

a

x

Hyperboloids of one sheet : 12

2

2

2

2

2

=−+c

z

b

y

a

x

Hyperboloids of two sheets : 12

2

2

2

2

2

=+−−c

z

b

y

a

x

Elliptic paraboloids : c

z

b

y

a

x =+2

2

2

2

Hyperbolic paraboloids :

c

z

b

y

a

x =+−2

2

2

2

3

Page 4: Komputr grafika

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 ray-

tracing. Model padat umumnya digunakan untuk menjelaskan bentuk-

bentuk 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

Page 5: Komputr grafika

dari sebuah cahaya saat berjalan melalui obyek. Bila t bertanda minus

(−) artinya waktu dari sebuah cahaya saat tidak pada obyek.

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 = − − ++++++++ − − =∪ 21 tt

− − ++++++++ − −

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

=

Arah cahaya

Page 6: Komputr grafika

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

=∩ 21 tt − − −++++++− − −

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:

213

3

2

1

ttt

t

t

t

−=−−+−−−−−−−−−−+++−−=−−−+++++−−+++−−−−−=−−+++++−−−−+++++−−=

Gambar 4: Obyek solid yang dibentuk dari operator gabungan

(union), irisan (intersection), dan selisih (difference).

Operasi CSG tidak komutatif:

6

=−

=

Page 7: Komputr grafika

Operasi CSG tidak unik:

Tiga masalah yang ada pada operasi CSG yaitu:

7

Page 8: Komputr grafika

3. Polyhedra

Obyek merupakan gabungan dari permukaan-permukaan polygon yang

tertutup hingga membentuk sebuah obyek baru. Perhatikan Gambar 5.

8

Page 9: Komputr grafika

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:

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

Diputar 270o Diputar 360o

Page 10: Komputr grafika

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

Page 11: Komputr grafika

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

Page 12: Komputr grafika

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)

Page 13: Komputr grafika

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 titik-

titik 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 masing-

masing 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

13

Tabel polygonP1 : E1, E2, E4

P2 : E3, E4, E5

V3 V

2

V1

V4

E2

E1

E3 E

4

E5

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

Page 14: Komputr grafika

14

Page 15: Komputr grafika

15

Page 16: Komputr grafika

16