Anda di halaman 1dari 63

KOMPUTER GRAFIK

1. PENDAHULUAN

Apa itu Grafik Komputer ?

Grafik Komputer : suatu proses pembuatan, penyimpanan dan manipulasi model dan citra. Model berasal dari beberapa bidang seperti fisik, matematik, artistik dan bahkan struktur abstrak.

Istilah Grafik Komputerditemukan tahun 1960 oleh William Fetter : pembentukan disain model cockpit (Boeing) dengan menggunakan pen plotter dan referensi model tubuh manusia 3 Dimensi

Pengguna mengendalikan isi, struktur dan kemunculan objek serta menampilkan citra melalui suatu komponen dasar visual feedback.

Komponen Dasar Sistem Grafik Interaktif : Masukan : mouse, tablet dan stylus, peralatan force feedback, scanner, live video stream, dll Proses dan Penyimpanan Keluaran : layar, printer berbasis kertas, perekam video, non-linear editor, dll

Sistem interaktif grafik pertama, Sketchpad, ditemukan oleh Ivan Sutherland (1963) di MIT.

Sejarah Perkembangan

Awal tahun 60-an dimulainya model animasi dengan menampilkan simulasi efek fisik. 1961: Edward Zajac menyajikan suatu model simulasi satelit dengan menggunakan teknologi Grafik Komputer. 1963 : -ditermukan Sutherland (MIT) -Sketchpad (manipulasi langsung, CAD) -Alat untuk menampilkan Calligraphic (vector) -Mouse oleh Douglas Englebert 1968 : ditemukan Evans & Sutherland. 1969 : Journal SIGGRAPH pertama kali diterbitkan 1970: Pierre Beezier mengembangkan kurva Beezier. 1971: ditemukan Gouraud Shading, 1972: ditayangkannya filmWestworld, sebagai film pertama yang menggunakan animasi komputer. 1974: Ed Catmull mengembangkan z-buffer (Utah). Komputer animasi pendek, Hunger:Keyframe animation and morphing 1976: Jim Blinn mengembangkan texture dan bump mapping. 1977: Film terkenal Star Wars menggunakan grafik komputer 1979: Turner Whitted mengembangkan algoritma ray tracing,untuk pesawat Death Star. Pertengahan tahun 70-an hingga 80-an: Pengembangan Quest for realism radiosity sebagai main-stream aplikasi realtime. 1982: Pengembangan teknologi grafik komputer untuk menampilkan partikel. 1984: Grafik Komputer digunakan untuk menggantikan model fisik pada film The Last Star Fighter. 1986: Pertama kalinya Film hasil produksi grafik komputer dijadikan sebagai nominasi dalam Academy Award: Luxo Jr. (Pixar). 1989: Film Tin Toy (Pixar) memenangkan Academy Award. 1995: Diproduksi fillm Toy Story (Pixar dan Disney) sebagai film3D animasi panjang pertama

Akhir tahun 90-an, ditemukannya teknologi visualisasi interaktif untuk ilmu pengetahuan dan kedokteran, artistic rendering, image based rendering, path tracing, photon maps, dll. Tahun 2000 ditemukannya teknologi perangkat keras untuk real-time photorealistic rendering.

Revolusi Lingkungan

Komputasi Bentuk Baru

(1990-2003)

Multimedia: sinkronisasi teks dan grafik dengan suara dan video. Hypermedia: multimedia dengan hypertextual link disebut juga Interactive Multimedia) Digital Convergence : penggabungan televisi digital dan komputasi terdistribusi, konsumen elektronik: set-top computer (contoh Interactive TV, Video-On-Demand) Internet dan perangkat pendukungnya Komputasi Tertanam (Embedded) (perangkat pendukung informasi, Personal Digital Assistants) Komputasi Ubiquitous/pervasive/invisible/nomadic, active badgesa la Xerox PARC, dengan beratus-ratus peralatan pada tiap orang, adalah mimpi yang ingin diwujudkan.

Komputasi Bentuk Baru Virtual Reality (VR) Semi Immersive VRAugmented VR (via video see-through optics) fully immersive VR(via Head-mounted Displays, Cave) Use feet for navigation, freeing hands for other uses Barco, Immersadesk GMDsResponsive workbenchElumensVisionStationVideo or optics superimposes computer-generated data on real world

Teknologi Baru Interaktif

Perangkat interaksi tidak terlalu mahal dari lab.riset ke tempat pasar Pembuatan grafik 2D dan 3D tidak membutuhkan waktu yang panjang. 3D (dengan variasi waktu, 4D) menjadi suatu ilustrasi iteraktif seperti interactive clip art/clip models yang akan segera beredar Anak-anak menggunakan komputer grafik sebagai console dari games : VR games dan petualangan (contoh : Aladdin, Pirates of the Caribbean, LBEs) dengan HMD and force-feedback input devices

Bentuk Baru User-Interface

3D Widgets; gestures-based UI (Browns Sketch); tuntutan VR terhadap teknologi baru interaksi Interface Sosial Agents/knowbots kendali tidak langsung

Kekuatan-Pemrosesan yang Murah Chips sebagai Kunci Subsistem Grafik

Keuntungan -Hukum Moore harga/performance meningkat 2x setiap 18 bulan untuk setiap penggandaan jumlah transistor. Teknologi bergerak secara eksponensial kecuali pertumbuhan www.

CPU Komputasi 64-bit masuk ke dalam mainstream Server: Intel Itanium, AMD Opteron Consumer: IBM G5, AMD Athlon64 AMD Athlon MP Intel Xeon Sun UltraSPARC III

Hewlett Packard PA-RISC IBM POWER4 Graphics subsystems SGI, Sun, HP, Evans & Sutherland masih memiliki ceruk yang selektif, meskipun PC cards menguasai pasar bawah dan menengah (nVidia GeForce3, ATIs Radeon 9000 line, 3DLabsWildcat) Spesifik Graphics Hardware (nVidia GeForceFX, ATI Radeon 9800) memasuki tahap baru dukungan grafik main processor graphics (Intel MMX, AMD 3DNow!)

2. TEKNOLOGI DISPLAY

Cathode Ray Tubes (CRT)

Display yang umum digunakan Mengosongkan tabung kaca Menggunakan voltase tinggi Pemanasan elemen (filament) Elektron ditarik ke kutub positif yang berfokus pada silinder Pembelokan papan vertikal dan horisontal Berkas cahaya membentur fosfor yang menyelimuti bagian atas tabung.

Vector Display Awal komputer display Kendali X,Y dengan vetikal/horisontal papan voltaseSering digunakan intensitas sebagai Z

