laporan komputer grafik

102
Laporan Komputer Grafik Disusun oleh: Ade Irawan M0510001 Andreas Andi Wijaya M0510007 Dewi Prasetyan D M0510018 Guruh Ari Wibowo M0510026 Wachid Daga S M0510045 JURUSAN TEKNIK INFORMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SEBELAS MARET

Upload: hammam-abdurrahman

Post on 24-Jan-2016

90 views

Category:

Documents


3 download

DESCRIPTION

laporan komputer grafik

TRANSCRIPT

Page 1: laporan komputer grafik

Laporan Komputer Grafik

Disusun oleh:

Ade Irawan M0510001

Andreas Andi Wijaya M0510007

Dewi Prasetyan D M0510018

Guruh Ari Wibowo M0510026

Wachid Daga S M0510045

JURUSAN TEKNIK INFORMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SEBELAS MARET

2013

Page 2: laporan komputer grafik

I. DASAR TEORIA. Sistem Koordinat 2 Dimensi

Sistem koordinat digunakan untuk membedakan posisi atau lokasi

suatu titik. Sistem koordinat yang sering digunakan adalah sistem koordinat

cartesian dua dimensi seperti yang digambarkan pada gambar 2.1. Dalam

sistem koordinat cartesian dua dimensi digunakan 2 besaran (x,y). Sumbu x

digunakan untuk memproyeksikan panjang dan sumbu y untuk tinggi.

Sistem Koordinat Cartesian dua dimensi, dengan sumbu x dan y

1. Titik / Pixel

Titik atau pixel (singkatan dari picture element) merupakan elemen

penyusun terkecil dari suatu objek dalam grafika komputer. Titik didefinisikan

pada suatu posisi (x,y) dalam koordinat cartesian. Gambar 2.2 menunjukkan

sebuah titik pada posisi (3,4) dalam koordinat cartesian.

Titik memiliki atribut yaitu warna dari titik tersebut. Selain itu, titik

juga memiliki property yang terdiri dari posisi atau koordinat (x,y) titik

tersebut.

2. GarisGaris merupakan persamaan matematika yang disusun Titik dengan

koordinat cartesian (3,4) oleh sekumpulan titik. Suatu titik merupakan

penyusun dari garis jika koordinat titik tersebut memenuhi persamaan garis y

= mx + c. Gambar 2.3 menunjukkan sebuah garis dengan koordinat titik – titik

ujung (2,2) dan (5,4).

Page 3: laporan komputer grafik

Garis dengan koordinat titik – titik ujung (2,2) dan (5,4)

Garis memiliki atribut yang terdiri dari warna, tebal dan jenis dari garis

tersebut. Garis juga memiliki property yang terdiri dari koordinat dari titik –

titik ujung garis tersebut (x1,y1) dan (x2,y2).

B. Transformasi 2 DimensiTransformasi dapat dilakukan terhadap sebuah objek grafis dengan

berbagai cara tanpa menambahkan komponen baru apapun pada objek grafis

tersebut. Ada banyak cara untuk melakukan transformasi objek grafis, akan

tetapi terdapat beberapa cara yang umum yaitu:

1. Translasi

Pemindahan objek ke lokasi baru tanpa mengubah bentuk, ukuran, dan

orientasinya.

2. Rotasi

Pemutaran objek/ rotasi terhadap titik tertentu tanpa mengubah bentuk dan

ukurannya.

3. Scalling

Perbesaran/ pengecilan objek, yang mana objek diskalakan menggunakan

faktor yang sama baik secara horizontal maupun vertical sehingga

proporsinya tetap/ bisa menggunakan faktor yang berbeda yang akan

menyebabkan objek menjadi lebih tinggi/ pendek/ tipis/ tebal.

Translasi dan rotasi disebut juga sebagai rigid body transformation

yaitu transformasi yang hanya mengubah posisi objek, tanpa mengubah

bentuknya.

1. Translasi

Translasi merupakan transformasi paling sederhana yang dapat

diterapkan pada suatu objek grafis. Mudahnya, translasi adalah perpindahan

objek grafis dari satu tempat ke tempat lain tanpa mengubah tampilan dan

orientasi. Untuk menghasilkan translasi sebuah objek grafis, kita

menambahkan konstanta Tx pada koordinat x dan konstanta Ty pada koordinat

Page 4: laporan komputer grafik

Y formula ini diterapkan pada semua titik pada objek yang akan

ditranslasikan.

Gambar:

Formula untuk mentranslasikan suatu titik (x, y) ke posisi baru (x’, y’)

adalah sebagai berikut:

Pada prakteknya untuk mentranslasikan objek grafis tentu saja kita

tidak harus menghitung semua titi pada objek tersebut, tetapi cukup dihitung

