Menggambar LINGKARAN (1/7)

dokumen-dokumen yang mirip
BAB-4 LINGKARAN dan ELIPS

Mata Kuliah : Grafik Komputer KONVERSI PEMINDAIAN

BAB III OUTPUT PRIMITIF

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

Geometri Primitive. D3 Manajemen Informatika S1 Sistem Informasi

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

Output Primitif : Garis

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

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

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

Output Primitif : Garis. Output Primitive : point, garis, lingkaran. Pertemuan : 3 Dosen Pembina : Sriyani Violina Danang Junaedi

ALGORITMA MIDPOINT UNTUK PENGGAMBARAN GRAFIK BERKECEPATANG TINGGI

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

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

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

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

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

B. 30 X + 10 Y 300; 20 X + 20 Y 400; X 0, Y 0 C. 10 X + 30 Y 300; 20 X + 20 Y 400, X 0, Y 0 D. 10 X + 30 Y 300, 20 X + 20 Y 400, X 0, Y 0

Persamaan Garis Lurus Persamaan Garis Lurus dan Grafiknya

Pertemuan Minggu ke Bidang Singgung, Hampiran 2. Maksimum dan Minimum 3. Metode Lagrange

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

Menggambar Garis dan Lingkaran dengan Algoritma Bresenham Teguh Susyanto 2)

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

MATEMATIKA EKONOMI DAN BISNIS. Nuryanto.ST.,MT

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

Dosen Pembimbing: 1. Tavio, ST, MS, Ph.D 2. Bambang Piscesa, ST, MT

Algoritma & Pemrograman FUNGSI. Pengampu : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork

Daftar kelompok Kelas Mahasiswa Angkatan 52 Program Pendidikan Kompetensi Umum Institut Pertanian Bogor

BAB IV ATRIBUT OUTPUT PRIMITIF

G. Minimum Lokal dan Global Berikut diberikan definisi minimum local (relatif) dan minimum global (mutlak) dari fungsi dua variabel.

RINGKASAN IRISAN KERUCUT (PARABOLA, ELIPS, DAN HIPERBOLA)

RINGKASAN IRISAN KERUCUT (PARABOLA, ELIPS, DAN HIPERBOLA)

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

KALKULUS BAB I. PENDAHULUAN DEPARTEMEN TEKNIK KIMIA

PERSAMAAN NON LINIER

LATIHAN SOAL (FUNGSI & PROSEDUR)

Parabola didefinisikan sebagai tempat kedudukan titik-titik P(x, y) pada

BAB II VEKTOR DAN GERAK DALAM RUANG

SUB PROGRAM P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera

Modul Matematika 2012

Functions and Graphs Zhafir Aglna Tijani Jadug Norach Agna Parusa. Copyright 2014 Bimbingan Belajar Merlion BBMerlion.com

Lingkaran adalah tempat kedudukan titik-titik pada bidang yang berjarak

MATEMATIKA TEKNIK DASAR-I FUNGSI-2 SEBRIAN MIRDEKLIS BESELLY PUTRA TEKNIK PENGAIRAN

Modul. Grafika Komputer. Disusun Oleh: Maya Amelia

Materi. Menggambar Garis. Menggambar Garis 9/26/2008. Menggambar garis Algoritma DDA Algoritma Bressenham

Persamaan Diferensial: Pengertian, Asal Mula dan Penyelesaian

GEOMETRI ANALIT DI R3

Persamaan Parametrik

PENGEMBANGAN ALGORITMA PENGUBAHAN UKURAN CITRA BERBASISKAN ANALISIS GRADIEN DENGAN PENDEKATAN POLINOMIAL

Fungsi. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

COMPUTER VISION UNTUK PENGHITUNGAN JARAK OBYEK TERHADAP KAMERA

Pertemuan Minggu ke Keterdiferensialan 2. Derivatif berarah dan gradien 3. Aturan rantai

IMPLEMENTASI DAN PENGUJIAN

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

1. Algoritma Global 1.1 Algoritma Ruang Kuliah a. Pilih model Plane yang digunakan untuk memberi dasar lantai ruangan, kemudian sesuaikan lokasi,

Catatan Kuliah MA1123 Kalkulus Elementer I

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

Operasi-operasi Dasar Pengolahan Citra Dijital

Fungsi 2 DASAR PEMROGRAMAN