Raster DisplayRaster: array segiempat berisi titik/ dot Pixel: satu dot atau picture elemen dari raster Scan line: baris dari pixelTV B/W : suatu oscilloscope dengan pola scan yang tetap : kiri ke kanan, atas ke bawah Untuk menggambar pada screen, komputer membutuhkan sinkronisasi dengan pola scanning dari raster.Diperlukan memori khusus untuk buffer citra dengan scan out sinkronouske raster yang disebut framebuffer .

Raster Display : CRT ColorMembutuhkan pabrikasi dengan tingkat ketelitian geometri yang tinggiMenggunakan pola warna fosfor (merah, hijau, biru) : Delta electron gun arrangementIn-line electron gun arrangement

Keuntungan CRT Tampilannya solid Biayanya relatif murah Terang, tampilan mengeluarkan sinar

Kekurangan CRT Ukuran array memori untuk screen cukup besar Discrete sampling (pixel) Ukurannya terbatas hingga 40 Bulky Awal teknologi televisi Resolusi tinggi Membutuhkan sinkronisasi antara signal video dan sinar elektron vertikal sync pulse Awal layar komputer Menghindari sinkronisasi dengan menggunakan algoritma vector flicker dan refresh menjadi problem

Liquid Crystal Display (LCD)

LCDs: molekul organik, organic molecules, berbentuk kristal, yang mencair pada keadaan panas. Anyaman kristal mempolarisasi cahaya pada 90. LCD bereaksi sebagai katup cahaya, tidak mengeluarkan cahaya dan tergantung pada cahaya eksternal. source. Laptop screen backlit transmissive display Palm Pilot/Game Boy reflective display

Plasma

Memiliki prinsip yang kurang lebih sama dengan lampu neon Kapsul berisi gas yang digerakkan oleh medan listrik menghasilkan sinar UV UV menggerakkan phosphor Phosphor menghasilkan beberapa warna Keuntungan :

Sudut pandangnya lebar Baik untuk format tampilan besar Tingkat terangnya cukup baik KerugianmahalPixelnya lebar (~1 mm vs. ~0.2 mm) Fosfor berangsur-angsur berkurang Dibandingkan dengan CRT kurang terang, membutuhkan lebih banyak listrik.

DMP/DLP

Digital Micromirror Devices (projectors) atau Digital Light Processing Perangkat Microelectromechanical (MEM), difabrikasi dengan teknik VLSI. DMD adalah digital pixel sebenarnya Beragam tingkat keabuan dengan panjang pulse modulasi Warna : multiple chips, atau color-wheel Resolusinya besar Sangat terang Flicker problems

3. KONSEP DASAR

Kerangka Grafik Komputer Interaktif

Graphics library/package (contoh:OpenGL) adalah perantara aplikasi dan display hardware (Graphics System) Application program memetakan objek aplikasi ke tampilan/citra dengan memanggil graphicslibrary Hasil dari interaksi user menghasilkan/modifikasi citra Citra merupakan hasil akhir dari sintesa, disain, manufaktur, visualisasi dll.

Pemodelan Geometris Transformasi dari suatu konsep (atau suatu benda nyata) ke suatu model geometris yang bisa ditampilkan pada suatu komputer : Shape/bentuk Posisi Orientasi (cara pandang) Surface Properties / Ciri-ciri Permukaan (warna, tekstur) Volumetric Properties / Ciri-ciri volumetric (ketebalan/pejal, penyebaran cahaya) Lights/cahaya (tingkat terang, jenis warna) Dan lain-lain

Pemodelan Geometris yang lebih rumit : Jala-Jala segi banyak: suatu koleksi yang besar dari segi bersudut banyak, dihubungkan satu sama lain. Bentuk permukaan bebas: menggunakan fungsi polynomial tingkat rendah. membangun suatu bentuk dengan menerapkan operasi boolean pada bentuk yang primitif.

Elemen-elemen Pembentuk Grafik: GEOMETRI

Pemrosesan Citra untuk Ditampilkan di Layar

Hardware display : Vektor

Hardware display : Vektor

Elemen-elemen Pembentuk Grafik:

Warna Sistem Visual Manusia

Pembentukan Citra oleh

Sensor Mata

Intensitas cahaya ditangkap oleh diagram iris dan diteruskan ke bagian retina mata. Bayangan obyek pada retina mata dibentuk dengan mengikuti konsep sistem optik dimana fokus lensa terletak antara retina dan lensa mata. Mata dan syaraf otak dapat menginterpretasi bayangan yang merupakan obyek pada posisi terbalik.

Sistem visual manusia

Fovea di bagian retina terdiri dari dua jenis receptor: Sejumlah cone receptor, sensitif terhadap warna, visi cone disebut photocopic vision atau bright light vision Sejumlah rod receptor, memberikan gambar keseluruhan pandangan dan sensitif terhadap iluminasi tingkat rendah, visi rod disebutscotopic vision atau dim-light vision Blind Spot adalah bagian retina yang tidak mengandung receptor sehingga tidak dapat menerima dan menginterpretasi informasi Subjective brightness Merupakan tingkat kecemerlangan yang dapat ditangkap sistem visual manusia; Merupakan fungsi logaritmik dari intensitascahaya yang masuk ke mata manusia; Mempunyai daerah intensitas yang bergerak dari ambang scotopic (redup) ke photocopic (terang). Brightness adaption Merupakan fenomena penyesuaian mata manusia dalam membedakan gradasi tingkat kecemerlangan; Batas daerah tingkat kecemerlangan yang mampu dibedakan secara sekaligus oleh mata manusia lebih kecil dibandingkan dengan daerah tingkat kecemerlangan sebenarnya.

Black

Gray

White

Brightness Resolution

Kubus Warna RGB

-Sistem Koordinat dengan R,G, B sebagai axes.

Model Warna CMY

-Sistem Koordinat dengan C, M, Y sebagai axes; banyak digunakan untuk menggambarkan warna pada perangkat output hard-copy -Grayscaleaxis runs from (0,0,0) to (1,1,1). -Color: prosessubstractive.

Koordinat Sistem :

4. GEOMETRI PRIMITIVE MENGGAMBAR GARIS

Garis adalah kumpulan titik-titik yang tersusun sedemiki-an rupa sehingga memiliki pangkal dan ujung. Suatu titik pada layar terletak pada posisi (x,y), untuk menggambarkannya plot suatu pixel dengan posisi yang berkesesuaian. Contoh program :Setpixel (x,y)

Penampilan garis pada layar komputer dibedakan berdasarkan

Resolusi-nya.Resolusi : keadaan pixel yang terdapat pada suatu area tertentu Contoh : Resolusi 640x480, berarti pada layar kompuer terdapat 640 pixel per-kolom dan 480 pixel per-baris.Resolusi dapat pula dibedakan menjadi kasar, medium dan halus.(x, y)(x, y) Low Resolution High Resolution

Untuk menggambarkan garis seperti gambar di atas, diperlukan pixel aktif.

Parameter pixel address yang membentuk garis pada layar adalah :