titik awal dan akhir saja kemudian gambarkan garis dari kedua titik tersebut.

Contoh kedua untuk memindahka lingkaran cukup menghitung titik pusat

lingkaran kemudian dengan menggunakan algoritma penggambaran lingkaran,

lingkaran dengan posisi baru bisa dibentuk.

Page 5: laporan komputer grafik

Perhitungan translasi bisa juga dengan menggunakan matriks transformasi

sebagai berikut:

Contoh soal 1:

Sebuah garis dengan koordinat A(10, 10) dan B(15, 30) ditranslasikan dengan

translasion vector (10, 20).

Jawab:

Titik A:

Xa’ = Xa + Tx = 10 + 10 = 20

Ya’ = Ya + Ty = 10 + 20 = 30

Hasil translasi titik A = (20, 30)

Titik B:

Xb’ = Xb + Tx = 15 + 10 = 25

Yb’ = Yb + Ty = 30 + 20 = 50

Hasil translasi titik B = (25, 50)

Sehingga garis baru yang terbentuk adalah garis dengan koordinat titik Ai(20,

30) dan Bi (25, 50)

Perhitungan translasi ini juga bisa menggunakan matriks berikut:

Untuk titik A

Untuk titik B

Page 6: laporan komputer grafik

2. Rotasi

Rotasi suatu image adalah memutar objek terhadap titik tertentu pada

bidang xy. Bentuk dan ukuran objek tidak berubah. Untuk melakukan rotasi

perlu diketahui sudut rotasi ϴ dan pivot poin (Xp, Yp) atau titik rotasi dimana

objek dirotasi. Nilai positif dari sudut rotasi menentukan arah rotasi

berlawanan dengan jarum jam dan sebaliknya nilai negative akan memutar

objek searah jarum jam.

Gambar:

Rotasi yang paling seerhana adalah rotasi dengan pivot point di titik

pusat koordinat system yaitu (0,0). Pada gambar 5. Xx terlihat titik (x,y)

dirotasi terhadap titik pusat koordinat system dengan sudut ϴ sudut terhadap

sumbu x adalah sebesar Ф. Dengan menggunakan trigonometri dasar dapat

dihitung bahwa:

Page 7: laporan komputer grafik

Titik hasil rotasi yaitu x’ dan y’ dapat ditentukan sebagai berikut:

x’ = r cos (Ф + ϴ)

= r cos Ф cos ϴ - r sin Ф sin ϴ

= x cos ϴ - y sin ϴ

y’ = r sin (Ф + ϴ)

= r cos Ф sin ϴ + r sin Ф cos ϴ

= x sin ϴ + y cos Ф

Maka jika titik x, y dirotasi terhadap (0,0) dengan sudut ϴ adalah

Jika pivot point berada di titik (xp, yp) maka rotasi titik dapat dirumuskan

sebagai berikut:

a. Translasi tx = -xr & ty = -yr

b. Rotasi sebesar ϴ

c. Translasi tx = xr & ty = yr

Page 8: laporan komputer grafik

Dengan menggunakan matriks rotasi dapat dirumuskan sebagai berikut:

Contoh Rotasi:

Hitung apabila titik (2, 7) dirotasi sebesar 90º terhadap titik (0,0)

Jawab:

3. Scalling (Penskalaan)

Scalling atau penskalaan adalah proses untuk mengubah ukuran objek,

dengan cara mengubah jarak setiap titik pada objek terhadap titik acuan. Objek

dapat diskalakan dengan arah horizontal maupun vertical dengan cara

mengalikan koordinat tiap objek dengan faktor konstanta.

Pada proses ini perlu dispesifikasikan dua hal yaitu:

- Faktor penskalaan: sx & sy real: (0.N)

- Titik acuan (xf,yf)

Jenis penskalaan ada dua yaitu uniform dan diferensial. Penskalaan

uniform terjadi bila faktor vertical sama dengan horizontal, sedangkan

diferensial jika kedua faktor tersebut berbeda.

Page 9: laporan komputer grafik

Penskalaan terhadap titik (0,0) dapat dirumuskan sebagai berikut, dengan

konsekuensi bentuk dan posisi objek berubah. Jika 0 < S < 1: lebih dekat ke

(0,0), S = 1 ukuran tetap, 1 < S: lebih jauh dari (0,0).

Untuk penskalaan terhadap titik (Xp, Yp) dapat dirumuskan sebagai berikut:

Penskalaan uniform untuk polygon, lingkaran dan elips, dapat dilihat pada

table berikut:

Page 10: laporan komputer grafik

Seperti transformasi sebelumnya penskalaan juga dapat

dipresentasikan dalam bentuk persamaan matriks.

Contoh Scalling:

Persegi panjang dengan koordinat (4,2), (10,2), (4,4), (10,4) Scalling factor ½

Koordinat persegi panjang sesudah transformasi (2,1), (5,1), (2,2), (5,2)

4. Refleksi

Refleksi adalah transformasi yang membuat mirror atau pencerminan

dari suatu objek grafis. Refleksi disusun relative terhadap sumbu refleksi.

Contoh refleksi terhadap garis y=-x dapat dilihat pada gambar berikut.

Page 11: laporan komputer grafik

Refleksi terhadap sumbu x dapat dinyatakan dengan matriks :

Refleksi terhadap garis y=mx pada bidang xy dapat dibuat merupakan

kombinasi dari transformasi translasi-rotasi-refleksi. Secara umum pertama-

tama dilakukan translasi garis mencapai titik potong koordinat. Kemudian

garis dirotasi ke salah satu sumbu dan refleksi objek menurut sumbu tersebut.

Objek dan garis dirotasi sehingga mencapai sumbu lainnya.

5. Shear

Shear adalah bentuk transformasi yang membuat distorsi dari bentuk

suatu objek, seperti menggeser sisi tertentu. Dua macam shear yang umum

adalah shear terhadap sumbu x dan sumbu y. Matriks transformasi shear dapat

dirumuskan sebagai berikut:

Matriks transformasi untuk shear terhadap sumbu y adalah :

Page 12: laporan komputer grafik

Shear juga dapat dilakukan terhadap garis tertentu yang sejajar dengan

sumbu x dengan bentuk matriks :

C. Clipping dan Viewing

Kliping adalah pemotongan suatu objek dengan bentuk tertentu.

Alasan dilakukan kliping adalah

- Menghindari perhitungan koordinat pixel yang rumit (karenanya kliping

dilakukan sebelum rasterisasi).

- Interpolasi parameter

Sarana pemotong objek disebut jendela kliping.

Fungsi jendela kliping adalah untuk mengidentifikasi objek yang akan di-

clipping dan memastikan bahwa data yang diambil hanya yang terletak di

dalam jendela clipping.

Bentukjendela kliping : Segi empat, Segitiga Lingkaran atau Ellips, Polygon

dan lain-lain.

1. Clipping Titik

Untuk menentukan letak suatu titik di dalam jendela kliping,

digunakan ketentuan :

Xmin O X O Xmax dan

Ymin O Y O Ymax

Pada gambar di atas, terdapat sebuah jendela kliping dengan parameter sebagai

berikut :

- Xmin - batas minimum sumbu X

- Xmax - batas maksimum sumbu x

Page 13: laporan komputer grafik

- Ymin - batas minimum sumbu Y

- Ymax - batas maksimum sumbu Y

- Terdapat w2 buah titik P1(x,y) dan P2(x,y) dengan :

o P1 terletak di dalam jendela kliping,karena

P1.x < Xmax dan P1.x > Xmin

serta P1.y < Ymax dan P1.y > Ymin

o P2 terletak di dalam jendela kliping,karena

P2.x < Xmin

walaupun P2.x < Xmax

P2.y < Ymax dan P2.y > Ymin

2. Clipping Garis

Kliping sebuah garis P1 dan P2 dengan jendela L, R, T, dan B akan

berhubungan dengan garis yang terletak di dalam jendela dan garis di luar

jendela. Garis yang berada di dalam jendela adalah garis yang akan

ditampilkan (P1’ – P2’), sedangkan garis yang terletak di luar jendela dibuat

tidak tampak (P1 – P1’ dan P2 – P2’).

Untuk menentukan letak sebuah garis di dalam jendela kliping

dilakukan analisis letak titik yang menentukan garis tersebut dan memastikan

bahwa titik-titik tersebut berada di dalam jendela kliping.

Kondisi garis terhadap jendela kliping :

- Invisible : Tidak kelihatan, terletak di luar jendela kliping.

- Visible : Terletak di dalm jendela kliping.

- Halfpartial : Terpotong sebagian oleh jendela kliping, bisa hanya dengan

bagian atas, bawah, kiri atau kanan.

Page 14: laporan komputer grafik

- Vollpartial : Terpotong penuh oleh jendela kliping. Garis melintasi jendela

kliping.

3. Algoritma Umum Kliping

4. Algoritma Cohen-Sutherland

Hubungan antara sebuah garis dengan jendela kliping dapat ditulis

seperti hubungan antara titik awal dan titik akhir sebuah garis dengan jendela

kliping.

P1(x,y) dan P2(x,y)TM⇔ W(L,R,T,B)

Untuk menentukan relasi tersebut diperlukan suatu struktur data

pembantu yang disebut pointcode. Dengan pointcode kita dapat

mengidentifikasi posisi titik terhadap jendela kliping.

