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

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

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

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

BAB III OUTPUT PRIMITIF

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

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

Grafik Komputer dan Pengolahan Citra. Grafik Komputer : Geometri Primitive. Universitas Gunadarma. Grafik Komputer : Geometri Primitive 1/12

BAB IV ATRIBUT OUTPUT PRIMITIF

Geometri Primitive. D3 Manajemen Informatika S1 Sistem Informasi

Mata Kuliah : Grafik Komputer KONVERSI PEMINDAIAN

Bab 2 Output Primitif

PAGI. SOAL PILIHAN GANDA : No

Jawab: Titik awal (x 1, y 1 ) = A(2,1) dan Titik akhir (x 2, y 2 ) = B(8,5) dx = x 2 x 1 = 8 2 = 6 dan dy = y 2 y 1 = 5 1 = 4

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK Universitas Widyatama UJIAN TENGAH SEMESTER T.A. 2008/2009

Grafik Komputer dan Pengolahan Citra. Grafik Komputer : Geometri Primitive. Universitas Gunadarma Grafik Komputer : Geometri Primitive 1/12

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

Bentuk Primitif. Esther Wibowo -

ALGORITMA MIDPOINT UNTUK PENGGAMBARAN GRAFIK BERKECEPATANG TINGGI

Esther Wibowo -

Types of video display

Jurnal Sarjana Teknik Informatika e-issn: Volume 2 Nomor 1, Februari 2014

Jenis-jenis monitor. Monitor TFT LCD

Garis adalah kumpulan titik-titik yang tersusun sedemikian rupa sehingga memiliki pangkal dan ujung.

Menggambar Garis dan Lingkaran dengan Algoritma Bresenham Teguh Susyanto 2)

Pertemuan 11. MONITOR dan MONITOR

Modul. Grafika Komputer. Disusun Oleh: Maya Amelia

SILABUS MATAKULIAH. Indikator Pokok Bahasan Aktifitas Pembelajaran

Grafika Komputer Pertemuan Ke-2

Kelompok 13. Materi : Monitor (LCD + Touch Screen) Okik Surikno ( ) Yuhda Arufiyanto ( ) Daryono ( ) Pengertian Monitor

KATA PENGANTAR. Page 2. Bekasi, 29 Februari Penyusun

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

Tabung Sinar Katoda (CRT)

SOAL LATIAHN GRAFIK KOMPUTER

Pengaruh Negatif Radiasi Komputer/Laptop terhadap Mata

COMPUTER TROUBLESHOOTING VOSCO PEREIRA. Prepared by Vosco

PENGOLAHAN CITRA DIGITAL

Perangkat Output Komputer

MATEMATIKA EKONOMI DAN BISNIS. Nuryanto.ST.,MT

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

BAB II LANDASAN TEORI

Lingkaran. Lingkaran merupakan kumpulan titik yang berjarak sama terhadap titik pusat (x,y) Rumus dasar lingkaran: (X-Xc) 2 +(Y-Yc) 2 =r 2

Pengantar Computer Graphics Algoritma Dasar

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

Pengantar Hardware: Output Device. Hanif Fakhrurroja, MT

Grafika Komputer. Irfan Maliki, S.T

SISTEM PENJEJAK POSISI OBYEK BERBASIS UMPAN BALIK CITRA

Dr. Ramadoni Syahputra Jurusan Teknik Elektro FT UMY

BAB II LANDASAN TEORI

Pembentukan Citra. Bab Model Citra

KALKULUS BAB I. PENDAHULUAN DEPARTEMEN TEKNIK KIMIA

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

MODUL GRAFIKA KOMPUTER

Materi Fungsi Linear Fungsi Variabel, koefisien, dan konstanta Variabel variabel bebas Koefisien Konstanta 1). Pengertian fungsi linier

Sistem Grafika Komputer

Output Primitif : Garis

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

Dot-matrix Printer Mencetak citra dengan kepala cetak yang terdiri dari serangkaian palu kecil atau pin yang jumlahnya 9, 18, atau 24. Lebih fleksibel

MONITOR CRT 10/27/2013

22/10/2011 TEKNIK INFORMATIKA FAKULTAS TEKNIK DAN ILMU KOMPUTER UNIVERSITAS KOMPUTER INDONESIA 2011

