PEMINDAIAN OBYEK DENGAN ALGORITMA SCANLINE

dokumen-dokumen yang mirip
PEMODELAN OBYEK DENGAN METODE KURVA PARAMETRIK

BAB IV ATRIBUT OUTPUT PRIMITIF

GRAFIK KOMPUTER DAN PENGOLAHAN CITRA. WAHYU PRATAMA, S.Kom., MMSI.

Esther Wibowo -

Bentuk Primitif. Esther Wibowo -

PAGI. SOAL PILIHAN GANDA : No

PERBANDINGAN ALGORITMA HIDDEN SPACE REMOVAL: Z- BUFFER DAN SCANLINE DILIHAT DARI PENGGUNAAN MEMORI DAN KECEPATAN

Computer Graphic. Output Primitif dan Algoritma Garis. Erwin Yudi Hidayat.

10/10/2017. Teknologi Display SISTEM KOORDINAT DAN BENTUK DASAR GEOMETRI (OUTPUT PRIMITIF) CRT CRT. Raster Scan Display

Computer Graphic. Output Primitif dan Algoritma Garis. Erwin Yudi Hidayat. Computer Graphics C Version 2 Ed by Donald Hearn

BAYANGAN S1 Teknik Informatika

3. Jika y1 = y2 (garis horisontal), maka (a) x = x + 1 dan y tetap (b) gambar titik (x,y) di layar (c) Selesai

BAB II LANDASAN TEORI

COMPUTER VISION UNTUK PENGHITUNGAN JARAK OBYEK TERHADAP KAMERA

Pengantar Kuliah: Grafika Komputer. By: Nana Ramadijanti

BAB VI Clipping. OBJEKTIF : Pada Bab ini mahasiswa mempelajari tentang : 1. Operasi Clippling 2. Antialiasing

SEGMENTASI CITRA CT SCAN TUMOR OTAK MENGGUNAKAN MATEMATIKA MORFOLOGI (WATERSHED) DENGAN FLOOD MINIMUM OPTIMAL

GRAFIK KOMPUTER DAN PENGOLAHAN CITRA. WAHYU PRATAMA, S.Kom., MMSI.

Jurnal INFORMASI Vol.4 No.2 (1), November Chairuddin. Teknik Informatika, STMIK IM, Jl.Jakarta No.79 Bandung

Grafika Komputer. Pendahuluan. Dr. Ahmad Sabri Universitas Gunadarma

Muhammad Zidny Naf an, Lc., S.Kom., M.Kom. Genap 2015/2016

BAB III OUTPUT PRIMITIF

ALGORITMA Z BUFFER DAN PERBANDINGANNYA DENGAN ALGORITMA SCAN LINE

BAB I PENDAHULUAN. A.Latar Belakang. B. Tujuan Praktikum

Muhammad Zidny Naf an, M.Kom. Gasal 2015/2016

2. Memunculkan angka pada sumbu x dan sumbu y. Bawa kursor sampai menyentuh sumbu x atau sumbu y, kemudian klik kanan akan muncul seperti berikut.

Perbandingan Metode Sobel, Metode Prewitt dan Metode Robert Untuk Deteksi Tepi Objek Pada Aplikasi Pengenalan Bentuk Berbasis Citra Digital

GRAFIKA GAME. Aditya Wikan Mahastama. Tentang Game dan Representasi Dunia dalam Game

Nuryadin Eko Raharjo M.Pd.

BAB II LANDASAN TEORI. Pengolahan Citra adalah pemrosesan citra, khususnya dengan menggunakan

Deteksi Tepi pada Citra Digital menggunakan Metode Kirsch dan Robinson

PEMBUATAN MODUL AJAR GRAFIKA KOMPUTER BERBASIS WEB UNTUK OBYEK TIGA DIMENSI

KATA PENGANTAR. Semoga bermanfaat. Disusun : Memed Wachianto ( Guru Matematika SMK Negeri 10 Semarang ) Geogebra - 1

Fitur Matriks Populasi Piksel Untuk Membedakan Frame-frame Dalam Deteksi Gerakan

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Pertemuan 2 Representasi Citra