Untuk menampilkan atau menggambarkan garis pada layar dibutuhkan minimal 2 titik (endpoint), yaitu titik awal dan akhir. Awal garis dimulai dengan titik atau pixel pertama, P1 diikuti titik kedua, P2. Untuk mendapatkan titik-titik selanjutnya sampai ke Pn perlu dilakukan inkrementasi atas nilai koordinat sumbu X dan Y pada titik sebelumnya.

Perhitungan inkrementasi untuk masing-masing sumbu adalah berbeda : Persamaan Umum Garis : y = mx +c

Garis Horisontal Garis yang membentang secara paralel dengan sumbu X dengan asumsi titik P1 pada koordinat X1 lebih kecil daripada X2 dari P2, sedangkan Y1 dan Y2 konstant Algoritma: 1.Menentukan titik awal (P1) dan titik akhir (P2) 2.Periksa posisi sumbu (koordinat)Jika titik ahir < titik awal,Lakukan inkrementasi sumbu X dati titik awal sampai titik akhirJika tidak, makaLakukan dekrementasi sumbu X dati titik awal sampai titik akhir 3.Tampilkan garis menggunakan parameter koordinat yang telah dihitung.

Garis Vertikal Garis yang membentang secara paralel dengan sumbu Y dengan asumsi titik P1 pada koordinat Y1 lebih kecil daripada Y2 dari P2, sedangkan X1 dan X2 konstant Algoritma: 1.Menentukan titik awal (P1) dan titik akhir (P2) 2.Periksa posisi sumbu (koordinat)Jika titik ahir < titik awal,Lakukan inkrementasi sumbu Y dati titik awal sampai titik akhirJika tidak, makaLakukan dekrementasi sumbu Y dati titik awal sampai titik akhir 3.Tampilkan garis menggunakan parameter koordinat yang telah dihitung.

Garis Diagonal Garis yang membentang secara paralel 45 derajat dari sumbu X atau sumbu Y dengan asumsi titik awal P1 dengan koordinat X1 dan Y1 lebih kecil daripada X2 dan Y2 atau sebaliknya. Algoritma : 1.Menentukan titik awal (P1) dan titik akhir (P2) 2.Periksa posisi sumbu (koordinat)Jika titik ahir < titik awal,Lakukan inkrementasi sumbu X dan sumbut Y dati titik awal sampai titik akhirJika tidak, makaLakukan dekrementasi sumbu X dan sumbu Y dati titik awal sampai titik akhir 3.Tampilkan garis menggunakan parameter koordinat yang telah dihitung.

Garis Bebas (Simple Digital Differential Analyzer/DDA)

Garis yang membentang antara 2 titik, P1 dan P2, selalu membentuk sudut yangbesarnya sangat bervariasi. Sudut yang terbentuk menentukan kemiringan suatu garis atau disebut gradient/ slopatau disimbolkan dengan parameter m.

Jika titik-titik yang membetuk garis adalah :(x1,y1)dan (x2,y2) maka

Algoritma Bresenham Pixel selanjutnya ?

Algoritma Bresenham memilih titik terdekat dari actual path

Setiap sampling akan diinkrement menjadi 1 atau 0 Kondisi awal :Jikam < 1, maka m bernilai positif Bresenham melakukan inkremen 1 untuk x dan 0 atau 1 untuk y.

5. GEOMETRI PRIMITIVE MENGGAMBAR LINGKARAN

Persamaan umum LINGKARAN :

Dengan Contoh program menggambar lingkaran :

void circleSimple(int xCenter, int yCenter, int radius, Color c) { int x, y, r2; r2 = radius * radius; for (x = -radius; x <= radius; x++) { y = (int)(sqrt(r2 -x*x) + 0.5); setPixel(xCenter + x, yCenter + y, c); setPixel(xCenter + x, yCenter y, c); } }

Solusi :gabungkan keduanya sehingga didapat lingkaran simetris untuk x dan y.Cara ini disebut 2-way symmetry

4-way symmetry

void circle4Way(int xCenter, int yCenter, int radius, Color c) { int x, y, r2; setPixel(xCenter, yCenter + radius, c); setPixel(xCenter, yCenter radius, c); r2 = radius * radius; for (x = 1; x <= radius; x++) { y = (int)(sqrt(r2 -x*x) + 0.5); setPixel(xCenter + x, yCenter + y, c); setPixel(xCenter + x, yCenter y, c); setPixel(xCenter -x, yCenter + y, c); setPixel(xCenter -x, yCenter y, c); } }

8-way symmetry

void circle8Way(int xCenter, int yCenter, int radius, Color c) { int x, y, r2; setPixel(xCenter, yCenter + radius, c); setPixel(xCenter, yCenter radius, c); setPixel(xCenter + radius, yCenter, c); setPixel(xCenter -radius, yCenter, c); r2 = radius * radius; x = 1; y = (int)(sqrt(r2 1) + 0.5); while (x < y) { setPixel(xCenter + x, yCenter + y, c); setPixel(xCenter + x, yCenter y, c); setPixel(xCenter -x, yCenter + y, c); setPixel(xCenter -x, yCenter y, c); setPixel(xCenter + y, yCenter + x, c); setPixel(xCenter + y, yCenter x, c); setPixel(xCenter -y, yCenter + x, c); setPixel(xCenter -y, yCenter x, c); x += 1; y = (int)(sqrt(r2 x*x) + 0.5); } if (x == y) {

setPixel(xCenter + x, yCenter + y, c); setPixel(xCenter + x, yCenter y, c); setPixel(xCenter -x, yCenter + y, c); setPixel(xCenter -x, yCenter y, c); } }

Dengan memanfaatkan diagonal garis yang melewati pusat lingkaran, kita dapat menyusuri x yang koordinatnya telah diubah (pertukaran x dan y) secara serempak, sehingga y menjadi bagian dari lingkaranHasil.

Fungsi DisciminatorTelah diketahui bahwa :dan dapat ditulis sebagai suatu fungsi :Fungsi Discriminator :

Algoritma Titik Tengah Lingkaran(Midpoint Circle Algorithm) Bila diketahui suatu titik : (xk,yk), maka titik berikutnya apakah di(xk+1, yk), or (xk+1, yk-1) ?Misal titik tengahnya (midpoint) : (xk+1, yk) = 0.5Gunakan fungsi discriminator untuk mendapatkan :f(x,y) = x2+ y2r2 f(x,y) = x2+ y2-r2f(x,y) < 0 untuk titik di dalam lingkaranf(x,y) > 0 untuk titik di luar lingkaranf(x,y) = 0 untuk titik yang terletak pada lingkaranxkykxk+1xk+2yk1yk-1ykCircle pathxkMidpoint

Algoritma Titik Tengah Lingkaran