Tipe dan Jenis Layar Komputer Grafik. By Ocvita Ardhiani.

CEG4B3. Randy E. Saputra, ST. MT.

Grafika Komputer. Pendahuluan. Dr. Ahmad Sabri Universitas Gunadarma

Aplikasi Komputer PERANGKAT KERAS (HARDWARE) Sulis Sandiwarno, S.Kom.,M.Kom. Sistem Informasi. Modul ke: Fakultas FASILKOM.

Pertemuan 2 Representasi Citra

BAB II LANDASAN TEORI

Fungsi Non-Linear. Modul 5 PENDAHULUAN

Pertemuan 2 KOORDINAT CARTESIUS

GRAPHICAL USER INTER-

BAB II CITRA DIGITAL

Waktu : 4 x 50 Topik : Pengenalan Monitor. Kode : 10/ELK-ELA166/2007 Judul : Blok Diagram Monitor

Sistem Informasi Geografis. Widiastuti Universitas Gunadarma 2015

FUNGSI. Riri Irawati, M.Kom 3 sks

Sistem Multimedia. Image. Donny Reza, S.Kom

BAB II TEORI DASAR PENGOLAHAN CITRA DIGITAL

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

MODUL GRAFIKA KOMPUTER

BAB II TINJAUAN PUSTAKA. tegak, perlu diketahui tentang materi-materi sebagai berikut.

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI. Grafika komputer atau dalam bahasa Inggris computer graphics dapat

VIDEO By y N ur N ul ur Ad A h d ay a a y n a ti t 1

BAB III PERANCANGAN SISTEM. Pada dewasa sekarang ini sangat banyak terdapat sistem dimana sistem tersebut

Studi Digital Watermarking Citra Bitmap dalam Mode Warna Hue Saturation Lightness

Bagian 1 Sistem Bilangan

Jenis-jenis Monitor. Gambar 1. CRT

Modul 3 Alat Keluaran (Output Devices)

BAB IV PENGUJIAN DAN ANALISIS SISTEM

Koordinat Kartesius, Koordinat Tabung & Koordinat Bola. Tim Kalkulus II

Drawing, Viewport, dan Transformasi. Pertemuan - 02

BAB 3 PERANCANGAN SISTEM

MODUL AJAR GRAFIKA KOMPUTER. Dr. Setiawan Hadi

BAB XI PERSAMAAN GARIS LURUS

BAB 3 FASILITAS PENGGAMBARAN OBJEK GEOMETRI

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

BAB III PERANCANGAN SISTEM PEMROGRAMAN DAN IMPLEMENTASI ROBOT KARTESIAN

Sistem Koordinat 3D. +y +y

BAB 1. PENDAHULUAN 1.1 Latar Belakang 1.2 Rumusan Masalah 1.3 Tujuan

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

GeoGebra untuk Pembelajaran Matematika

Transkripsi:

Computer Graphic Output Primitif dan Algoritma Garis Erwin Yudi Hidayat erwin@research.dinus.ac.id Computer Graphics C Version 2 Ed by Donald Hearn Addison Wesley is an imprint of erwin@research.dinus.ac.id CG - Udinus 10/11/2012

Output Primitif Output primitif adalah struktur dasar geometri yang paling sederhana dari gambar grafika komputer. Setiap output primitif mempunyai data koordinat dan informasi lain tentang bagaimana cara object ditampilkan pada layar. Titik dan garis lurus adalah bentuk geometri paling sederhana dan komponen gambar.

Output Primitif Setelah berhasil membangun output primitif, langkah selanjutnya adalah melakukan pengaturan terhadap atribut output primitif. Atribut adalah semua parameter yang mempengaruhi bagaimana primitive grafis ditampilkan. Atribut dari output primitif dapat berupa: Ukuran garis batas Tipe garis batas Warna garis batas Warna objek (Fill color / Area Filling)

Atribut Output Primitif Atribut dasar untuk titik adalah ukuran dan warna. Atribut dasar untuk garis adalah tipe (type), tebal (width) dan warna (color).

Teknologi Display Cathode Ray Tubes (CRT) Liquid Crystal Display (LCD)