Sistem Multimedia. Image. Donny Reza, S.Kom

RENCANA PEMBELAJARAN SEMESTER (RPS)

Ray Tracing S1 Teknik Informatika

FAKULTAS TEKNIK (FT) PROGRAM TEKNIK INFORMATIKA UNIVERSITAS NUSANTARA PGRI KEDIRI 2016

SEGMENTASI CITRA DIGITAL DENGAN MENGGUNAKAN ALGORITMA WATERSHED DAN LOWPASS FILTER SEBAGAI PROSES AWAL ( November, 2013 )

PENGENALAN DAN CARA MENJALANKAN COREL DRAW

TEKNIK MORPHING UNTUK OBJEK CITRA TIGA DIMENSI DENGAN METODE INTERPOLASI LINEAR

Aplikasi Pembesaran Citra Menggunakan Metode Nearest Neighbour Interpolation

BAB III PROSEDUR DAN METODOLOGI

3 MEMBUAT DATA SPASIAL

PENGENALAN OBJEK PADA CITRA BERDASARKAN SIMILARITAS KARAKTERISTIK KURVA SEDERHANA

PEMBUATAN APLIKASI STEREOGRAM GENERATOR

Oleh Nuryadin Eko Raharjo, M.Pd

KURVA TERBUKA DAN KURVA TERTUTUP

MEDIA PEMBELAJARAN MATERI VISIBLE SURFACE DETERMINATION PADA MATA KULIAH GRAFIKA KOMPUTER

PEMBUATAN APLIKASI STEREOGRAM GENERATOR

PENCARIAN CITRA BERDASARKAN BENTUK DASAR TEPI OBJEK DAN KONTEN HISTOGRAM WARNA LOKAL

BAB II LANDASAN TEORI

BAB 4 HASIL DAN ANALISA

BAHAN PRAKTIKUM GEOGEBRA

BAB 3 PENANGANAN JARINGAN KOMUNIKASI MULTIHOP TERKONFIGURASI SENDIRI UNTUK PAIRFORM-COMMUNICATION

Implementasi Reduksi Noise Citra Berwarna dengan Metode Filter Median dan Filter Rata-rata

Pembahasan berikut ini adalah berkaitan dengan sejumlah teknik pemotongan primitif berdasarkan metoda analitis di atas.

CEG4B3. Randy E. Saputra, ST. MT.

Sistem Informasi Geografis. Widiastuti Universitas Gunadarma 2015

Analisa Perbandingan Metode Edge Detection Roberts Dan Prewitt

Algoritma Kohonen dalam Mengubah Citra Graylevel Menjadi Citra Biner

Rancang Bangun Sistem Pengujian Distorsi Menggunakan Concentric Circle Method Pada Kaca Spion Kendaraan Bermotor Kategori L3 Berbasis Edge Detection

APLIKASI TRANSFORMASI WATERSHED UNTUK SEGMENTASI CITRA DENGAN SPATIAL FILTER SEBAGAI PEMROSES AWAL

RANCANG BANGUN MODUL AJAR GRAFIKA KOMPUTER BERBASIS WEB

INFORMASI GEOGRAFIS DAN INFORMASI KERUANGAN

SILABUS MATAKULIAH. Indikator Pokok Bahasan Aktifitas Pembelajaran

PERTEMUAN 10 PENGGUNAAN PERINTAH DASAR MENU DRAW

KAJIAN PENERAPAN OPERASI BITWISE PADA STEGANOGRAFI

Pada komputer grafik ada 3 macam sistem koordinat yang harus di perhatikan :

ANALISA PERBANDINGAN VISUAL METHOD DAN LIQUID PENETRANT METHOD DALAM PERBAIKAN CITRA FILM RADIOGRAFI

Penerapan Metode Kirsch Dalam Mendeteksi Tepi Objek Citra Digital

Tipe dan Jenis Layar Komputer Grafik. By Ocvita Ardhiani.

ANALISIS CONTRAST STRETCHING MENGGUNAKAN ALGORITMA EUCLIDEAN UNTUK MENINGKATKAN KONTRAS PADA CITRA BERWARNA

Menggambar Garis dan Lingkaran dengan Algoritma Bresenham Teguh Susyanto 2)

