Pertemuan 04 - Algoritma Lingkaran dan Elips
Algoritma Lingkaran (Midpoint)
Algoritma Midpoint untuk lingkaran menggunakan pendekatan incremental untuk menggambar lingkaran dengan efisien.
Langkah-langkah:
- Masukkan titik pusat (xc, yc) dan jari-jari r
- Hitung nilai awal: x = 0, y = r, p = 1 - r
- Gambar titik simetris di 8 oktan
- 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:
- Masukkan titik pusat (xc, yc), rx (sumbu x), ry (sumbu y)
- 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
- 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.
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.
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).