CRT Elektron ditembakkan dari satu atau lebih electron gun Kemudian medan magnet yang ada di dalam tabung akan mendefleksi dan mengatur intensitas pancaran sinar elektron ke tiap pixel pada permukaan tabung dan akan membentuk gambar di monitor Medan magnet tersebut dihasilkan oleh kumparan yang diatur oleh sebuah rangkaian elektronik khusus yang ada di sekitar leher tabung Untuk membentuk gambar, sinar tersebut bergerak horisontal dari kiri ke kanan (raster)

CRT

Raster Scan Display Pancaran Elektron bergerak baris per baris dari atas ke bawah Definisi gambar disimpan dalam memori yang disebut refresh buffer atau frame buffer. Setiap titik pada layar disebut pixel / pel yaitu picture element. Refreshing rate memiliki nilai 60 s/d 80 frame per detik. Horizontal retrace adalah kembalinya scan ke bagian kiri layar setelah refreshing tiap scan line. Vertical retrace adalah kembalinya scan ke atas setelah selesai satu frame (1/80 s/d 1/60 detik).

Random Scan Display Pancaran Elektron diarahkan hanya ke bagian layar dimana gambar dibuat Random-scan hanya membuat gambar dengan satu garis pada suatu saat Refreshing rate tergantung jumlah garis. Definisi gambar disimpan dlm satu blok perintah line drawing disebut refresh display file / display list / display program / refresh buffer. Random-scan display menghasilkan gambar yang lebih halus dibandingkan dengan raster-scan, karena pancaran elektron langsung mengikuti jalur pada garis.

LCD Menggunakan kristal cair untuk menampilkan gambar Terdiri dari 2 bagian utama : backlight dan kristal cair Backlight mirip seperti neon dengan warna putih Kristal cair berfungsi untuk menyaring cahaya backlight menjadi warna-warna tertentu dengan cara mengubah sudut dari kristal cair Sudut kristal cair tersebut berubah akibat tegangan listrik

Sistem Koordinat Koordinat nyata Koordinat sistem (koordinat cartesian) Koordinat tampilan / layar

Koordinat Nyata Adalah koordinat yang pada saat itu objek yang bersangkutan berada, misal koordinat sebuah kursi tergantung dari letak kursi itu ada dimana, bagaimana letaknya.

Koordinat Cartesian Setiap titik ditentukan lokasinya melalui pasangan nilai x dan y nilai koordinat x bertambah positif dari kiri ke kanan dan nilai y bertambah positif dari bawah ke atas

Koordinat Monitor Arah sumbu koordinat layar berkebalikan dengan yang digunakan di koordinat kartesian Pada layar komputer sumbu x bertambah positif ke kanan dan sumbu y bertambah positif ke bawah

Koordinat Layar sebuah titik pada koordinat cartesian digambar ulang ke layar komputer maka secara visual lokasi titik tersebut akan berubah

Menggambar Elemen Geometri Titik Garis Polyline Polygon

Titik Mengkonversi sebuah koordinat tunggal yang diberikan oleh sebuah program aplikasi dalam suatu operasi tertentu dengan menggunakan peralatan output, sebagai contoh monitor

Garis Garis dibuat dengan menentukan posisi titik diantara titik awal dan akhir dari suatu garis, yaitu (x1,y1) dan (x2,y2).

Pixel unsur gambar atau representasi sebuah titik terkecil dalam sebuah gambar grafis. akronim bahasa Inggris Picture Element yang disingkat menjadi Pixel. Monitor ribuan piksel yang terbagi dalam baris-baris dan kolom-kolom. Jumlah piksel yang terdapat dalam sebuah monitor dapat kita ketahui dari resolusinya. Resolusi maksimum yang disediakan oleh monitor adalah 1024x768, maka jumlah pixel yang ada dalam layar monitor tersebut adalah 786432 piksel. Semakin tinggi jumlah piksel yang tersedia dalam monitor, semakin tajam gambar yang mampu ditampilkan oleh monitor tersebut.

Polyline Menghubungkan tiap titik dengan garis lurus sehingga menjadi kurva terbuka Contoh Polyline

Polygon Sama dengan polyline hanya membentuk kurva tertutup Contoh Polygon

Garis Dinyatakan dengan 4 nilai : x1,y1,x2,y2 Koordinat / titik awal (x1,y1) Koordinat / titik akhir (x2,y2)