Distribusi Frekuensi, Penyajian Data Histogram, Polygon dan Kurva Ogive

TIU: Mahasiswa mampu menghasilkan aplikasi Komputer Grafik sederhana. Pemrograman OpenGL API dasar 2 dimensi. Penggunaan aplikasi pengolah grafis 3D

PENGANTAR GRAFIKA KOMPUTER

Pengembangan Perangkat Lunak Pembangun G-Code dengan Masukan Data 3 Dimensi Benda

PENDETEKSIAN TEPI OBJEK MENGGUNAKAN METODE GRADIEN

GLOSARIUM Adaptive thresholding Peng-ambangan adaptif Additive noise Derau tambahan Algoritma Moore Array Binary image Citra biner Brightness

SATUAN ACARA PERKULIAHAN

SISTEM PENJEJAK POSISI OBYEK BERBASIS UMPAN BALIK CITRA

BAB III USULAN PENJEJAKAN WAJAH DAN PENGHITUNGAN PENGUNJUNG DENGAN JARAK EUCLIDIAN DAN TEORI PENGUKURAN FUZZY

PEMANFAATAN DATA SPACIAL UNTUK REFRENSI KERUANGAN

SEGMENTASI CITRA PELAT ELEMEN BAKAR DENGAN METODE EDGE DETECTION. Anik Purwaningsih, Sutopa *

PENGOLAHAN CITRA DIGITAL

BAB 3 PERANCANGAN SISTEM

Kholid Fathoni, S.Kom., M.T.

Aplikasi Metoda Random Walks untuk Kontrol Gerak Robot Berbasis Citra

Nuryadin Eko Raharjo M.Pd.

Diktat Kuliah Grafika Komputer Fakultas Ilmu Komputer Universitas Indonesia Semester II 1999/2000 Topik: Primitif-Primitif Keluaran Grafika Raster

- Free Transform : Untuk memutar objek.

APLIKASI PENGAMANAN DATA TEKS PADA CITRA BITMAP DENGAN MENERAPKAN METODE LEAST SIGNIFICANT BIT (LSB)

Proses Clipping Menggunakan Algoritma Cohen-Sutherland pada Ruang Dimensi Tiga

IMPLEMENTASI METODE SPEED UP FEATURES DALAM MENDETEKSI WAJAH

BAB 3 FASILITAS PENGGAMBARAN OBJEK GEOMETRI

Pengenalan Benda di Jalan Raya dengan Metode Kalman Filter. Roslyn Yuniar Amrullah

Transkripsi:

PEMINDAIAN OBYEK DENGAN ALGORITMA SCANLINE Ina Agustina Jurusan Sistem Informasi, Fakultas Teknologi Komunikasi dan Informatika, Universitas Nasional Jl. Sawo Manila, Pejaten Pasar Minggu No.61, Jakarta 12520 Email: ict@unas.ac.id ABSTRACT On this paper we proposed scanline method in order to scan an complicated object dimension. By this method the line property of each dimension could be separated each other. The important result is the information of pixel could be mapped in detail. Keywords: scanline, polygon, pixel ABSTRAK Poligon adalah sederetan garis lurus (polyline) yang sambung -menyambung secara siklik melingkupi suatu area. Garis-garis tersebut disebut garis tepi (edge). Titik pertemuan se tiap pasang sisi kita sebut verteks. Dalam representasinya biasanya suatu poligon dinyatakan dengan koordinat verteks-verteks ini dan penggambaran tepi-tepi ploigon dilakukan dengan penggambaran setiap garis antara dua verteks bertuturan dengan algoritma yang akan dibahas. Untuk kasus di mana piksel-piksel di dalam area poligon perlu di- warna -i maka kita perlu mengenal algoritma pengisian poligon berikut ini. Kata kunci: algoritma, scanline, piksel I. PENDAHULUAN Apabila kita mengetahui adanya suatu piksel yang berada dalam area poligon, maka pikselpiksel lain dapat dengan mudah dicapai dari piksel ini dengan suatu algoritma rekrusif. Namun secara umum hal ini tidak selalu bisa terjadi. Algoritma Scan line dapat memecahkan masalah ini dengan melakukan : Scan secara horizontal dari kiri ke kanan: mendapatkan titik -titik perpotongan dengan tepi-tepi poligon, mengurutkan dari kiri ke kanan (menurut harga absis) kemudian memberi warna piksel-piksel di antara dua pasang urutan ganjil-genap titik potong tsb. Hal tersebut dilakukan berulang dari yang paling bawah (harga ordinat verteks terkecil) ke yang paling atas (harga ordinat verteks terbesar). 108