Nilai untuk pointcode l, r, t dan b adalah 1 dan 0 yang merupakan nilai

logika yang dapat dimengerti dengan nilai true dan false.

Suatu titik yang visible berarti titik tersebut terletak di dalam jendela

kliping, dan invisible jika terletak di luar jendela kliping.

Suatu titik itu visible dengan pointcode jika nilai l, r, t dan b adalah

nol, artinya jika salah satu nilai dari l, r, t dan b tidak sama dengan nol maka

Page 15: laporan komputer grafik

dapat diketahui bahwa titik tersebut terletak di luar jendela kliping dan

diketahui pada posisi mana.

Berdasarkan urutan kode, pointcode ditentukan :

pointcode Arti Kode

0000 Terletak di dalam jendela kliping

0001 Terletak di sebelah kiri jendela kliping

0010 Terletak di sebelah kanan jendela kliping

0100 Terletak di sebelah bawah jendela kliping

0101 Terletak di sebelah kiri bawah jendela kliping

0110 Terletak di sebelah kanan bawah jendela kliping

1000 Terletak di sebelah atas jendela klipig

1001 Terletak di sebelah kiri atas jendela kliping

1010 Terleak di sebelah kanan atas jendela kliping

Titik terletak di dalam jendela kliping jika jumlah keempat pointcode adalah

nol :L + R + T + B = 0.

Titik terletak di luar jendela kliping jika jumlah keempat pointcode lebih besar

dari nol. L + R + T + B > 0.

D. 3 Dimensi1. Sistem Koordinat Cartesian Tiga Dimensi

Dalam sistem koordinat cartesian dua dimensi hanya terdapat 2

besaran saja (sumbu x dan y). Sedangkan untuk memodelkan objek tiga

dimensi yang memiliki kedalaman, diperlukan 1 sumbu tambahan yaitu sumbu

z, maka digunakanlah sistem koordinat cartesian tiga dimensi. Sistem

koordinat cartesian dibedakan menjadi 2 yaitu, sistem koordinat tangan kanan

dan sistem koordinat tangan kiri. Sistem koordinat tangan kanan diilustrasikan

dengan jari telunjuk tangan kanan sebagai sumbu x diputar sebesar 90 derajat

Page 16: laporan komputer grafik

ke arah jari tengah tangan kanan sebagai sumbu y, sehingga arah ibu jari

tangan kanan sebagai sumbu z mendekati pengamat (arah z positif). Gambar

dibawah menunjukkan orientasi sumbu koordinat menggunakan sistem

koordinat tangan kanan.

Sistem Koordinat Tangan Kanan

Sedangkan pada sistem koordinat tangan kiri dapat diilustrasikan

dengan jari telunjuk tangan kiri sebagai sumbu x diputar sebesar 90 derajat ke

arah jari tengah tangan kiri sebagai sumbu y, sehingga arah ibu jari tangan kiri

sebagai sumbu z menjauhi pengamat (arah z positif). Gambar dibawah

menunjukkan orientasi sumbu koordinat menggunakan sistem koordinat

tangan kiri. Dalam komputer grafik lebih banyak digunakan sistem koordinat

tangan kanan.

Sistem Koordinat Tangan Kiri

2. Sistem Koordinat Spheris

Pada sistem koordinat spheris, sebuah titik dianggap terletak pada

permukaan kulit bola yang memiliki jari – jari R, dan titik pusat bola berimpit

dengan titik pusat sistem koordinat. Dapat diambil sembarang titik, misalnya

titik W sehingga dikenal besaran colatitud dan azimuth. Colatitud ( o) adalah

besarnya sudut yang dibentuk antara sumbu z dan garis yang ditarik dari titik

pusat ke titik W. Azimuth ( O ) adalah besarnya sudut antara bidang xz dengan

bidang yang melewati titik W dan sumbu z. Gambar 2.9 menunjukkan sistem

koordinat spheris.

Page 17: laporan komputer grafik

Sistem Koordinat Spheris

3. Refleksi

Refleksi merupakan sifat material yang dapat mencerminkan bentuk

objek – objek di sekitarnya jika terkena sinar. Besarnya sudut pantul

bergantung pada besarnya sudut datang dari sinar dan bentuk permukaan dari

objek yang terkena sinar tersebut.

Secara umum refleksi dapat diilustrasikan seperti gambar dibawah berikut ini :

Vektor refleksi R , berasal dari vektor V , dengan garis normal N , dan

dengan sudut O.

Rumus untuk menghitung vector R dengan besar sudut O , vektor

normal N dan vektor asal V :

R = V - 2( V . N ) N

4. Proyeksi

Proyeksi merupakan proses mentransformasikan titik – titik di sistem