Bentuk Garis Cenderung mendatar Gradien bernilai 0 < m < 1 Pixel bertambah 1 pada sumbu x dan bertambah sebesar m pixel pada sumbu y

Bentuk Garis Cenderung tegak Gradien bernilai m > 1 Pixel bertambah 1 pada sumbu y dan bertambah sebesar 1/m pixel pada sumbu x

Bentuk Garis Miring 45 o Gradien bernilai m = 1 Pixel bertambah 1 pada sumbu x dan bertambah sebesar 1 pixel pada sumbu y

Gradien m = gradien / kemiringan garis Persamaan garis lurus : Y = mx + c M : gradien C : konstanta

Algoritma DDA Algoritma Digital Differential Analyzer (DDA) adalah algoritma sederhana untuk menggambar garis Garis dikelompokkan ke dalam 3 bentuk : mendatar, cenderung tegak dan miring 45 derajat Nilai untuk gradien : m>1, m=1, 0<m<1

Langkah² Algoritma DDA 1. Tentukan dua titik yang akan dihubungkan dalam pembentukan garis. 2. Tentukan salah satunya sebagai titik awal (x 1, y 1 ) dan yang lain sebagai titik akhir (x 2, y 2 ). 3. Hitung : dx = x 2 x 1 dan dy = y 2 y 1 4. Tentukan step, dengan ketentuan berikut: bila dx > dy, maka step = dx bila tidak, maka step = dy 5. Hitung penambahan koordinat piksel dengan persamaan: x_inc = dx / step y_inc = dy / step 6. Koordinat selanjutnya : x = x + x_inc y = y + y_inc 7. Lakukan pembulatan u = Round(x), v = Round(y), kemudian plot piksel (u, v) pada layar 8. Ulangi point 6 dan 7 untuk menentukan posisi piksel berikutnya sampai x = x 2 dan y = y 2.

Algoritma DDA Hasil dari fungsi : bilangan riil Koordinat pixel : integer Harus dibulatkan ke dalam integer terdekat

Contoh Diketahui 2 buah titik A(2,1) dan titik B(8,5) bila titik A sebagai titik awal dan titik B sebagai titik akhir, tentukan titik-titik antara yang menghubungkan titik A dan titik B sehingga membentuk garis AB dengan menggunakan algoritma DDA.

Contoh Titik awal (x 1, y 1 ) = A(2,1) Titik akhir (x 2, y 2 ) = B(8,5) dx = x 2 x 1 = 8 2 = 6 dy = y 2 y 1 = 5 1 = 4 Karena: dx > dy, maka step = dx = 6 x_inc = dx / step = 6/6 = 1 y_inc = dy / step = 4/6 = 0,67

Contoh Iterasi ke-1: (x,y) = (2,1) x+x_inc = 2 + 1 = 3 y+y_inc = 1 + 0,67 = 1,67 Koordinat selanjutnya : (x,y) = (3; 1,67) Pembulatan (3; 1,67) (3,2). Gambar titik (3,2) dilayar ==================================== Iterasi ke-2: (x,y) = (3; 1,67) x+x_inc = 3 + 1 = 4 y+y_inc = 1,67 + 0,67 = 2,34 Koordinat selanjutnya : (x,y) = (4; 2,34) Pembulatan (4; 2,34) (4,2). Gambar titik (4,2) dilayar ==================================== Iterasi ke-3: (x,y) = (4; 2,34) x A +x_inc = 4 + 1 = 5 y A +y_inc = 2,34 + 0,67= 3,01 Koordinat selanjutnya : (x,y) = (5; 3,01) Pembulatan (5; 3,01) (5,3). Gambar titik (5,3) dilayar

Contoh Iterasi ke-4: (x,y) = (5; 3,01) x A +x_inc = 5 + 1 = 6 y A +y_inc = 3,01 + 0,67 = 3,68 Koordinat selanjutnya : (x,y) = (6; 3,68) Pembulatan (6; 3,68) (6,4). Gambar titik (6,4) dilayar ==================================== Iterasi ke-5: (x,y) = (6; 3,68) x A +x_inc = 6 + 1 = 7 y A +y_inc = 3,68 + 0,67 = 4,35 Koordinat selanjutnya : (x,y) = (7; 4,35) Pembulatan (7; 4,35) (7,4). Gambar titik (7,4) dilayar ==================================== Iterasi ke-6: (x,y) = (7; 4,35) x A +x_inc = 7 + 1 = 8 y A +y_inc = 4,35 + 0,67 = 5,02 Koordinat selanjutnya : (x,y) = (8; 5,02) Pembulatan (8; 5,02) (8,5). Gambar titik (8,5) dilayar

