Pertemuan 04 - Algoritma Lingkaran dan Elips

Algoritma Lingkaran (Midpoint)

Algoritma Midpoint untuk lingkaran menggunakan pendekatan incremental untuk menggambar lingkaran dengan efisien.

Langkah-langkah:

  1. Masukkan titik pusat (xc, yc) dan jari-jari r
  2. Hitung nilai awal: x = 0, y = r, p = 1 - r
  3. Gambar titik simetris di 8 oktan
  4. Selama x ≤ y:
    • Jika p < 0: p=p + 2x + 3
    • Jika p ≥ 0: p = p + 2(x - y) + 5, y--
    • x++
    • Gambar titik di posisi baru

Algoritma Elips (Midpoint)

Algoritma Midpoint untuk elips membagi proses menjadi dua region dengan perhitungan berbeda.

Langkah-langkah:

  1. Masukkan titik pusat (xc, yc), rx (sumbu x), ry (sumbu y)
  2. Region 1:
    • Mulai dari (0, ry)
    • Hitung p1 = ry² - rx²ry + rx²/4
    • Gambar titik simetris di 4 kuadran
    • Ulangi selama 2ry²x < 2rx²y
  3. Region 2:
    • Hitung p2 = ry²(x+0.5)² + rx²(y-1)² - rx²ry²
    • Gambar titik simetris di 4 kuadran
    • Ulangi sementara y ≥ 0

Algoritma Lingkaran (Midpoint Circle Algorithm)

Algoritma untuk menggambar lingkaran menggunakan pendekatan midpoint dengan optimasi perhitungan integer.

Titik lingkaran

Visualisasi Lingkaran

Perhitungan Langkah demi Langkah

Iterasi x y Pk Keputusan Titik Simetris

Algoritma Elips (Midpoint Ellipse Algorithm)

Algoritma untuk menggambar elips menggunakan pendekatan midpoint.

Titik elips

Visualisasi Elips

Perhitungan Langkah demi Langkah

Region x y Parameter Keputusan Titik Simetris

Penjelasan Algoritma

Algoritma Midpoint untuk lingkaran dan elips adalah pendekatan efisien dalam menggambar kurva dengan hanya menggunakan operasi integer. Kedua algoritma memanfaatkan simetri untuk mengurangi perhitungan:

  • Lingkaran: Memiliki 8 simetri sehingga hanya perlu menghitung 1/8 bagian lingkaran
  • Elips: Memiliki 4 simetri sehingga hanya perlu menghitung 1/4 bagian elips

Kedua algoritma menggunakan pendekatan incremental untuk menentukan titik berikutnya berdasarkan nilai parameter keputusan (Pk).