Dengan menggunakan midpointdi antara 2 kandidat pixel, kita dapat mencari Parameter Keputusan, Pk, untuk mendapatkan plot pixel berikutnya : Pk = f(xk+ 1, yk (xk+ 1)2+ (yk )= )2r2Pk : -ve, titik tengah berada di dalam lingkaran, plot = (xk+1 , yk),Update P: f(x+1, y) = (x + 1)2+ y2r2f(x+1, y) = (x2+ 2x + 1) + y2r2f(x+1, y) = f(x, y) + 2x +1Inkremen : P + = 2x + 1+ ve, titik tengah berada di luar lingkaran, plot = (xk+1 , yk-1)Update P: f(x+1, y-1) = (x + 1)2+ (y-1)2r2f(x+1, y-1) = (x2+ 2x + 1) + (y22y+2-r2)f(x+1, y-1) = f(x, y) + 2x + 2y -1Inkremen : P + = 2x 2y + 2Pk+1 PkPk+1 Pk

Kita dapat memiliki beragam titik awal lingkaran, namun diasumsikan inkremen dimulai dari (0,r), sehingga P0dapat dihitung :p0= f(1, r0.5) = 12+ (r 0.5)2r2p0= f(1, r0.5) = 1 + (r2r + 0.25) r2p0= 1.25 r

Algoritma Titik Tengah (MidPoint) selengkapnya : 1.Input radius, r, and titik tengah lingkaran (xc, yc). Titik awal di-plot pada (0, r) yang merupakan titik tengah lingkaran asli, 2.Hitung nilai awal Parameter Keputusan : 3.Pada xk, dimulai dengan k = 0, uji nilai pk:Jika pk< 0, maka titik selanjutnya (xk+1, yk) danUntuk hal lain, titik berikutnya (xk+1, yk-1) dan 4.Tentukan titik simetri pada 7 octant lainnya. 5.Ambil titik aktual untuk titik tengah lingkaran pada (xc, yc) dimana (x + xc, y + yc). 6.Ulangi langkah 3 sampai 5 hingga tercapai x y.rp=450211++=++kkkxpp21211++++=kkkyxpp,1.1+k

void circleMidpoint(int xCenter, int yCenter, int radius, Color c) { int x = 0; int y = radius; int p = (5 -radius*4)/4; circlePoints(xCenter, yCenter, x, y, c); while (x < y) { x++; if (p < 0) { p += 2*x+1; } else { p += 2*(x-y+1); y--; } circlePoints(xCenter, yCenter, x, y, c); } } void circlePoints(int cx, int cy, int x, int y, Color c) { if (x == 0) { setPixel(cx, cy + y, c);

setPixel(cx, cy y, c); setPixel(cx + y, cy, c); setPixel(cx -y, cy, c); } else if (x == y) { setPixel(cx + x, cy + y, c); setPixel(cx -x, cy + y, c); setPixel(cx + x, cy y, c); setPixel(cx -x, cy y, c); } else if (x < y) { setPixel(cx + x, cy + y, c); setPixel(cx -x, cy + y, c); setPixel(cx + x, cy y, c); setPixel(cx -x, cy y, c); setPixel(cx + y, cy + x, c); setPixel(cx -y, cy + x, c); setPixel(cx + y, cy x, c); setPixel(cx -y, cy x, c); } }

6. TRANSFORMASI GEOMETRI 2 DIMENSI

Matriks dan Transformasi Geometri

Representasi umum suatu Matriks adalah :

dimana pada Matriks Mrc, r adalah kolom dan c baris. Suatu Vektor direpresentasikan sebagai matriks kolom :

Perkalian Matriks dan Vektor dapat digunakan untuk transformasi linier suatu vektor.

Suatu sekuens transformasi linier berkorespondensi dengan matriks korespondennya :

dimana, Vektor hasil di sisi kanan dipengaruhi matriks transformasi linier dan vektor awal.

Jadi.. Suatu Transformasi Linier : Memetakan suatu vektor ke vektor lain Menyimpan suatu kombinasi

6.1 TRANSLASI

Translasi adalah suatu pergerakan/perpindahan semua titik dari objek pada suatu jalur lurus sehingga menempati posisi baru .Jalur yang direpresentasikan oleh vektor disebut Translasi atau Vektor Geser .Pergeseran tersebut dapat ditulis :

Untuk merepresentasikan translasi dalam matriks 3x3 kita dapat menulisnya

6.2 ROTASI

Rotasi adalah mereposisi semua titik dari objek sepanjang jalur lingkaran dengan pusatnya pada titik pivot.

Untuk memudahkan perhitungan dapat digunakan matriks:

Dimana : -sin() dan cos() adalah fungsi linier dari , -xkombinasi linier dari x dan y -ykombinasi linier dari x and y

6.3 SKALA

Penskalaan koordinat dimaksudkan untuk menggandakan setiap komponen yang ada pada objek secara skalar. Keseragaman penskalaan berarti skalar yang digunakan sama untuk semua komponen objek. Ketidakseragaman penskalaan berarti skalar yang digunakan pada objek adalah tidak sama.

6.4 Transformasi Gabungan

Kita dapat merepresentasikan 3 transformasi dalam sebuah matriks tunggal. Operasi yang dilakukan adalah perkalian matriks Tidak ada penanganan khusus ketika mentransformasikan suatu titik : matriks vector Transformasi gabungan : matriks matriks

Tranformasi Gabungan : Rotasi sebagai titik perubahan : translasi rotasi-translai Skala sebgai titik perubahan : translasi skala-translasi Perubahan sistem koordinat : translasi rotasi skala

Langkah yang dilakukan : 1.Urutkan matriks secara benar sesuai dengan transformasi yang akan dilakukan. 2.Kalikan matriks secara bersamaan 3.Simpan matriks hasil perkalian tersebut (2) 4.Kalikan matriks dengan vektor dari verteks 5.Hasilnya, semua verteks akan ter-transformasi dengan satu perkalian matriks.

7. CLIPPING

7.1 Definisi

Kliping adalah pemotongan suatu objek dengan bentuk tertentu

Alasan dilakukannya kliping : 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.

Bentuk jendela kliping : Segi empat, segi tiga Lingkaran atau ellips Polygon dan lain-lain.

7.2 Kliping Titik

Untuk menentukan letak suatu titik di dalam jendela kliping, digunakan ketentuan : Xmin OX OXmax dan Ymin OY OYmax

Pada gambar di atas, terdapat sebuah jendela kliping dengan parameter sebagai berikut : Xmin -batas minimum sumbu X Xmax -batas maksimum sumbu x Ymin -batas minimum sumbu Y Ymax -batas maksimum sumbu Y