Contoh Karena x = x 2 = 8, y = y 2 = 5, maka iterasi dihentikan, sehingga diperoleh titik-titik pembentuk garis sebagai berikut: (2,1), (3,2), (4,2), (5,3), (6,4), (7,4) dan (8,5). Bila digambar pada raster graphics diperoleh gambar:

Algoritma Bressenham Dikembangkan oleh Bresenham Berdasarkan selisih antara garis yang diinginkan terhadap setengah ukuran dari pixel yang sedang digunakan

Algoritma Bressenham Garis mempunyai kemiringan 0 < m < 1, pada titik x = x p +1, garis berada diantara dua titik E dan NE yang mempunyai titik tengah di M. Dalam hal ini kita harus menentukan apakah garis berada diatas titik tengah M atau dibawah titik tengah M

Langkah² Algoritma Bresenham Notes: algoritma midpoint Bresenham (untuk kemiringan 0 < m < 1) 1. Tentukan dua titik yang akan dihubungkan dalam pembentukan garis. 2. Tentukan salah satu sebagai titik awal (x 0, y 0 ) dan titik akhir (x 1, y 1 ). 3. Hitung dx, dy, 2dx, 2dy dan 2dy 2dx 4. Hitung parameter: po = 2dy dx 5. Untuk setiap x k sepanjang jalur garis, dimulai dengan k = 0 bila p k < 0 maka titik selanjutnya adalah: (x k +1, y k ) dan p k+1 = p k + 2dy bila tidak, titik selanjutnya adalah (x k +1, y k +1) dan p k+1 = p k + 2dy 2dx 7. Ulangi nomor 5 untuk menentukan posisi piksel berikutnya, sampai x = x 1 dan y = y 1

Contoh Diketahui 2 buah titik A(2,1) dan titik B(8,5) bila titik A sebagai titik awal dan titik B sebagai titik akhir, tentukan titik-titik antara yang menghubungkan titik A dan titik B sehingga membentuk garis AB dengan menggunakan algoritma Bressenham.

Contoh Titik awal (x 0, y 0 ) = A(2,1) Titik akhir (x 1, y 1 ) = B(8,5) dx = x 1 x 0 = 8 2 = 6 dy = y 1 y 0 = 5 1 = 4 2.dx = 2.6 = 12 2.dy = 2.4 = 8 2dy 2dx = 8 12 = 4 p o = 2.dy dx = 8 6 = 2

Contoh Iterasi ke-1 (k = 0): Titik awal = (2,1) Po = 2 > 0, maka titik selanjutnya adalah x = 2 + 1 = 3 dan y = 1 + 1 = 2, koordinat selanjutnya: (3,2) p 1 = p 0 + 2dy 2dx = 2 4 = 2 ==================================== Iterasi ke-2 ( k = 1): Titik awal = (3,2) P 1 = 2 < 0, maka titik selanjutnya adalah x = 3 + 1 = 4 dan y = 2, koordinat selanjutnya : (4,2) p 2 = p 1 + 2dy = 2 + 8 = 6 ==================================== Iterasi ke-3: (k=2) Titik awal = (4,2) P 2 = 6 > 0, maka titik selanjutnya adalah x = 4 + 1 = 5 dan y = 2 + 1 = 3, koordinat selanjutnya : (5,3) p 3 = p 2 + 2dy 2dx = 6 4 = 2

Contoh Iterasi ke-4: (k=3) Titik awal = (5,3) P 3 = 2 > 0, maka titik selanjutnya adalah x = 5 + 1 = 6 dan y = 3 + 1 = 4, koordinat selanjutnya : (6,4) p 4 = p 3 + 2dy 2dx = 2 4 = 2 ==================================== Iterasi ke-5: (k=4) Titik awal = (6,4) P 3 = 2 < 0, maka titik selanjutnya adalah x = 6 + 1 = 7 dan y = 4, koordinat selanjutnya : (7,4) p 5 = p 4 + 2dy = 2 + 8 = 6 ==================================== Iterasi ke-6: (k=5) Titik awal = (7,4) P 5 = 6 > 0, maka titik selanjutnya adalah x = 7 + 1 = 8 dan y = 4 + 1 = 5, koordinat selanjutnya : (8,5)