koordinat berdimensi n ke titik – titik di sistem koordinat dengan dimensi yang

lebih kecil dari n. Dalam grafik tiga dimensi, proyeksi didefinisikan dengan

pancaran sinar proyeksi yang berasal dari sebuah pusat proyeksi yang

dipancarkan sampai mengenai masing – masing titik dari objek tiga dimensi

dan memotong sebuah bidang proyeksi sehingga terbentuk hasil proyeksi. Dua

teknik proyeksi yang sering digunakan dalam grafik tiga dimensi yaitu

proyeksi perspektif dan proyeksi paralel. Perbedaan diantara kedua teknik itu

terletak pada letak pusat proyeksi terhadap bidang proyeksi. Pada proyeksi

Page 18: laporan komputer grafik

perspektif, jarak pusat proyeksi ke bidang proyeksi terdefinisi. Pada proyeksi

paralel jarak pusat proyeksi ke bidang proyeksi tidak terdefinisi (sangat jauh).

Proyeksi perspektif menghasilkan efek visual yang menyerupai sistem

fotografi dan sistem visual pada manusia. Hal ini membuat proyeksi perspektif

menampilkan objek yang lebih nyata daripada objek yang dihasilkan oleh

proyeksi paralel. Proyeksi paralel biasanya digunakan untuk pengukuran yang

pasti. Karena perbandingan panjang objek di ruang tiga dimensi dengan

panjang objek di bidang proyeksi selalu sama.

a. Proyeksi Paralel

Proyesi paralel dapat diilustrasikan dengan sebuah titik pada bidang

tiga dimensi W(wx,wy,wz) diproyeksikan ke bidang dua dimensi dengan cara

menghapus salah satu komponen titiknya, misalnya komponen z (membuat

nilai wz sama dengan nol) sama dengan memproyeksikan titik W ke bidang

xy. Dalam hal ini bidang xy disebut dengan bidang pandang (viewplane).

Proyeksi dari setiap titik diperoleh dengan menjatuhkan sinar (disebut

proyektor), dengan arah jatuh sinar tegak lurus terhadap bidang proyeksi.

Proyeksi ini disebut dengan proyeksi orthogonal. Gambar dibawah

menggambarkan proyeksi paralel.

Proyeksi Paralel

b. Proyeksi Perspektif

Proyeksi perspektif sering juga disebut frustrum projection, merupakan

sekumpulan sinar paralel yang diproyeksikan terhadap titik hilang (vanishing

point). Jika sekumpulan sinar sejajar dengan salah satu sumbu koordinat, maka

titik hilang disebut dengan titik hilang sumbu. Sedangkan jika ada titik hilang

sumbu yang berpotongan dengan bidang proyeksi maka disebut dengan titik

hilang utama. Objek yang berada di dekat view plane1 akan terlihat lebih

besar bila dibandingkan dengan objek yang letaknya jauh dari view plane, hal

ini membuat proyeksi perspektif lebih terlihat nyata. Gambar dibawah

menunjukkan proyeksi perspektif.

Page 19: laporan komputer grafik

Proyeksi Perspektif

5. Kamera Model

Dalam grafika komputer tidak semua objek dapat ditampilkan pada

layar, sehingga diperlukan suatu batasan objek – objek mana saja yang akan

ditampilkan. Objek – objek tersebut dibatasi dengan suatu daerah yang disebut

view volume.

Untuk menampilkan ke layar maka harus dilakukan proyeksi terhadap

view volume pada view plane, hanya sebagian dari view plane yang akan

ditampilkan pada layar. Bagian dari view plane ini berbentuk bujur sangkar,

disebut dengan viewport seperti terlihat pada gambar dibawah berikut ini :

Kamera Model dengan View Frustrum

View plane dibatasi oleh dua plane2 (Near dan Far), yang paralel

terhadap view plane ini disebut dengan view frustrum. Paralel plane yang

dekat dengan mata (E) disebut dengan near plane, sedangkan plane yang

letaknya jauh dari mata disebut dengan far plane.

Kombinasi dari lokasi kamera (eye point), view plane, viewport, dan

view frustrum disebut dengan kamera model. Kamera model merupakan suatu

cara untuk menempatkan kamera dan mengorientasikannya pada ruang tiga

dimensi. Salah satu cara yang digunakan dalam kamera model yaitu sistem

koordinat arah pandang. Sistem koordinat arah pandang sering disebut dengan

sistem koordinat uvn, sesuai dengan nama – nama sumbu koordinat yang

Page 20: laporan komputer grafik

menjadi komponennya. Sistem koordinat arah pandang dapat diilustrasikan

dengan bidang pandang berimpit dengan bidang uv, sedangkan mata terletak

pada sumbu n. Hal ini mirip dengan sistem koordinat cartesian, dimana mata