7.3 Kliping 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 (P1P2), sedangkan garis yang terletak di luar jendela dibuat tidak tampak (P1 P1dan 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 dnegan bagian atas, bawah, kiri atau kanan Vollpartial: Terpotong penuh oleh jendela kliping. Garis melintasi jendela kliping

Algoritma Umum Kliping

7.4 Kliping Poligon Sutherland-Hodgeman

Kliping poligon lebih kompleks dibandingkan kliping garis : Input: polygon Output: poligon asli, poligon baru, atau lainnya

Contoh : Apa yang terjadi apabila pada suatu segitiga dilakukan kliping ? Kemungkinan hasilnya

Ide Dasar Kliping Poligon :

Perhatikan setiap edge pada setiap arah pandang. Klip/potong poligon dengan persamaan edge. Lakukan pada semua edge, hingga poligon tersebut secara penuh terklip/terpotong.

8. DUNIA 3 DIMENSI

Apa yang membedakan 2 dimensi dengan 3 dimensi ? 2 Dimensi : Tinggi dan Lebar 3 Dimensi : Tinggi, Lebar dan Kedalaman

Kedalaman adalah jarak antara pemirsa (viewer) terhadap benda yang dia lihat

Bagaimana manusia memperoleh kesan kedalaman ? Manusia mempunyai dua mata. Kedua mata manusia mempunyai selisih sudut pandang 120o Perbedaan sudut pandang tersebut membuat masing-masing mata memperoleh gambar yang berbeda untuk objek yang sama. Perbedaan gambar diproses oleh otak sehingga kita memperoleh kesan 'kedalaman' atau jarak terhadap benda.

Percobaan : Tutup salah satu mata anda selama kurang lebih 2 hari dan anda akan mengetahui bahwa anda tidak dapat menentukan dengan mudah jarak antara anda dengan benda yang anda lihat

8.1 Sifat-sifat 3 Dimensi Setiap titik dalam 3 dimensi ditentukan oleh tiga posisi : x : jarak titik tersebut terhadap sumbu x y : jarak titik tersebut terhadap sumbu y z : jarak titik tersebut terhadap sumbu z

Posisi sebuah titik dalam 3 dimensi dituliskan dalam bentuk (x,y,z)

Benda 3 dimensi dan computer Komputer dapat digunakan untuk mengolah benda tiga dimensi. Ada tiga persoalan dalam mengolah benda tiga dimensi menggunakan komputer : Pembuatan lokasi titik 3D Manipulasi titik 3D Transformasi titik 3D menjadi 2D

8.2 Pembuatan lokasi 3 Dimensi Proses yang digunakan untuk menghasilkan lokasi titik-titik 3D yang menunjukkan bentuk dari benda 3D Ada 3 macam proses untuk menghasilkan lokasi titik 3D : Penentuan langsung menggunakan peralatan seperti mouse3D, scanner3D berbagai peralatan lain Menggunakan parametric surface Menggunakan prosedur khusus seperti extrude dan surface of revolution.

Scanner 3D Scanner 3D merupakan peralatan yang digunakan untuk menghasilkan lokasi titik-titik 3D secara langsung dengan menunjuk lokasi titik tersebut. Contoh peralatan : mouse, trackball, laser scanner dan sebagainya.

Parametric surface

Digunakan untuk menghasilkan benda-benda yang dapat direpresentasikan dalam rumus matematika seperti : bola, donut, tabung, cone dan sebagainya

Extrude

Merupakan prosedur menghasilkan lokasi titik 3D dengan menarik titik-titik 2 dimensi ke satu arah tertentu.

Proses Komputer 3D

9. KONSEP 3D

9.1 Alur Proses Grafik Komputer 3D

a. Modeling Transformations Trival Rejection Penetapan ruang model. Transformasi model adalah menempatkan model pada sistem koordinat umum yang disebut ruang dunia (world space). Semua objek, sumber cahaya dan sudut pandang pengamat, berada pada ruang dunia. Penolakan dilakukan terhadap bagian-bagian yang tidak perlu dalam upaya optimisasi.

b. Illumination Cahaya menyebabkan suatu objek dapat terlihat Warna objek ditentukan dari properti material objek itu sendiri dan sumber cahaya pada tampilan tersebut. Algoritma Illuminasi tergantung pada model bayangan (shading model) dan model permukaan (surface model).

c. Viewing Transformation Transformasi pengamatan adalah bentuk lain dari koordinat sistem Memetakan titik-titik yang ada pada ruang dunia ke ruang mata Posisi pengamat ditransformasikan ke asalnya Arah pengamatan diorientasikan sepanjang axis Mendefinisikan pengamtan volume.

d. Projection Selanjutnya dilakukan kliping pada tampilan objek dalam gambaran volume 3D yang disebut viewing frustum Pada tahap ini dilakukan eliminasi total pada objek (dan bagian objek) yang tidak visible bagi citra.

Objek selanjutnya diproyeksikan ke dalam 2D Transformasikan dari ruang mata ke ruang tampilan (screen space)

e. Display Transformasi akhir, dari ruang koordinat tampilan (screen-space coordinate) ke viewport coordinate Tahap rasterisasi melakukan scanobjek dan mengkonversinya ke dalam pixel. Melakukan interpolasi parameter Melakukan beragam operasi 2D

9.2 Model 3D

Model : representasi objek atau sistem Pemodelan : kreasi dan manipulasi representasi objek atau sistem Model -> Render -> Display Tipe ModelModel Geometri Penggunaan entitas geometri untuk menggambarkan objek Contoh : garis, poligon, kurva, dllModel Descriptive Representasi matematik atau konseptual Contoh : persamaan dan deskripsi atribut Representasi Pemodelan Constructive Solid Geometry (CSG) dan Hierarchical Modelling. Hierarchical Modelling : model grafis yang disusun dari sejumlah model individual. Hierarchical model melibatkan proses transformasi.

9.3 Representasi

a. Representasi Objek 3D Representasi Batas Representasi Permukaan Facet poligon, permukaan spline dikonversi ke dalam bentuk jaring poligon Representasi Solid (Space partitioning) Representasi objek melalui sekumpulan set padat (kubus).

b. Suatu Objek tersusun dari kumpulan poligon (facet).

c. Setiap permukaan dari poligon yang membentuk objek akan memuncukan garis Normal, yaitu vektor tegak lurus pada permukaan. Fungsinya untuk bayangan

9.4 Pengamatan 3D Bagaimana menetapkan . Dari sudut mana kita memandang objek tersebut ? Dimana kita melihatnya objek tersebut ? Dengan cara seperti apa kita melihat objek tersebut ?

(Pengamatan 3D menyerupai proses pengambilan gambar melalui fotografi !)

Analogi Kamera dan Transformasi :

Transformasi Proyeksi Menyesuaikan lensa pada kamera Sudut pandang Paralel atau Proyeksi Transformasi PandanganTripod : mendefinisikan posisi dan orientasi volume pandangan di dunia nyata Transformasi Model, menggerakan mode Transformasi ViewportMemperbesar atau memperkecil fisik foto.

9.5 Hidden Surface Removal

Bagaimana cara kita menampilkan objek yang saling bertumpang tindih sehingga pada akhirnya hanya bagian depan dengan pixel yang berkontribusi saja yang tampil ? Dapatkah kita melanjutkannya (memperbesar/memperkecil area yang bertumpang tindih) dan menghindari rasterisasi yang tidak diperlukan ? Dapatkah kita menangani objek yang transparant dan semi-transparant ?

view area fully visible area partially visible area area not visible at all

10. IILUMINATION, SHADING, DAN TEKSTURE

10.1 Illuminasi

Illuminasi : Perpindahan energi(khusunya luminous flux dari cahaya yang terlihat) dari sumber cahaya ke permukaan dan titik-titik. Bagaimana kita memodelkan cahaya/sinar ? Bagaimana kita memodelkan pantulan dari permukaan yang dikenai cahaya

Komponen Illuminasi :

Sumber Cahaya Spektrum Daya Pancar/ Emittance Spectrum (Warna) Geometry (posisi dan arah) Pelemahan Arah /Directional Attenuation

Properti Permukaan/Surface Properties Spektrum Pantulan /Reflectance Spectrum (Warna) untuk beragam aspek illuminasi Geometry (posisi, orientasi,dan struktur mikro) Penyerapan

10.2 Bayangan

Bayangan adalah proses penentuan warna dari semua pixel yang menutupi permukaan menggunakan model illuminasi. Metodenya melliputi :

Penentuan permukaan tampak pada setiap pixel Perhitungan normal pada permukaan Mengevaluasi intensitas cahaya dan warna menggunakan model illuminasi.

Metode pembuatan bayangan cukup mahal, untuk membuatnya lebih efisien dilakukan melalui kustomisasi untuk merepresentasikan permukaan yang spesifik.

Jaring poligon secara umum sering digunakan untuk merepresentasikan permukaan yang kompleks.

Informasi geometri yang tersedia hanyalah vertice dari poligon

Interpolasi dari model bayangan dapat digunakan untuk meningkatkan substansi secara lebih efisien.

Ragam Teknik Bayangan

10.3 Tekstur

Teknik menampilkan permukaan benda secara detil tanpa menambah kerumitan secara geometri (jumlah bentuk geometris) disebut Texturing : Metoda untuk mengisi permukaan benda dengan citra 2 dimensi (texture map) Membungkus permukaan benda dengan pola gambar yang diperoleh dari file citra (image) Setiap titik di pola gambar dipetakan ke titik di permukaan benda

Ada beberapa macam teknik pemetaan texture :

Bump Mapping Bump Mapping digunakan untuk menampilkan permukaan benda yang tidak rata atau normal yang bervariasi pada permukaan benda

Procedural Texture Mapping 1. Texture dihasilkan dari prosedur / modul program dan bukan dari file gambar (image file). 2. Digunakan untuk melakukan simulasi permukaan yang bergerak seperti air dan awan

Displacement Mapping Menampilkan permukaan benda yang seolah-olah dipahat

11. PENGOLAHAN CITRA

11.1 Definisi dan Tujuan Pengolahan Citra

Pengolahan Citra / Image Processing : Proses memperbaiki kualitas citra agar mudah diinterpretasi oleh manusia atau komputer Teknik pengolahan citra dengan mentrasfor-masikan citra menjadi citra lain, contoh : pemampatan citra (image compression) Pengolahan citra merupakan proses awal (preprocessing) dari komputer visi.

Pengenalan pola (pattern recognition) : Pengelompokkan data numerik dan simbolik (termasuk citra) secara otomatis oleh komputer agar suatu objek dalam citra dapat dikenali dan diinterpreasi. Pengenalan pola adalah tahapan selanjutnya atau analisis dari pengolahan citra

Proses Umum Komputer Visi (Pengolahan Citra dan Pengenalan Pola)

Hirarki Pemorsesan

Contoh Algoritma

Preprocessing

Noise removal Contrast enhacement

Lowest-level feature exctraction

Edge detection Texture detection

Intermediate-level feature extraction

Connectivity Pattern matching Boundary coding

High-level scene interpretaion via images Model-base recognition

11.2 Operasi Pengolahan Citra

1. Perbaikan kualitas citra (image enhacement)

Tujuan : memperbaiki kualitas citra dengan memanipulasi parameter-parameter citra. Operasi perbaikan citra : Perbaikan kontras gelap/terang Perbaikan tepian objek (edge enhancement) Penajaman (sharpening) Pemberian warna semu(pseudocoloring) Penapisan derau (noise filtering)

2. Pemugaran citra (image restoration)

Tujuan : menghilangkan cacat pada citra. Perbedaannya dengan perbaikan citra : penyebab degradasi citra diketahui. Operasi pemugaran citra : Penghilangan kesamaran (deblurring) Penghilangan derau (noise)

3. Pemampatan citra (image compression)

Tujuan : citra direpresentasikan dalam bentuk lebih kompak, sehingga keperluan memori lebih sedikit namun dengan tetap mempertahankan kualitas gambar (misal dari .BMP menjadi .JPG)

4. Segmentasi citra (image segmentation)

Tujuan : memecah suatu citra ke dalam beberapa segmen dengan suatu kriteria tertentu. Berkaitan erat dengan pengenalan pola.

5. Pengorakan citra (image analysis)

Tujuan : menghitung besaran kuantitatif dari citra untuk menghasilkan deskripsinya. Diperlukan untuk melokalisasi objek yang diinginkan dari sekelilingnya Operasi pengorakan citra : Pendeteksian tepi objek (edge detection) Ekstraksi batas (boundary) Represenasi daerah (region)

6. Rekonstruksi citra (Image recontruction)

Tujuan : membentuk ulang objek dari beberapa citra hasil proyeksi.

11. 3 Aplikasi Pengolahan Citra dan Pengenalan Pola

Bidang Perdagangan Pembacaan bar codepada barang di supermarket Pengenalan huruf/angka pada formulir secara otomatis

Bidang Militer Mengenali peluru kendali melalui sensor visual Mengidentifikasi jenis pesawat musuh

Bidang Kedokteran Deteksi kanker dengan sinar X Rekonstruksi foto janin hasil USG

Bidang Biologi Penenalan kromosom melalui gambar mikroskopik

Komunikasi Data Pemampatan citra transmisi

Hiburan Pemampatan video MPEG

Robotika Visual guided autonomous navigation

Pemetaan Klasifikasi penggunaan tanah melalui foto udara

Geologi Mengenali jenis bebatuan melalui foto udara

Hukum Pengenalan sidik jari Pengenalan foto narapidana

11. 4 Pembentukan Citra

Citra ada 2 macam :

Citra Kontinu Dihasilkan dari sistem optik yang menerima sinyal analog. Contoh : mata manusia, kamera analog

Citra Diskrit / Citra Digital Dihasilkan melalui proses digitalisasi terhadap citra kontinu. Contoh : kamera digital, scanner

12. MODEL CITRA

Citra merupakan fungsi kontinu dari intensitas cahaya pada bidang 2D

Secara matematis fungsi intensitas cahaya pada bidang 2D disimbolkan dengan f(x,y), dimana : (x,y): koordinat pada bidang 2D f(x,y) : intensitas cahaya (brightness)pada titik (x,y)

Karena cahaya merupakan bentuk energi, maka intensitas cahaya bernilai antara 0 sampai tidak berhingga, 0 f(x,y) f(x,y) = i(x,y) . r(x,y)

Dimana : i(x,y) : jumlah cahaya yang berasal dari sumbernya (illumination)yang nilainya 0 i(x,y) Nilai i(x,y)ditentukan oleh sumber cahaya r(x,y): derajat kemampuan obyek memantulkan cahaya(reflection) yang nilainya 0 r(x,y) 1 Nilai r(x,y)ditentukan oleh karakteristik obyek di dalam citra. r(x,y)=0 mengindikasikan penyerapan total. r(x,y)=1 mengindikasikan pemantulan total

Derajat Keabuan (grey level): intensitas fcitra hitam-putih pada titik (x,y) Derajat keabuan bergerak dari hitam ke putih.

Skala keabuan memiliki rentang : lmin< f < lmaxatau [0,L], dimana intensitas 0 menyatakan hitam dan Lmenyatakan putih.

Contoh : citra hitam-putih dengan 256 level, artinya mempunyai skala abu-abu dari 0 sampai 255 atau [0,255], dalam hal ini nilai 0 menyatakan hitam dan 255

menyatakan putih, nilai antara 0 sampai 255 menyatakan warna keabuan yang terletak antara hitam dan putih.

Citra hitam-putih : citra monokrom (monochrome image) atau citra satu kanal (satu fungsi intensitas) Citra berwarna : citra spektral , karena warna pada citra disusun oleh tiga komponen warna RGB (Red-Green-Blue)

Intensitas suatu titik pada citra berwarna merupakan kombinasi dari intesitas : merah (fmerah(x,y)), merah (fhijau(x,y)) dan merah (fbiru(x,y)),

12.1 Digitalisasi Citra

Digitalisasi citra : representasi citra dari fungsi kontinu menjadi nilai-nilai diskrit, sehingga disebut Citra Digital Citra digital berbentuk empat persegipanjang dan dimensi ukurannya dinyatakan sebagai tinggi x lebar (lebar x panjang) Citra digital yang tingginya N, lebarnya Mdan memiliki Lderajat keabuan dapat dianggapa sebagai fungsi :0OxOMf(x,y) 0Oy ON0Of OL Citra digital yang berukuran N x Mlazimnya dinyatakan dengan matriks berukuran N baris dan M kolom, dan masing-masing elemen pada citra digital disebut pixel (picture element)f(x,y) Contoh : suatu citra berukuran 256 x 256 pixel dengan intensitas beragam pada tiap pixelnya, direpresentasikan secara numerik dengan matriks terdiri dari 256 baris dan 256 kolom.

12.2 Sampling

Sampling : digitalisasi spasial (x,y). Citra kontinu disampling pada grid-grid yang berbentuk bujursangkar (kisi-kisi arah horizontal dan vertikal).

Contoh : Sebuah citra berukuran 10x10 inchi dinyatakan dalam matriks yang berukuran 5 x 4 (5 baris 4 kolom). Tiap elemen citra lebarnya 2,5 inchi dan tingginya 2 inchi akan diisidengan sebuah nilai bergantung pada rata-rata intensitas cahaya pada area tersebut.

12.3 Diskrit Pembagian gambar menjadi ukuran tertentu menentukan RESOLUSI(derajat rincian yang dapat dilihat) spasial yang diperoleh. Semakin tinggi resolusinya semakin kecil ukuran pixel atau semakin halus gambar yang diperoleh karena informasi yang hilang semakin kecil.

12.4 Kuantisasi

Kuantisasi : pembagian skala keabuan (0,L) menjadi G level yang dinyatakan dengan suatu harga bilangan bulat (integer), biasanya G diambil perpangkatan dari 2.G = 2mdimana G : derajat keabuanm : bilangan bulat positifSkala

bitHitam dinyatakan dengan nilai derajat keabuan terendah, sedangkan putih dinyatakan dengan nilai derajat keabuan tertinggi, misalnya 15 untuk 16 level.Jumlah bit yang dibutuhkan untuk merepresentasikan nilai keabuanpixel disebut pixel depth. Sehingga citra dengan kedalaman 8 bit sering disebut citra-8 bit.Besarnya derajat keabuan yang digunakan untuk menentukan resolusi kecerahan dari citra yang diperoleh.Semakin banyak jumlah derajat keabuan (jumlah bit kuantisasinya makin banyak), semakin bagus gambar yang diperoleh karena kemenerusan derajat keabuan akan semakin tinggi sehingga mendekati citra aslinya.

12.5 Elemen Dasar Citra Digital

Kecerahan (Brightness) Kecerahan : intensitas cahaya rata-rata dari suatu area yang melingkupinya.

Kontras (Contrast) Kontras : sebaran terang (lightness)dan gelap (darkness)di dalam sebuah citra. Citra dengan kontras rendah komposisi citranya sebagian besar terang atau sebagian besar gelap.

Citra dengan kontras yang baik, komposisi gelap dan terangnya tersebar merata.

Kontur (Contour) Kontur : keadaan yang ditimbulkan oleh perubahan intensitas pada pixel-pixel tetangga, sehingga kita dapat mendeteksi tepi objek di dalam citra.

Warna (Color) Warna : persepsi yang dirasakan oleh sistem visual manusia terhadap panjang gelombang cahaya yang dipantulkan oleh objek. Warna-warna yang dapat ditangkap oleh mata manusia merupakan kombinasi cahaya dengan panjang berbeda. Kombinasi yang memberikan rentang warna paling lebar adalah red (R), green(G)dan blue (B).

Bentuk (Shape) Bentuk : properti intrinsik dari objek tiga dimensi, dengan pengertian bahwa bentuk merupakan properti intrinsik utama untuk visual manusia. Umumnya citra yang dibentuk oleh manusia merupakan 2D, sedangkan objek yang dilihat adalah 3D.

Tekstur (Texture) Tekstur : distribusi spasial dari derajat keabuan di dalam sekumpulan pixel-pixel yang bertetangga.

12.6 Elemen Sistem Pemrosesan Citra Digital

Digitizer(Digital Acqusition System) : sistem penamgkap citra digital yang melakukan penjelajahan citra dan mengkonversinya ke representasi numerik sebagai masukan bagi komputer digital. Hasil dari digitizer adalah matriks yang elemen-elemennya menyatakan nilai intensitas cahaya pada suatu titik.

Digitizer terdiri dari 3 komponen dasar : Sensor citra yang bekerja sebagai pengukur intensitas cahaya Perangkat penjelajah yang berfungsi merekam hasil pengukuran intensitas pada seluruh bagian citra Pengubah analog ke digital yang berfungsi melakukan sampling dankuantisasi.

Komputer digital,digunakan pada sistem pemroses citra, mampu melakukan berbagai fungsi pada citra digital resolusi tinggi.

Piranti Tampilan, peraga berfungsi mengkonversi matriks intensitas tinggi merepresentasikan citra ke tampilan yang dapat diinterpretasi oleh manusia.

Media penyimpanan, piranti yang mempunyai kapasitas memori besar sehingga gambar dapat disimpan secara permanen agar dapat diproses lagi pada waktu yang lain.

13. PELEMBUTAN CITRA

13.1 Pelembutan Citra

Proses pelembutan pada domain spasial dilakukan dengan mengganti nilai pixel dengan nilai rata-rata pixel tetangganya Tujuan: Menurunkan/menekan gangguan (noise) pada citra

Gangguan pada citra umumnya berupa variasi intensitas pixel yangtidak berkorelasi dengan pixel tetangganya Pixel yang terkena gangguan umumnya mempunyai frekuensi tinggi Pelembutan citra dilakukan dengan menekan komponen yang berfrekuensi tinggi dan membiarkan /meloloskan komponen yang berfrekuensi rendah Contoh : citra yang terkena gangguan spike2

13.2 Penajaman Citra

Tujuan Memperjelas tepi objek pada citra

Kebalikan pelembutan citra Metodenya menggunakan Penapis Lolos Tinggi (HighPass Filter / HPF) Sering disebut sebagai PenajamanTepi (edge sharpening)

13.3 Pemampatan

1. Pemampatan Citra dikodekan Representasi Memory menjadi kecil

Menerapkan proses Compress dan Decompress Aplikasi : Pengiriman dan Penyimpanan Data

2. Kriteria Pemampatan Waktu pemampatan Kebutuhan memory Kualitas pemampatan (fidelity)

3. Jenis Pemampatan Pendekatan Statistik Melihat frekuensi kemunculan derajat keabuan pixel

Pendekatan Ruang Melihat hubungan antar pixel yang mempunyai derajat keabuan yang sama pada wilayah dalam citra

Pendekatan Kuantisasi Mengurangi jumlah derajat keabuan yang tersedia

Pendekatan Fraktal Kemiripan bagian citra dieksploitasi dengan matriks transformasi

4. Klasifikasi Metode Pemampatan Metode Lossless menghasilkan citra yang sama dengan citra semula Tidak ada informasi yang hilang Nisbah/ratio pemampatan sangat rendah Contoh, metode Huffman

Metode lossy menghasilkan citra yang hampir sama dengan citra semula

Ada informasi yang hilang akibat pemampatan tapi masih bisa ditolerir oleh persepsi mata Nisbah/ratio pemampatan tinggi Contoh, JPEG dan FraktalSebelumSesudah5

14. ANIMASI

14.1 Dasar Animasi

Animasi adalah teknik menggerakan serangkaian "objek". Efek bergerak dari "objek" diperoleh dengan menggantikan sejumlah gambar "objek" secara cepat sehingga mata viewer tidak sempat melihat pergantian tersebut.

Kehalusan gerakan objek ditentukan oleh seberapa banyak gambar yang menunjukkan perubahan gerakan.

Semakin banyak gambar perubahan gerakan maka gerakan tersebut akan nampak semakin halus.

Pada awalnya setiap perubahan gerakan digambar menggunakan tangan.

Hal tersebut tentunya membutuhkan keahlian khusus.

Ada dua jenis animasi 2 dimensi yang dapat dilakukan dengan menggunakan komputer : Sprite In Between (Tweening)

Animasi Spite Animasi sprite tidak berbeda dengan yang dilakukan oleh animator manual. Setiap perubahan gerakan disimpan sebagai file gambar terpisah dan kemudian file-file tersebut ditampilkan secara cepat. Agar animasi sprite menghasilkan gerakan yang halus maka diperlukan cukup banyak file gambar. Algorithma dasar animasi sprite : Img = array berisi file gambar dari index = 1 sampai n lakukan gambar = Img [index] tampilkan gambar tunggu beberapa detik hapus gambar Animasi sprite cocok digunakan untuk situasi dimana gerakan relatif tidak berubah. Aplikasi yang menggunakan teknik animasi sprite tidak interaktif karena gerakan "objek" sudah ditentukan terlebih dahulu.

In Between (Tweening) Animasi In Betweening adalah animasi yang menghitung perubahan lokasi dari titik-titik di "objek".

14.2 Animasi Komputer

Animasi merupakan efek visual dimana pemirsa melihat 'objek' bergerak meskipun sebenarnya 'objek' tersebut diam. Animasi merupakan efek dari kondisi 'after image' dimana orang masih melihat 'bayangan' benda selama beberapa detik meskipun benda tersebut sudah tidak berada di depannya. Otak membutuhkan waktu untuk memproses benda yang dilihat mata Animasi diperoleh apabila sejumlah gambar dimunculkan bergantian secara cepat. Salah satu teknik sederhana memperoleh efek animasi : Flip book Menggambar sejumlah gambar yang berbeda pada pinggir buku Pinggir buka dibuka dengan cepat (flipping) Thaumatrope Dibuat oleh DrJohn Ayrton Paris Gambar dibuat di buah sisi lingkaran yang diberi karet pada kedua sisi Lingkaran diputar dengan cepat

Dasar-dasar Animasi Komputer Setiap gerakan harus digambar pada bagian yang terpisah

Gambar kemudian ditampilkan bergantian dengan cepat. Setiap gambar disebut sebagai frame.

Setiap frame yang menunjukkan gerakan yang berbeda secara pokok disebut sebagai keyframe.

Beberapa gerakan dasar animasi tradisional

Animasi komputer adalah animasi yang menggunakan komputer sebagai alat bantu dalam merancang / menghasilkan animasi

Dibedakan menjadi beberapa macam : Keyframe animation Articulated Figure Kinematics Dynamics

Keyframe Animation

Mendefinisikan beberapa frame pokok (keyframe) Komputer akan menghitung frame antara (in-betweening)

Frame antara (in-betweening) dapat dihitung dengan model : Interpolasi linear : menghasilkan gerakan yang patah / tidak kontinyu Interpolasi spline : menghasilkan gerakan yang lebih baik dari interpolasi linear Interpolasi cubic-spline : menghasilkan gerakan yang kontinyu