Contoh Karena x = x 1 = 8, y = y 1 = 5, maka iterasi dihentikan, sehingga diperoleh titik-titik pembentuk garis sebagai berikut: (2,1), (3,2), (4,2), (5,3), (6,4), (7,4) dan (8,5). Bila digambar pada raster graphics diperoleh gambar:

Notes! Untuk kemiringan 1 < m < 0, kita tinggal mengganti komponen berikut: Untuk setiap x k sepanjang jalur garis, dimulai dengan k = 0 - bila p k < 0 maka titik selanjutnya adalah: (x k +1, y k ) dan p k+1 = p k + 2dy - bila tidak, titik selanjutnya adalah: (x k +1, y k 1) dan p k+1 = p k + 2dy 2dx

Notes! Notes: Untuk kemiringan m > 1) 1. Tentukan dua titik yang akan dihubungkan dalam pembentukan garis. 2. Tentukan salah satu sebagai titik awal (x 0, y 0 ) dan titik akhir (x 1, y 1 ). 3. Hitung dx, dy, 2dx, 2dy dan 2dx 2dy 4. Hitung parameter: po = 2dx dy 5. Untuk setiap y k sepanjang jalur garis, dimulai dengan k = 0 bila p k < 0 maka titik selanjutnya adalah: (x k, y k +1) dan p k+1 = p k + 2dx bila tidak, titik selanjutnya adalah (x k +1, y k +1) dan p k+1 = p k + 2dx 2dy 7. Ulangi nomor 5 untuk menentukan posisi piksel berikutnya, sampai x = x 1 dan y = y 1

Algoritma Pembentuk Lingkaran Persamaan umum lingkaran dengan pusat lingkaran (x p, y p ) dan jari-jari r adalah: atau Algoritma ini memerlukan waktu operasi yang besar, karena mengandung operasi perkalian dua bilangan integer membutuhkan fungsi SQRT (untuk menghitung akar suatu bilangan) dan fungsi ROUND (untuk membulatkan bilangan pecahan menjadi bilangan integer) menghasilkan posisi koordinat piksel yang tidak merata, karena terjadinya gaps yang disebabkan adanya perubahan gradient

Algoritma Pembentuk Lingkaran Terjadinya gaps yang disebabkan adanya perubahan gradient menghasilkan posisi koordinat piksel yang tidak merata

Algoritma Pembentuk Lingkaran Simetris Delapan Titik Pembuatan kurva lingkaran dapat dilakukan dengan menentukan titik awal (x,y) yang terletak pada lingkaran, maka tujuh titik yang lain (yang terletak pada lingkaran juga) dapat ditentukan sebagai berikut: ( x,y), (x, y), ( x, y), (y,x), ( y,x), (y, x), ( y, x)

Algoritma Pembentuk Lingkaran Algoritma Midpoint Algoritma midpoint juga disebut algoritma lingkaran Bressenham Pembentukan semua titik berdasarkan titik pusat dengan penambahan semua jalur di sekeliling lingkaran Garis lingkaran berada diantara titik (x k +1, y k ) dan (x k +1, y k 1)

Langkah² Algoritma Midpoint 1. Tentukan jari-jari r dan pusat lingkaran (x p, y p ), kemudian setting sedemikian rupa sehingga titik awal berada pada: (x 0, y 0 ) = (0, r) 2. Hitung nilai parameter: p0= 5/4 r -> Jika jari-jari r pecahan p0= 1 r -> Jika jari-jari r bulat 3. Untuk setiap posisi x k, dimulai dengan k = 0: bila p k < 0 maka titik selanjutnya adalah: (x k +1, y k ) dan p k+1 = p k + 2x k+1 + 1 bila tidak, titik selanjutnya adalah: (x k +1, y k - 1) dan p k+1 = p k + 2x k+1 + 1 2 y k+1 4. Tentukan titik simetris pada ketujuh oktan yang lain 5. Gerakkan setiap posisi piksel (x, y) pada garis lingkaran dengan titik pusat (x p, y p ) dan plot nilai koordinat: x = x + x p ; y = y + y p 6. Ulangi langkah 3 sampai dengan 5 hingga x y

