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
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