terletak pada sumbu z, dan bidang pandang pada bidang xy.

Sistem Koordinat Arah Pandang

Hubungan antara sistem koordinat arah pandang dengan sistem

koordinat cartesian, diilustrasikan pada gambar diatas Dari gambar tersebut,

bidang uv merupakan bidang pandang. Pada bidang pandang ini ditentukan

sebuah titik yang disebut dengan titik acuan pandang (view reference point,

VRP), dan dianggap sebagai titik pusat dari sistem koordinat arah pandang.

Dalam sistem koordinat dunia, komponen vektor n dinyatakan sebagai

(nx,ny,nz). Dengan adanya sumbu ke arah n inilah sistem koordinat uvn

terbentuk. Sumbu u dan sumbu v saling tegak lurus. Sedangkan vektor n

mempunyai arah tegak lurus terhadap bidang uv, dan karena sumbu u dan

sumbu v terletak pada bidang uv, maka jelaslah bahwa arah vektor n tegak

lurus terhadap sumbu u dan sumbu v.

Jika vektor n dan v diketahui, dengan mudah bisa dihitung komponen

vektor u. Karena arah vektor u tegak lurus pada vektor v dan n, maka vektor u

bisa dihitung dengan menggunakan cross product dari vektor n dan v, yaitu u =

n x v.

Setelah sistem koordinat arah pandang lengkap dengan berbagai

komponennya, maka perlu ditentukan batas jendela dan posisi matanya.

Jendela terletak pada sistem koordinat bidang pandang, dan batas – batasnya

dinyatakan sebagai (jkr, jat, jkn, jbw). Dari batas – batas tersebut terlihat

Page 21: laporan komputer grafik

bahwa pada arah mendatar, jendela mempunyai batas – batas dari u = jkr

sampai v = jkn, pada arah tegak, jendela mempunyai batas dari u = jat sampai

v = jbw. Posisi mata, yaitu m(mu, mv, mn) dapat diletakkan pada sembarang

tempat pada sistem koordinat arah pandang. Posisi mata yang paling sering

dipakai adalah dengan menempatkannya pada sumbu n sejauh M dari VRP,

yaitu pada posisi m = (0, 0,M).

Berikut mengilustrasikan posisi jendela dan mata pada sistem koordinat arah

pandang.

Posisi jendela dan mata

6. Model Layar

Pada grafika komputer, layar penampil memiliki titik pusat koordinat

(0,0) terletak pada posisi paling atas dan paling kiri. Sistem windowing pada

komputer grafik berbentuk kotak yang didefinisikan berupa koordinat

(kiri,atas) dan (kanan,bawah) seperti yang terlihat pada gambar dibawah

berikut :

Titik pusat koordinat pada layar penampil

Page 22: laporan komputer grafik

Dari gambar diatas, untuk posisi tengah (center), lebar layar dan tinggi layar

dapat dihitung sbb :

horizontal center = ( kiri + kanan ) / 2

vertical center = ( atas + bawah ) / 2

lebar = kanan – kiri

tinggi = bawah – atas

Dalam menampilkan gambar pada layar penampil, dilakukan perbandingan

ukuran window dengan kamera model. Sehingga jika dilakukan perubahan

ukuran pada kamera model, window dapat dengan mudah menyesuaikan

ukurannya.

7. Pemotongan (Clipping)

Kadang kala objek – objek yang hendak ditampilkan ada bagian yang

berpotongan dengan view volume sehingga perlu dilakukan proses

pemotongan (clipping). Gambar dibawah menunjukkan proses clipping dan

culling.

Proses pemotongan (clipping) dilakukan pada garis di tengah dan

bawah, proses penghilangan (culled) garis di atas .

8. Pencahayaan

Dalam komputer grafik, faktor pencahayaan cukup penting. Suatu

objek akan terlihat lebih nyata dan menarik jika diberi pencahayaan yang

sesuai. Beberapa tipe pencahayaan, yaitu :

Page 23: laporan komputer grafik

a. Directional Light Source, tipe pencahayaan yang sumber cahayanya

dianggap terletak sangat jauh dari objek, sehingga seluruh berkas cahaya

yang mengenai objek datang secara paralel. Contoh directional light di

dunia nyata adalah cahaya matahari yang menyinari bumi.

b. Positional Light Source, tipe pencahayaan yang sumber cahaya ini serupa

dengan lampu yang terletak dekat dengan objek yang disinari, sehingga

jarak/posisi antara cahaya dengan objek akan mempengaruhi

terang/gelapnya objek.

c. Spotlight, tipe pencahayaan yang mirip dengan positional light source,

hanya saja dengan batasan daerah pencahayaan. OpenGL juga telah