Dalam pembuatan program ini, akan dibuat dengan menggunakan C++ dengan menggunakan Algoritma scan line. II. PEMBAHASAN Scan Line Algoritma scanline memecahkan masalah permukaan-tersembunyi dengan 1 scan line pada satu waktu, biasanya dengan cara dari atas ke bawah. Algoritma ini memeriksa beberapan window secara berurutan yang masing2 setinggi scanline dan selebar layar. Algritma scanline yang paling sederhana yaitu versi 1 dimensi dari depth buffer. kita memerlukan 2 array: intensity[x] dan depth[x] untuk menampung nilai2 dari sebuah scanline. Algoritma Koherensi Scan Line Algoritma scan line meyelesaikan masa lah permukaan yang tersembunyi pada tiap scan line. Biasanya proses scan line berasal dari atas ke bawah dari gambar/penggambaran. Algoritma ini berhasil memerikasa seri dari jendela(windows) pada layar. Tiap jendela(window) adalah satu scan line tinggi dan lebar yang sama dengan layar(screen). Scan line yang paling sederhana adalah sebuah versi dimensi satu dari depth buffer(kedalaman penyangga). Kita membutuhkan dua array yaitu intensitas atau intensity[x] dan kedalaman atau depth[x], untuk menampung nilai dari scan line tunggal. Algoritma kohenerensi scan line Untuk tiap scan line terdiri dari 3 langkah : 1. Untuk semua pixel pada scan line, atur depth[x] ke 1.0 dan intensity[x] ke suatu nilai belakang (background value). 2. Untuk tiap polygon pada layar, temukan semua pixel pada scan line y sebelumnya yang rapat/berhimpit dengan polygon. Langkah ini menggunakan Y-X scan-conversion algoritma yang dideskripsikan pada sesi 16-5. Untuk tiap nilai x ini: a. Kalkulasi kedalaman z( depth z) dari polygon pada (x,y). b. Jika z< depth[x], atur depth[x] ke z dan intensity[x] ke korespondensi intensitas dari polygon shading. 3. Setelah semua polygon telah dipastikan, nilai yang terkandung pada intensitas array mewakili dari solusi, dan dapat di duplikat pada frame buffer. Akibatnya, algoritma pada akhirnya menkonversi scan sema polygon pada layar, satu scan line pada tiap waktu. Ini adalah sebuah ekstensi sederhana dari Y-X scan-conversion algoritma. Disini sebuah nilai kedalaman(depth) harus dikomputasi dan dibandingkan dengan nilai yang telah terekam/tersimpan pada depth buffer. Span-coherence algoritma 109