METODE MONTE CARLO. Presented by Muchammad Chusnan Aprianto Dr.KHEZ Muttaqien Istitute of Technology

Kontur dan Representasinya

Pertemuan 9: BRANCHING/PERCABANGAN dalam C LOOPING/PERULANGAN/ITERASI dalam C

Algoritma dan Struktur Data

FUNGSI MINGGU KE: 4 TUJUAN: Mahasiswa dapat memahami definisi fungsi. Mahasiswa dapat mendefinisikan fungsi. Mahasiswa dapat menggunakan fungsi.

Pengembangan Algoritma Pengubahan Ukuran Citra Berbasiskan Analisis Gradien dengan Pendekatan Polinomial

PENGARUH JUMLAH SUKU FOURIER PADA PENDEKATAN POLAR UNTUK SISTEM GEOMETRI KARTESIAN

Nilai Ekstrim. (Extreme Values)

a home base to excellence Mata Kuliah : Kalkulus Kode : TSP 102 Pengantar Kalkulus Pertemuan - 1

BAB 10 POINTER 5.1 Tujuan 5.2 Pengertian Pointer Perubah dinamis pointer

TUGAS PROGRAM DIAGONAL, VETIKAL, DAN HORIZONTAL OPENGL (MENGGUNAKAN JAVA) NAMA : SYIFA MUTIARA SARI KELAS : 3KA23 NPM :

Grafik Komputer : KLIPING

SOAL LATIAHN GRAFIK KOMPUTER

BAB 2 LANDASAN TEORI

STATISTIK PENDIDIKAN

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

Antiremed Kelas 10 Matematika

Subprogram (dalam Bahasa C++ + Flowchart)

BAB III TURUNAN DALAM RUANG DIMENSI-n

LOGIKA ALGORITMA. Pertemuan 6. By: Augury

Kumpulan soal-soal ujian tengah dan akhir semester genap, 2005/2006 Saat Angkatan 2005 semester II

Perulangan, Percabangan, dan Studi Kasus

APLIKASI POLA BATIK MENGGUNAKAN METODE FRAKTAL DAN ALGORITMA LINGKARAN 8 WAY SIMETRIS. Abstrak

MA1201 MATEMATIKA 2A Hendra Gunawan

BAB IV Pemrograman Grafis

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

MATEMATIKA TEKNIK DASAR-I JENIS-JENIS FUNGSI SEBRIAN MIRDEKLIS BESELLY PUTRA TEKNIK PENGAIRAN

12/29/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Fungsi. Fungsi. y = f (x) = x m = jumlah ( a, b ) = a + b

PRAKTIKUM 3 Penyelesaian Persamaan Non Linier Metode Regula Falsi

Matematika EBTANAS Tahun 1991

FUNGSI. Riri Irawati, M.Kom 3 sks

REKURSIF. Arkham Zahri Rakhman, S.Kom., M.Eng. Rev.: Dr. Fazat Nur Azizah

SILABUS KURIKULUM BERBASIS KOMPETENSI FAKULTAS TARBIYAH BANJARMASIN

PRAKTIKUM 3 Penyelesaian Persamaan Non Linier Metode Regula Falsi

Pertemuan : 4 Materi : Fungsi Bernilai Vektor dan Gerak Sepanjang Kurva Bab II. Diferensial Kalkulus Dari Vektor

Bab 2 Output Primitif

Langkah Awal menuju Analisis Kompleksitas Algoritma

Matematika Ekonomi KUADRAT DAN FUNGSI RASIONAL (FUNGSI PECAH) GRAFIK FUNGSI KUADRAT BERUPA PARABOLA GRAFIK FUNGSI RASIONAL BERUPA HIPERBOLA

SOAL TRY OUT UN MATEMATIKA 2013 PROGRAM IPS. Berilah tanda silang (x) pada huruf A, B, C, D atau E di depan jawaban yang benar!

Integral lipat dua BAB V INTEGRAL LIPAT 5.1. DEFINISI INTEGRAL LIPAT DUA. gambar 5.1 Luasan di bawah permukaan

Contoh Penerapan Algoritma Genetik Untuk Menentukan Fungsi Keanggotaan Misalkan system dengan input dan output tunggal seperti pada table berikut.

Transkripsi:

Menggambar LINGKARAN (1/7) Persamaan umum LINGKARAN : dengan Contoh program menggambar lingkaran : void circlesimple(int xcenter, int ycenter, int radius, Color c) { int x, y, r; r = radius * radius; for (x = -radius; x <= radius; x++) { y = (int)(sqrt(r - x*x) + 0.5); setpixel(xcenter + x, ycenter + y, c); setpixel(xcenter + x, ycenter y, c); Hasilnya : Bagaimana bila dilakukan terhadap y? Masalah : Kemiringan tangen pada suatu titik > 1, x tidak bekerja. Solusi : gabungkan keduanya sehingga didapat lingkaran simetris untuk x dan y. Cara ini disebut -way symmetry Grafik Komputer : Geometri Primitive 1/11

Menggambar LINGKARAN (/7) 4-way symmetry void circle4way(int xcenter, int ycenter, int radius, Color c) { int x, y, r; setpixel(xcenter, ycenter + radius, c); setpixel(xcenter, ycenter radius, c); r = radius * radius; for (x = 1; x <= radius; x++) { y = (int)(sqrt(r - 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); Hasil : Lebih cepat dari yang pertama, tapi tidak lebih baik dalam menampilkan lingkaran Grafik Komputer : Geometri Primitive /11

Menggambar LINGKARAN (3/7) 8-way symmetry void circle8way(int xcenter, int ycenter, int radius, Color c) { int x, y, r; setpixel(xcenter, ycenter + radius, c); setpixel(xcenter, ycenter radius, c); setpixel(xcenter + radius, ycenter, c); setpixel(xcenter - radius, ycenter, c); r = radius * radius; x = 1; y = (int)(sqrt(r 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); Hasil : x += 1; y = (int)(sqrt(r 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 lingkaran Grafik Komputer : Geometri Primitive 3/11

Menggambar LINGKARAN (4/7) Fungsi Disciminator Telah diketahui bahwa : dan dapat ditulis sebagai suatu fungsi : f(x,y) = x + y -r Fungsi Discriminator : f(x,y) < 0 untuk titik di dalam lingkaran f(x,y) > 0 untuk titik di luar lingkaran f(x,y) = 0 untuk titik yang terletak pada lingkaran Algoritma Titik Tengah Lingkaran (Midpoint Circle Algorithm) Bila diketahui suatu titik : (x k,y k ), maka titik berikutnya apakah di (x k +1 ), or (x k +1-1)? Misal titik tengahnya (midpoint) : (x k +1 ) = 0.5 Gunakan fungsi discriminator untuk mendapatkan : f(x,y) = x + y r y k y k-1 y k Circle path x k y k-1 x Midpoint k x k+1 x k+ Grafik Komputer : Geometri Primitive 4/11

Menggambar LINGKARAN (5/7) Algoritma Titik Tengah Lingkaran..(lanjutan) Dengan menggunakan midpoint di antara kandidat pixel, kita dapat mencari Parameter Keputusan, P k, untuk mendapatkan plot pixel berikutnya : P k = f(x k + 1 ½) = (x k + 1) + (y k ½) r P k : - ve, titik tengah berada di dalam lingkaran, plot = (x k +1 ), Update P : f(x+1, y) = (x + 1) + y r f(x+1, y) = (x + x + 1) + y r f(x+1, y) = f(x, y) + x + 1 P k+1 P k Inkremen : P + = x + 1 + ve, titik tengah berada di luar lingkaran, plot = (x k +1-1) Update P : f(x+1, y-1) = (x + 1) + (y-1) r f(x+1, y-1) = (x + x + 1) + (y y+-r ) f(x+1, y-1) = f(x, y) + x + y -1 P k+1 P k Inkremen : P + = x y + Grafik Komputer : Geometri Primitive 5/11

Menggambar LINGKARAN (6/7) Kita dapat memiliki beragam titik awal lingkaran, namun diasumsikan inkremen dimulai dari (0,r), sehingga P 0 dapat dihitung : p 0 = f(1, r 0.5) = 1 + (r 0.5) r p 0 = f(1, r 0.5) = 1 + (r r + 0.5) r p 0 = 1.5 r Algoritma Titik Tengah (MidPoint) selengkapnya : 1. Input radius, r, and titik tengah lingkaran (x c, y c ). Titik awal di-plot pada (0, r) yang merupakan titik tengah lingkaran asli,. Hitung nilai awal Parameter Keputusan : 5 p0 = r 4 3. Pada x k, dimulai dengan k = 0, uji nilai p k : Jika p k < 0, maka titik selanjutnya (x k+1 ) dan p k + 1 = pk + xk + 1 + 1, Untuk hal lain, titik berikutnya (x k+1-1) dan 4. Tentukan titik simetri pada 7 octant lainnya. 5. Ambil titik aktual untuk titik tengah lingkaran pada (x c, y c ) dimana (x + x c, y + y c ). 6. Ulangi langkah 3 sampai 5 hingga tercapai x y. p = pk + xk 1 + 1 yk k +1 + +1. Grafik Komputer : Geometri Primitive 6/11

Menggambar LINGKARAN (7/7) 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 += *x+1; else { p += *(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); Grafik Komputer : Geometri Primitive 7/11

Menggambar ELLIPS (1/4) Persamaan umum ellips : atau d 1 + d = konstan F 1 d 1 d F (x, y) ( x x ) + ( y y ) + ( x x ) + ( y y ) constant 1 1 = Namun, yang akan digunakan adalah ellips standard : r y c c = 1 r x x x r x + y y r y Ellips hanya memiliki -way symetri : (-a, b) (a, b) (-a, -b) (a, -b) Grafik Komputer : Geometri Primitive 8/11

Menggambar ELLIPS (/4) Membangun ellips : Pusat ellips standard : Fungsi Discriminator : dimana : f e (x,y) < 0 untuk suatu titik di dalam ellips f e (x,y) > 0 untuk suatu titik di luar ellips f e (x,y) = 0 untuk suatu titik pada ellips f e x r + x r y y = 1 ( x y) = r x + r y r r, y x x y Algoritma Titik Tengah/MidPoint Ellips Ellips berbeda dengan lingkaran Pendekatannya sama dengan lingkaran, tapi berbeda dalam sampling arah. Region 1 : Sampling arah x Pilihannya antara (x k +1 ), or (x k +1-1) Midpoint: (x k +1-0.5) Region : Sampling arah y Pilihannya antara (x k -1), or (x k +1-1) Midpoint: (x k +0.5-1) Slope = -1 Region 1 Region Grafik Komputer : Geometri Primitive 9/11

Menggambar ELLIPS (3/4) Parameter Keputusan Region 1: p1 k ve: midpoint di dalam pilih pixel (x k+1 ) p1 k +ve: midpoint di luar pilih pixel (x k+1-1) ( x + 1, y 1 ) p1 f k = e k k Region : ( x + 1 y 1) p f, k = e k k p k ve: midpoint di dalam pilih pixel (xk+1, yk-1) p k +ve: midpoint di di luar pilih pixel (xk, yk-1) Grafik Komputer : Geometri Primitive 10/11

Menggambar ELLIPS (4/4) Algoritma Titik Tengah/MidPoint Ellips 1. Input r x, r y titik tengah ellips (x c, y c ). Titik awal sama degnan pusat ellips asli (0, r y ).. Nilai awal parameter keputusan pada region 1: 3. Untuk setiap x k pada region 1, dimulai dari k = 0, uji p1 k : Jika p1 k < 0, titik berikutnya (x k +1 ) dan Keadaan lain, titik berikutnya (x k+1-1) dan 4. Tentukan titik simetri pada 3 octant lainnya 5. Ambil titik aktual untuk pusat ellips (x c, y c ) dimana (x + x c, y + y c ). 6. Ulangi langkah 3-6 hinga tercapai r y x r x yi. 7. Nilai awal parameter keputusan region : 8. Untuk setiap y k pada, dimulai dari k = 0, uji p k : Jika p k > 0, titik berikutnya (x k -1) dan Keadaan lain, titik berikutnya (x k +1-1) dan p 1 10 = ry rx ry 4 rx p + k + 1 = k y k + 1 y p 1 p1 + r x + r k + 1 = k y k + 1 x k + 1 y p 1 p1 + r x r y + r 1 ( x + ) + r ( y ) r r 0 = ry 0 x 0 1 x y,. 9. Tentukan titik simetri pada 3 octant lainnya 10. Ambil titik aktual untuk pusal ellips (x c, y c ) dimana (x + x c, y + y c ). 11. Ulangi langkah 8-10 hingga y < 0. Grafik Komputer : Geometri Primitive 11/11