Mainan #3 GrafCit: Algoritma Lingkaran


Mainan ini khusus untuk mahasiswa yang mengambil mata kuliah Grafika dan Citra Komputer pada kelas TFN. Anda disarankan untuk membaca beberapa referensi terkait dengan materi lingkaran,

Bresenham’s Circle Algorithm

Logika dari pembentukan lingkaran tidak jauh berbeda dengan pembentukan garis. Setiap titik koordinat yang dibuat sebisa mungkin sempurna membentuk keliling lingkaran. Pada pembentukan Lingkaran harus diketahui titik koordinat dari pusat lingkaran dan radius lingkaran. Pada ilustrasi yang diberikan, lingkaran diasumsikan terbagi dalam 8 segment dengan masing membentuk sudut 45 derajat.

Algoritma ini dikenal dengan istilah Midpoint Algorithm, karena pembentukan garis lingkaran berdasarkan acuan titik tengah lingkaran. Berikut ini langkah-langkah algoritma pembentuk lingkaran,

  1. Tentukan radius r dengan titik pusat lingkaran (xc, yc), hingga diperoleh titik awal pada pusat lingkaran:
    • (x0, y0) = (0, r)
  2. Hitung Parameter, P0 = 1 – r
  3. Untuk setiap posisi xk, dimulai dengan k=0 berlaku ketentuan:
    • bila  pk < 0   maka titik selanjutnya adalah (xk+1, yk)  dan
      • pk+1 = pk + 2 xk+1 + 1
    • bila tidak, titik selanjutnya adalah (xk+1, yk 1)  dan
      • pk+1 = pk + 2 xk+1 + 1 – 2 yk+1
    • dimana  2 xk+1 = 2 xk + 2  dan 2 yk+1 = 2 yk – 2
  4. Tentukan titik simetris pada ketujuh oktan (area 1-7) yang lain
  5. Gerakkan setiap posisi pixel (x, y) pada garis lingkaran dengan titik pusat (xc, yc) dan plot nilai koordinat:
    • x = x + xc,   y = y + yc
  6. Lakukan iterasi berikutnya, dengan mengulang proses ke-3

Selamat Mencoba!

Mainan #3 GrafCit?

Kerjakan mainan berikut ini secara individu, gunakan kertas dan pulpen.

  1. Buatlah lingkaran dengan titik pusat (0,0) dan radiusnya = 8 dengan algorithma Midpoint (Bressenham)
  2. Gunakan Algoritma (Pembentuk Garis) DDA dan Bresenham untuk menentukan Garis titik-titik Digital antara,
    1. (7, -1) to (-4, -6)
    2. (4, 3) to (9, -2)
  3. Jika diperlukan, buat ilustrasi gambar pada soal no.1 dan 2 diatas.

Kumpulkan sebelum pukul 17.30 di meja kubikal TFN. Jangan lupa untuk menuliskan identitas lengkap Anda pada lembar jawaban tersebut.

Jika ada yang sulit dimengerti, silahkan berdiskusi lebih lanjut. THX

 

 

,