menyediakan model pencahayaan yang terdiri dari diffuse, ambient, dan

specular.

9. Deffuse

Diffuse merupakan sifat material yang menyebarkan cahaya ke semua

arah. Jika sinar mengenai suatu objek yang memiliki material diffuse maka

permukaan objek tersebut terlihat lebih jelas. Intensitas cahaya diffuse lebih

kecil dikarenakan sifatnya penyebarannya yang ke semua arah. Gambar

dibawah menggambarkan arah penyebaran cahaya pada model diffuse.

Arah penyebaran cahaya pada model diffuse

10. Ambient

Ambient merupakan cahaya latar belakang yang dipantulkan oleh

objek secara seragam ke segala arah. Intensitas cahayanya kecil karena

penyebarannya ke segala arah. Gambar dibawah menunjukkan model

pencahayaan dengan ambient.

Page 24: laporan komputer grafik

Model pencahayaan dengan ambient

11. Specular

Model pencahayaan dimana penyebaran cahayanya hanya ke arah

tertentu saja, sehingga hukum yang berlaku disini adalah sudut pantul sama

dengan sudut datang cahaya. Intensitas cahayanya tinggi karena hanya

dipantulkan ke satu arah saja. Objek yang memiliki material ini memiliki

kesan berkilau. Gambar dibawah menunjukkan penyebaran cahaya specular.

Arah penyebaran cahaya pada model specular

Page 25: laporan komputer grafik

II. ANALISIS PROGRAMA. Titik dan Garis

Untuk membuat titik pada java digunakan fungsi g.drawOval(); walaupun

fungsi ini sebenarnya digunakan untuk membuat Lingkaran atau Oval namun

fungsi iini dapat digunakan untuk membuat titik dengan memperkecil nilai

jari-jarinya. Sedangkan untuk menggambar garis digunakan fungsi

g.drawLine();

Berikut keterangan fungsinya :

- untuk menggambar garis g.drawLine(int x1, int y1, int x2, int y2);

- untuk menggambar lingkaran/oval g.drawOval(int x, int y, int width, int

heigh);

- untuk menggambar lingkaran/oval dengan warna didalamnya

g.fillOval(int x, int y, int width, int heigh);

- untuk menuliskan kata/kalimat g.drawString("string", int x, int y);

- untuk memberi warna g.setColor(Color.BLACK);

Berikut Screenshoot Programnya :

1. Titik

Page 26: laporan komputer grafik

2. Garis

3. Vektor

Page 27: laporan komputer grafik

B. Tansformasi 2 Dimensi1. Translasi

Translasi adalah menggeser suatu titik garis, maupun bangun kesuatu tempat/koordinat tertentu. Rumus untuk menentukan hasil dari translasi adalah :X’ = X + nXY’ = Y + nYDimana X’ dan Y’ merupakan hasil translasi, X dan Y merupakan koordinat awal dan nX dan nY merupakan besarnya nilai TranslasiBerikut adalah tampilan Programnya :a. Titik

b. Garis

c. Lingkaran

Page 28: laporan komputer grafik

d. Segitiga

e. Segiempat

2. RefleksiRefleksi atau pencerminan adalah memindahkan suatu titik, garus atau bangun ke suatu tempat tanpa mengubah bentuk asli dari bangun tersebut.Refleksi ada bermacam-macam diantaranya : Refleksi terhadap sumbu x, terhadap sumbu y, terhadap titik pusat, terhadap garis y=x dll.Berikut tampilan Programnya :

Page 29: laporan komputer grafik

a. Titik

o Terhadap SumbuX

Page 30: laporan komputer grafik

o Terhadap Sumbu Y

o Terhadap Titik Pusat (0,0)

o Tehadap garis y=x

Page 31: laporan komputer grafik

o Terhadap Garis y=-x

Page 32: laporan komputer grafik

o Terhadap Garis x=a

o Teradap Garis y=b

Page 33: laporan komputer grafik

o Terhadap Titik (a,b)

b. Garis

Page 34: laporan komputer grafik

o Terhadap SumbuX

o Terhadap Sumbu Y

Page 35: laporan komputer grafik

o Terhadap Titik Pusat (0,0)

o Tehadap garis y=x

Page 36: laporan komputer grafik

o Terhadap Garis y=-x

o Terhadap Garis x=a

Page 37: laporan komputer grafik

o Teradap Garis y=b

o Terhadap Titik (a,b)

Page 38: laporan komputer grafik

c. Lingkaran

o Terhadap SumbuX

Page 39: laporan komputer grafik

o Terhadap Sumbu Y

o Terhadap Titik Pusat (0,0)

Page 40: laporan komputer grafik

o Tehadap garis y=x

o Terhadap Garis y=-x

Page 41: laporan komputer grafik