Algoritma scan line dapat mengkapitalisasi pada subah form/bentuk dimensi satu dari area kohenesi yang dikenal sebagai span coherence. Spans pendek atau sekuensi pixel pada sebuah scanline akan berhimpit dengan polygon yang sama. Algoritma pencarian untuk sebuah span, ketika dibutuhkan, hanya membuat sedikit perbandingan kedalaman(depth) untuk mengindentifikasikan polygon yang tampak melalui span. Teknik ini diilustrasikan pada gambar 2.1, dimana menampilkan bagaimana segmen dari polygon dibuat dengan menginteseksi/menggabungkan polygon dengan representasi plane oleh scan line. y z z 1 2 3 4 5 x x (a) Gambar 2.1 (b) Kalkulasi pada xz plane digunakan untuk mengdeterminasi hubungan antara segmen dari semua polygon menginterseksi scan line dan untuk memutuskan segmen mana yang Nampak pada tiap span. Lokasi dari segmen yaitu digenerasikan oleh konkurensi scan konversi dari polygon, hanya untuk sebagai scan line coherence algoritma. Koordinat x dan z dari titik akhir dari segmen mungkin akan dikomputasikan/dihitung di sebuah incremental manner karena mereka adalah fungsi linear dari y, karena itu, persamaan dari tepi polygon dapat ditulis dengan x = ay + ß dan z =?y + d. Span dari scan line diidentifikasikan dengan mengurutkan semua segmen titik akhir dengan x dan memeriksa wilayah/region yang tidak dibatasi oleh nila x ini. Sebuah span akan jatuh pada satu dari 3 kelas yaitu : 1. Tidak ada segmen yang muncul bersama span (span 1 dan 5). Intensitas latar belakan akan ditampilkan pada wilayah ini. 2. Segment tunggal jatuh bersama span(span 2 dan 4). Jelasnya, segment Nampak dan bayangan polygon ditampilkan melalui span. 3. Beberapa segmen diturunkanmelewati keseluruhan span (span 3). Segment dekat dengan mata, salah satu yang lebih kecil dari nilai z, ditemukan dengan membandingkan kedalaman dari semua segmen pada satu koodinat x, sperti pada tepi kiri dari span. Sekali polygon yang tampak diidentifikasi, intensitas yang diteriman dapat mengdeterminasi untuk span. Algoritma ini mengambil keuntungan dari koherensi untuk mereduksi pengurutan x dan z. daftar tepi/edge aktif tunggal,yang diurutkan berdasarkan x, mengandung deskripsi tepi untuk semua polygon yang menginterseksi scan line. Dengan menaikkan pembaruan dari scan line ke scan line, hal itu akan tersortir. Pada proses dari tiap scan line, dimana proses dari kiri ke kanan, tepi digunakan untuk menjaga kumpulan/urutan dari aktif polygon. Garis tepi memulai/menjalankan sebuah span, akan dapat membuat sebuah tepi kiri polygon. Dan menyebabkan polygon menjadi aktif (gambar 2.1 b). kiri kanan tepi secara alami dapat dijabarkan/dihasilkan oleh pengasosiasian dengan sebuah polygon yang mendekati record dari polygon yang sedang aktif dan dengan sedikit mengkomplementasikan tiap waktu dari tepi polygon; atau jika polygon selalu digambarkan dengan cara yang sama/konsisten, dengan membiarkan arah edge(garis tepi) mendeterminasy perpotongannya(parity). Sisi yang memulai sebuah span akan menjadi sisi kiri dari sebuah poligon dan menyebabkan 110

