PENDIDIKAN ILMU KOMPUTER FAKULTAS KEGURU

Nama : Abd Mukmin
NIM

: 1205045171

Kelas : Pilkom B
Tugas : Komputer Grafik

ALGORITMA LINGKARAN BRESENHAM (Mid Point)
Dari gambar dapat disimpulkan bahwa jika Algoritma Bresenham bekerja mulai dari (x=0, y=R)
searah jarum jam, maka y merupakan fungsi menurun dari x, demikian juga sebaliknya, jika
dimulai dari (y=0, x=R) maka x akan merupakan fungsi menurun dari y.

Lingkaran dengan 8 titik simetris

SIMETRIS 8 TITIK
Void CirclePoints(Int X, Int Y, Int Value)
{
SetPixel(X,Y, Value);
SetPixel(-X,Y, Value);
SetPixel(X,-Y, Value);

SetPixel(-X,-Y, Value);
SetPixel(Y,X, Value);
PENDIDIKAN ILMU KOMPUTER
FAKULTAS KEGURUAN DAN ILMU PENDIDIKAN
UNIVERSITAS MULAWARMAN

1

SetPixel(-Y,X, Value);
SetPixel(Y,-X, Value);
SetPixel(-Y,-X, Value);
}

1. Masukkan jari-jari dan pusat lingkaran (xc,yc) dan dapatkan titik permulaan pada keliling
yang berpusat pada titik awal sebagai: (x0 , y0) = (0,r)
2. Hitung nilai awal parameter keputusan sebagai P0 = 5/4 – r
3. Pada masing-masing posisi xk, mulai dari k=0, lakukan tes berikut:
a. Jika pk = y.

MIDPOINT

Algoritma midpoint disebut juga Algoritma Lingkaran Bresenham. Algoritma ini hanya
memperhatikan bagian 45o dari suatu lingkaran.

Contoh Lingkaran :
Diketahui titik pusat lingkaran (0,0) dan radius 8, perhitungan berdasarkan oktan dari kuadran
pertama dimana x = 0 sampai y = 0. Nilai parameter dapat ditentukan dengan.
P0 = 1 – r
= 1 – 8 = -7
Koordinat titik awal adalah (x,r) = (0,8)

PENDIDIKAN ILMU KOMPUTER
FAKULTAS KEGURUAN DAN ILMU PENDIDIKAN
UNIVERSITAS MULAWARMAN

2

Jawab:
X=0

Y=r=8


-------------------------------------------------------------Ke-0
P

=1–r
= 1 – 8 = -7

Loop ke-1
x

= x +1

y tetap = 8

= 0 +1 = 1
--------------------------------------------------------------Ke - 1
P

=P+2*X+1
= -7 + 2 * 1 + 1

= -4

Loop ke-2
x

= x +1

y tetap _ 8

= 1 +1 = 2
--------------------------------------------------------------Ke - 2
P

=P+2*X+1
= -4 + 2 * 2 + 1
=1

Loop ke-3
x


= x +1
= 2 +1 = 3

y = y-1
= 8-1 = 7

---------------------------------------------------------------

PENDIDIKAN ILMU KOMPUTER
FAKULTAS KEGURUAN DAN ILMU PENDIDIKAN
UNIVERSITAS MULAWARMAN

3

Ke - 3
P

= P + 2 * (X –Y) +1
= 1 + 2 * (3 – 7) + 1
= -6


Loop ke-4
x

= x +1

y tetap = 7

= 3 +1 = 4
--------------------------------------------------------------Ke - 4
P

=P+2*X+1
= -6 + 2 * 4 + 1
=3

Loop ke-5
x

= x +1 y = y-1

= 4 +1 = 5 = 7-1 = 6

--------------------------------------------------------------Ke - 5
P

= P + 2 * (X - Y) + 1
= 3 + 2 *(5 - 6) + 1
=2

Loop ke-6
x

= x +1
= 5 +1 = 6

y = y-1
= 6-2 = 5

--------------------------------------------------------------Ke - 6
P


= P + 2 * (X - Y) + 1
= 2 + 2 *(6 - 5) + 1
=5

Loop berhenti karena x > y

PENDIDIKAN ILMU KOMPUTER
FAKULTAS KEGURUAN DAN ILMU PENDIDIKAN
UNIVERSITAS MULAWARMAN

4

Tabel hasil proses
-

Pk

(xk+1,yk+1) oktan 1


-

-

(0.8)

0

-7

(1.8)

1

-4

(2.8)

2


1

(3.7)

3

-6

(4.7)

4

3

(5.6)

5

2


(6.5)

PENDIDIKAN ILMU KOMPUTER
FAKULTAS KEGURUAN DAN ILMU PENDIDIKAN
UNIVERSITAS MULAWARMAN

5