o Terhadap Garis x=a

o Teradap Garis y=b

Page 42: laporan komputer grafik

o Terhadap Titik (a,b)

d. Segitiga

Page 43: laporan komputer grafik

o Terhadap SumbuX

o Terhadap Sumbu Y

Page 44: laporan komputer grafik

o Terhadap Titik Pusat (0,0)

o Tehadap garis y=x

Page 45: laporan komputer grafik

o Terhadap Garis y=-x

o Terhadap Garis x=a

Page 46: laporan komputer grafik

o Teradap Garis y=b

o Terhadap Titik (a,b)

Page 47: laporan komputer grafik

e. Segiempat

o Terhadap SumbuX

Page 48: laporan komputer grafik

o Terhadap Sumbu Y

o Terhadap Titik Pusat (0,0)

Page 49: laporan komputer grafik

o Tehadap garis y=x

o Terhadap Garis y=-x

Page 50: laporan komputer grafik

o Terhadap Garis x=a

o Teradap Garis y=b

Page 51: laporan komputer grafik

o Terhadap Titik (a,b)

3. RotasiRotasi adalah memindahkkan suatu titik, garis atau bidang dengan sudut tertentu dan berlawanan arah jarum jam. Rotasi ada 2 macam yaitu rotasi terhadap titik pusat (0,0) dan rotasi terhadap suatu titik P.

Rumus untuk rotasi adalahTerhadap titik pusat (0,0)x’= x * cos(a)- y* sin(a) y’=x * sin(a)) + y * cos(a)

Terhadap titik Px’=xp+( (x-xp) * cos(a)- (y-yp) * sin(a))y’=yp+((x-xp) * sin(a)) + (y-yp) * cos(a))

Page 52: laporan komputer grafik

Berikut adalah tampilan programnya :a. Titik

o Terhadap Titik (0,0)

Page 53: laporan komputer grafik

b. Garis

o Pusat (0,0)

Page 54: laporan komputer grafik

o Pusat titik P

c. Lingkaran

Page 55: laporan komputer grafik

o Pusat (0,0)

Page 56: laporan komputer grafik

d. Segituga

o Pusat (0,0)

o Pusat titk P

Page 57: laporan komputer grafik

e. Segiempat

Page 58: laporan komputer grafik

o Pusat (0,0)

o Pusat titik P

Page 59: laporan komputer grafik

4. Dilatasia. Lingkaran

Page 60: laporan komputer grafik

b. Segitiga

Page 61: laporan komputer grafik

c. Segiempat

Page 62: laporan komputer grafik

5. Sheara. Segitiga

Page 63: laporan komputer grafik

o Terhadap Sumbu X

o Terhadap Sumbu Y

Page 64: laporan komputer grafik

b. Segiempat

o Terhadap Sumbu X

Page 65: laporan komputer grafik

o Terhadap Sumbu Y

C. Clipping1. Titik

a. Viewport Lingkaran

Page 66: laporan komputer grafik

b. Viewport Segitiga

Page 67: laporan komputer grafik

c. Viewport Segiempat

Page 68: laporan komputer grafik

2. Garisa. Viewport Lingkaran

Page 69: laporan komputer grafik

b. Viewport Segitiga

Page 70: laporan komputer grafik

c. Viewport Segiempat

Page 71: laporan komputer grafik

3. Lingkarana. Viewport Lingkaran

Page 72: laporan komputer grafik

b. Viewport Segitiga

Page 73: laporan komputer grafik

c. Viewport Segiempat

Page 74: laporan komputer grafik

4. Segitiga a. Viewport Lingkaran

Page 75: laporan komputer grafik

b. Viewport Segitiga

Page 76: laporan komputer grafik

c. Viewport Segiempat

Page 77: laporan komputer grafik

5. Segiempat a. Viewport Lingkaran

Page 78: laporan komputer grafik

b. Viewport Segitiga

Page 79: laporan komputer grafik

c. Viewport Segiempat

Page 80: laporan komputer grafik

D. Viewing1. Titik

Page 81: laporan komputer grafik

a. Clipping

b. Viewing

Page 82: laporan komputer grafik

2. Garis

a. Clipping

Page 83: laporan komputer grafik

b. Viewing

3. Lingkaran

Page 84: laporan komputer grafik

a. Clipping

b. Viewing

Page 85: laporan komputer grafik

4. Segitiga

a. Clipping

Page 86: laporan komputer grafik

b. Viewing

5. Segiempat

Page 87: laporan komputer grafik

a. Clipping

b. Viewing

Page 88: laporan komputer grafik

E. 3 Dimensi1. Kotak

2. Kerucut

Page 89: laporan komputer grafik

3. Silinder

4. Bola

Page 90: laporan komputer grafik

5. Animasi