poligon tersebut aktif, atau sisi kanan yang menonaktifkan poligon. Hal tersebut dapat dibedakan dengan 2 cara: 1. Asosiasikan sebuah bit dengan sebuah poligon untuk mencatat apakah poligon tersebut saat ini sedang aktif, dan dengan mengganti bitnya setiap kali ditemukan sisi dari poligon 2. (Jika poligon2 itu digambarkan secara konsisten)biarkan arah dari sisi menentukan bagiannya; sisi yang turun adalah sisi kiri. Pada tepi kiri dari span, polygon aktif sedang mencari untuk menemukan salah satu tepi dengan nilai z terkecil dan secara konsekuen mendekati pencari. Untuk menyederhanakan pencarian, lis t polygon aktif dapat tetap diurutkan oleh z, dengan polygon memasuki dan meninggalkan daftar ketika kita pindah dari span yang satu ke span yang lainnya. Walaupun nilai z harus dikalkulasikan kembali untuk tiap span, nilai baru mengubah depth ordering(pemesanan kedalaman) dari polygon. Kenyataannya, pengurutan/order tidak pernah mengubah setelah sebuah polygon dimasukkan kedalam daftar aktif jika kita tidak mengizinkan penetrasi wajah/bentuk, dimana wajah/bentuk(face) dari sebuah objek mempenetrasi melewati face lainnya. Penanganan penetrasi faces/wajah/bentuk akan juga membutuhakan tiga kasus yang dideskripsikan diatas, sebagai polygon tunggal yang mungkin tidak tampak menembus/melalui suatu span. Dengan mengubah algoritma yang memutuskan polygon mana yang nampak bersama span untuk menangani kasus lebih banyak, kita dapat memproses scan line dalam sedikit spans. Pada gambar 2.1 b, sebagai contoh, span 1 dan 2 dapat diproses menjadi satu: hanya satu segmen tunggal jatuh bersama region/wilayah. Span 3 dan 4 dapat dilayani bersama, kita tidak izinkan memenetrasi faces/wajah/bentuk atau membuat tambahan pembanding kedalaman bersama dengan span. Algoritma Watkin [500] mampu menangani span besar ini dan mengingat dari satu scan line ke scan line berikutnya dimana span menemukan cara cukup sederhana untuk menyelesaikan masalah tersebut. Scan line algoritma juga dapat menagmbil keuntungan dari depth koherensi. Suatu posisi segmen didalam list/daftar polygon aktif (diurutkan berdasarkan dept/kedalaman) tidak seperti untuk menangani dari satu scan line ke scan line berikutnya. Sebuah estimasi dari posisi mereduksi jumlah dari depth/kedalaman komputasi yang dibutuhkan untuk memasukkan polygon ke daftar aktif. Algoritma ScanLine Polygon 1. Tentukan Banyaknya garis. 2. Tentukan titik koordinat. 3. Gambar garis dari masing-masing titik dengan titik yang berdekatan. 4. Gambar masing-masing pixel per pixel didalam polygon. Algoritma ScanLine Rectangle 1. Tentukan koordinat kiri bawah dan kanan atas 2. Kemudian program akan menentukan koordinat kiri atas dan kanan bawah. 3. Setelah itu gambar dari masing-masing titik yang berdekatan. 4. Gambar masing-masing pixel per pixel didalam rectangle. Algoritma ScanLine Circle 1. Tentukan titik tengah dari lingkaran. 2. Tentukan jari-jari lingkaran 3. Gambar Lingkaran 4. Gambar masing-masing pixel per pixel didalam Circle. 111

III. PENUTUP Algoritma scan-line memecahkan masalah hidden-surface pada pembacaan garis, biasanya memproses scan garis dari atas ke bawah dari tampilan. Algoritma ini berturut-turut diuji pada rangkaian window pada layar, masing-masing window adalah satu scan garis tinggi dan selebar layar. Algoritma scan-line paling sederhana adalah versi satu dimensi dari depth buffer. Kita membutuhkan dua array, intensity [x] dan depth [x] untuk mendapatkan nilai untuk single scan garis. Algoritma scan-line mengambil keuntungan dari hubungan antara scan garis berurutan dan dari rentang hubungan di dalam scan garis. Algoritma scan-line juga menyederhanakan perhitungan geometris dengan mereduksi suatu masalah tiga dimensi menjadi suatu perbandingan dua dimensi dari segmen-segmen pada bidang xz. Penyederhanaan geometris ini bukanlah tanpa kelemahan. Ketika kita mengamati algoritma scan-conversion, sangat kecil atau sangat terbatas poligon mungkin akan mengenai bidang scan-line. Penggunaan algoritma scan-line terutama dihubungkan dengan kompleksitas visible image. Perilaku ini pertama kali diamati oleh Watkins dan diselidiki lebih lanjut melalui survei dari beberapa algoritma. Algoritma scan-line mempunyai dua keuntungan, yaitu algoritma ini dapat diimplementasikan pada perangkat keras (hardware) dan dapat digeneralisasi untuk mengatasi bidang non linier (contohnya bidang non poligon). DAFTAR PUSTAKA [1] Basuki, Achmad dan Nana Ramadijanti, Grafika Komputer: Teori dan Implementasi, Andi Yogyakarta, 2006. [2] Hill, F.S, Computer Graphic Using OpenGl, Second Edition, Prentice Hall, 2001. [3] Kadir, Abdul, Pemrograman C++, Andi Yogyakarta, 2003. [4] Bambang wirawan, Paulus, Grafik Komputer dengan C, Jakarta : Penerbit Andi, 2003 [5] http :\\ www.eprogramming.com [6] http :\\www.google.com\opengl [7] http :\\www.google.com\yoav Lahav 112