Contoh Buatlah gambar kurva lingkaran dengan pusat lingkaran (0,0) dan jari-jari 8, perhitungan berdasarkan dari oktan kuadran pertama dimana x = 0 sampai x = y. Koordinat titik awal dimulai dari (x,r) = (0,8). Karena jari-jari r bulat, maka gunakan p 0 = 1 r.

Contoh Iterasi ke-1 (k = 0; x 0 = 0; y 0 = r = 8; p 0 = 1 r = 1 8 = -7) Karena p 0 < 0, maka : x 1 = x 0 + 1 = 0 + 1 = 1 dan y 1 = y 0 = 8; jadi titik selanjutnya: (1,8) p 1 = p 0 + 2 x 1 + 1 = 7 + 2.(1) + 1 = 4 Dengan algoritma simetris delapan titik, maka diperoleh titik-titik berikut : (1,8), ( 1,8), (1, 8), ( 1, 8), (8,1), ( 8,1), (8, 1), ( 8, 1) ==================================== Iterasi ke-2 (k = 1; x 1 = 1; y 1 = 8; p 1 = -4) Karena p 1 < 0, maka : x 2 = x 1 + 1 = 1 + 1 = 2 dan y 2 = y 1 = 8; jadi titik selanjutnya: (2,8) p 2 = p 1 + 2 x 2 + 1 = 4 + 2.(2) + 1 = 1 Dengan algoritma simetris delapan titik, maka diperoleh titik-titik berikut : (2,8), ( 2,8), (2, 8), ( 2, 8), (8,2), ( 8,2), (8, 2), ( 8, 2) ====================================

Contoh Iterasi ke-3 (k = 2; x 3 = 2; y 3 = 8; p 3 = 1) Karena p 2 > 0, maka x 3 = x 2 + 1 = 2 + 1 = 3 dan y 3 = y 2 1 = 8 1 = 7, jadi Titik selanjutnya : (3,7) p 3 = p 2 + 2 x 3 + 1 2 y 3 = 1 + 2.(3) + 1 2.(7) = 6 Dengan algoritma simetris delapan titik, maka diperoleh titik-titik berikut : (3,7), ( 3,7), (3, 7), ( 3, 7), (7,3), ( 7,3), (7, 3), ( 7, 3) ==================================== Iterasi ke-4 (k = 3; x 1 = 3; y 1 = 7; p 1 = -6) Karena p 3 < 0, maka x 4 = x 3 + 1 = 3 + 1 = 4 dan y 4 = y 3 = 7, jadi Titik selanjutnya : (4,7) p 4 = p 3 + 2 x 4 + 1 = 6 + 2.(4) + 1 = 3 Dengan algoritma simetris delapan titik, maka diperoleh titik-titik berikut : (4,7), ( 4,7), (4, 7), ( 4, 7), (7,4), ( 7,4), (7, 4), ( 7, 4) ====================================

Contoh Iterasi ke-5 (k = 4; x 3 = 4; y 3 = 7; p 3 = 3) Karena p 4 > 0, maka x 5 = x 4 + 1 = 4 + 1 = 5 dan y 5 = y 4 1 = 7 1 = 6, jadi Titik selanjutnya : (5,6) p 5 = p 4 + 2 x 4 + 1 2 y 4 = 3 + 2.(5) + 1 2.(6) = 2 Dengan algoritma simetris delapan titik, maka diperoleh titik-titik berikut : (5,6), ( 5,6), (5, 6), ( 5, 6), (6,5), ( 6,5), (6, 5), ( 6, 5) ==================================== Iterasi ke-6 (k = 5; x 1 = 5; y 1 = 6; p 1 = 2) Karena p 5 > 0, maka x 6 = x 5 + 1 = 5 + 1 = 6 dan y 6 = y 5 1 = 6 1 = 5, jadi Titik selanjutnya : (6,5) Iterasi dihentikan karena X > Y.

Contoh Bila digambar, hasil untuk oktan ke-1 ditunjukkan oleh gambar berikut: Posisi piksel pada pembentukan lingkaran dengan titik pusat (0,0) dan jari-jari 8