BAB 4
OUTPUT
PRIMITIF
34
Grafika Komputer
35
Grafika Komputer
A. Titik
Dalam penjelasan matematis titik dapat diartikan sebagai
sesuatu yang tidak berbentuk, tidak mempunyai ukuran dan
bagian. Oleh dari itu dapat kita simpulkan bahwa sebuah titik
dalam geometri adalah sebagai berikut
1. Tidak mempunyai bentuk tertentuk
2. Tidak memiliki panjang, lebar, tinggi atau tebal.
3. Memiliki tempat (posisi)
36
Grafika Komputer
B. Garis
Garis adalah kumpulan atau himpunan dai beberapa titik
yang
tak terhingga yang tidak dapat diukur panjang, lebar dan
tebalnya. Untuk ukuran sebuah garis memiliki panjang yang
tidak terbatas dan tidak berujung. Sebuah garis dapat
direpresentasikan seperti bentuk seutas tali yang lurus yang
panjangnya tak terhingga. Jika titik memiliki ukuran panjang,
lebar dan tebal maka sebuah garis hanya memiliki ukuran
panjang. Setiap titik diberi nama menggunakan satu buah huruf
kapital, penamaan pada sebuah garis menggunakan huruf kecil
seperti g, h, k,l dan seterusnya, atau dua buah huruf kapital
seperti AB, AC, BC, CD, dan seterusnya.
37
Grafika Komputer
38
Grafika Komputer
jika kedua ujung garis diketahui berada pada posisi (x1, y1) dan (x2, y2)
y dan b y1 m .
m x 2
2
y1 x1
x1
y y y y m . x dan x y
m x2 x 1 , m , m
2 1 x
40
Grafika Komputer
atau x, Garis dibuat menggunakan dua titik, yaitu titik awal (x1, y1)
dan titik akhir (x2, y2). Setiap koordinat titik (xk, yk) yang membentuk
A = (x1, y1 )
B = (x2, y2)
dx = x2 - x1
dy = y2 - y1
untuk nilai
dx dan dy
bersifat
Absolut
4. Tentukan Parameter atau nilai step, yakni jarak maksimum
jumlah penambahan nilai x atau nilai y, dengan ketentuan:
- bila |dx| > |dy| maka nilai step = |dx|
42
- bila |dy| > |dx| maka nilai step = |dy|
5. dengan persamaan:
Grafika Komputer
y_inc = dy
step
5.
Hitung koordinat Piksel selanjutnya (xk, yk )
x + x_inc
Xk =
y +
Yk =
y_inc
Untuk pehitungan awal maka x dimulai dari x awal (x1) dan y
x = x2 atau y = y2.
8. Proses selesai.
Contoh Soal :
Diketahui dua buah titik A( 2,5) dan titik B (7,12) . Jika titik A
merupakan Titik awal dan Titik B adalah titik akhir, gambarlah
titik antara yang akan menghubungkan kedua titik tersebut.
selesaikan dengan menggunakan algoritma DDA.
Penyelesaian :
x1 = 2; x2 = 7
1. Sebagaimana diketahui dalam soal :
y1 = 5; y2 = 12
Titik Awal = A (2,5)
Titik Akhir = B (7,12)
43
Grafika Komputer
y_inc = dy
s
= 7
7
= 1
4. Hitung
koordinat Piksel
selanjutnya (xk,
yk )
X1 = x + x_inc
44
= 2 + 0,714
= 2,714
Grafika Komputer
X2 = x + x_inc
= 2,714+ 0,714
= 3,428
Y2 = y + y_inc
= 6+1
= 7
X3 = x + x_inc
= 3,428 + 0,714
= 4,142
Y3 = y + y_inc
= 7+1
= 8
X4 = x + x_inc
= 4,142+ 0,714
= 4,856
Y4 = y + y_inc
= 8+1
= 9
X5 = x + x_inc
= 4,856 + 0,714
= 5,57
Y5 = y + y_inc
45
= 9+1
= 10
Grafika Komputer
X6 = x + x_inc
= 5,57 + 0,714
= 6,284
Y6 = y + y_inc
= 10 + 1
= 11
X7 = x + x_inc
= 4,856 +
0,714
= 6,998
Y7 = y + y_inc
= 11 + 1
= 12
46
Grafika Komputer
47
Grafika Komputer
Contoh Soal :
Diketahui 2 buah titik A (2,1) dan titik B(8,5) bila titik A
sebagai titik ujung 1 dan titik B sebagai titik ujung 2, maka
gambarlah garis antara yang menghubungkan kedua titik
tersebut dengan menggunakan algoritma Brute Force.
49
Grafika Komputer
Penyelesaian
x1 = 2; x2 = 8
y1 = 1; y2 = 5
Titik Awal =
A (2,1) Titik Akhir = B
(8,5)
2.Karena nilai x1 tidak sama dengan x2, maka langkah kedua
tidak terpenuhi.
3.Karena nilai y1 tidak sama dengan y2, maka langkah ketiga
tidak terpenuhi.
4. m = (5 – 1)
(8 – 2)
= 0,67
5. N = 8 – 2 +
1=7
6. untuk x = 2
y =
0,67
(x –
2) + 1
y = 0,67 * (3 – 2) + 1 = 1,67
pembulatan : y = 2
gambar titik (3,2)
x=3+1=4
iterasi ke-3:
x=4
y = 0,67 * (4 – 2)
+ 1 = 2,34
pembulatan : y = 2
gambar titik (4,2)
x=4+1=5
iterasi ke-4:
x=5
y = 0,67 * (5 – 2)
+ 1 = 3,01
pembulatan : y = 3
gambar titik (5,3)
x=5+1=6
iterasi ke-5:
x=6
y = 0,67 * (3 – 2)
+ 1 = 3,68
pembulatan: y = 4
gambar titik (6,4)
x=6+1=7 51
Grafika Komputer
iterasi ke-6:
x=7
y = 0,67 * (7 – 2) + 1 =4,35
pembulatan: y = 4
gambar titik (7,4)
x=7+1=8
iterasi ke-7:
x=8
y = 0,67 * (7 –
2) + 1 =5,02
pembulatan: y = 5
gambar titik (8,5)
52
Grafika Komputer
53
Grafika Komputer
Contoh Soal :
Diketahui 2 buah titik A (4,3) dan titik B(7,8) bila titik A
sebagai titik ujung 1 dan titik B sebagai titik ujung 2, maka
gambarlah garis antara yang menghubungkan kedua titik
tersebut dengan menggunakan algoritma Brute Force.
Penyelesaian :
x1 = 4; x2 = 7
y1 = 3; y2 = 8
Titik Awal = A (4,3)
Titik Akhir = B (7,8)
2.Karena nilai x1 tidak sama dengan x2, maka langkah kedua
tidak terpenuhi.
3.Karena nilai y1 tidak sama dengan y2, maka langkah ketiga
tidak terpenuhi.
4. m = (7 – 4)
(8 – 3)
= 0,6
5. N = 8 – 3 +
1=6
6. untuk y =
3
x =
0,6 *
(y –
2) + 4
x = 0,6 * (3 – 3) + 4 =4
Grafika Komputer
iterasi ke-2:
y= 4
x = 0,6 * (4 – 3) + 4 =4,6
pembulatan: x = 5
gambar titik (5,4)
y=4+1=5
iterasi ke-3:
y= 5
x = 0,6 * (5 – 3) +
4 =5,2
pembulatan: x = 5
gambar titik (5,5)
y=5+1=6
iterasi ke-4:
y= 6
x = 0,6 * (6 – 3) +
4 =5,8
pembulatan: x = 6
gambar titik (6,6)
y=6+1=7
y= 7
iterasi ke-5:
56
Grafika Komputer
x = 0,6 * (7 – 3) + 4 =6,4
pembulatan: x = 6
gambar titik (6,7)
y=7+1=8
iterasi ke-6:
y= 8
x = 0,6. (8 – 3) + 4 =7
pembulatan: x = 7
gambar titik (7,8)
y=8+1=9
Sehingga titik antara yang menghubungkan
didapatkan
Titik A dan B adalah (4,3), (5,4), (5,5), (6,6), (6,7), (7,8).
Kelemahan dari Algoritma Bruto Force ini terlalu lambat
dan membutuhkan waktu yang lama, hal ini dikarenakan pada
setiap iterasi terdapat beberapa proses berulang seperti perkalian
bilangan pecahan (floating point) kemudian dilanjutkan
penjumlahan bilangan pecahandan diakhiri proses pembulatan
angka pecahan menjadi bulat (integer).
57
Grafika Komputer
A = (x1, y1 )
B = (x2, y2)
3. Hitung
dx = x2 - x1
dy = y2 - y1
2|dy|
2|dy| – 2|
dx|
untuk nilai
5. Untuk setiap xk sepanjang jalur garis, dimulai dengan k = 0
dx dan dy
bersifat
-bila pk < 0 maka titik selanjutnya adalah:
Absolut dan
(x k+1, yk) pk+1 = pk-1 + 2dy
4. Tentukan Parameter:
58
P = 2dy - dx
Grafika Komputer
Contoh soal
Diketahui 2 buah titik A (2,1) dan titik B(8,5) bila titik A
sebagai titik ujung 1 dan titik B sebagai titik ujung 2, maka
gambarlah garis antara yang menghubungkan kedua titik
tersebut dengan menggunakan algoritma Bressenham
Penyelesaian
x1 = 2; x2 = 8
y1 = 1; y2 = 5
Titik Awal = A (2,1)
Titik Akhir = B (8,5)
3.Tentukan Parameter:
P0 = 2dy – dx = 8 – 6 = 2
59
Grafika Komputer
x = 2 + 1 = 3 dan y = 1 + 1 = 2
koordinat selanjutnya : (3,2)
p1 = p0 + 2|dy| – 2|dx| = 2 − 4 = −2
x = 3 + 1 = 4 dan y = 2
koordinat selanjutnya : (4,2)
p2 = p1 + 2|dy| = −2 + 8 = 6
selanjutnya adalah
x = 4 + 1 = 5 dan y = 2 + 1
=3
koordinat selanjutnya : (5,3)
p3 = p2 + 2|dy| – 2|dx| = 6 − 4 =
60
Iterasi ke-4 ( k = 3):
Titik awal = (5,3)
Grafika Komputer
p4 = p3 + 2|dy| – 2|dx| = 2 − 4 = −2
x = 6 + 1 = 7 dan y = 4
koordinat selanjutnya : (7,4)
p5 = p4 + 2|dy| = −2 + 8 = 6
selanjutnya adalah
x = 7 + 1 = 8 dan y = 4 + 1
=5
koordinat selanjutnya : (8,5)
K Pk xk+1, yk+1
p6 = p5 + 2|dy| = 6 + 8 = 14
0 2 2,1
Karena x = x2 =1 8, maka -2 3,2
iterasi dihentikan.
2 6 4,2
3 Tabel 4.3.2 5,3
4 nilai -2 6,4
5 bressenha6 7,4
6 m 14 8,5
61
Grafika Komputer
62
Grafika Komputer
Titik Awal = (0 , r)
pk+1 = pk + 2 xk+1 + 1
6. Ulangi langkah
dengan titik pusat 3(xsampai
p, yp) dandengan
plot nilai5 koordinat
hingga posisi nilai
x≥y
7. Proses Selesai
63
Grafika Komputer
Contoh Soal :
Diketahui sebuah pusat lingkaran (4,6) dengan jari – jari 8,
Gambarlah sebuah lingkaran. Gambarlah sebuah lingkatan yang
dapat dibentuk dari titik tersebut. Penyelesaian :
Penyelesaian:
perhitungan berdasarkan dari oktan kuadran pertama dimana
x = 0 sampai x = y.
Diketahui :
Titik awal dimulai dari (x,r) =
(0,8). r = 8; Karena jari-jari r bulat,
maka=1–r
P0
=1 – 8 = - 7
Iterasi ke-1:
K = 0; X0 = 0; Y0 = r = 8; P0 = –7
X1 = X0 + 1 = 0 + 1 = 1 dan Y1 = Y0 = 8,
Iterasi ke-2:
K = 1; X0 = 1; Y0 = r = 8; P0 = –4
X1 = X1 + 1 = 1 + 1 = 2
Y2 = Y1 = 8,
65
Grafika Komputer
Iterasi ke-3:
K = 2; X2 = 2; Y2 = 8; P2 = 1
X3 = X2 + 1 = 2 + 1 = 3
Y3 = Y2 –1 = 8 – 1 = 7
Iterasi ke-4:
K = 3; X3 = 3; Y3 = 7; P3 = - 6
= X3 + 1 = 3 + 1 = 4 Y4 =
Y3 = 7
= 1 + 2*(4) + 1 = 3
Grafika Komputer
Tabel 4.7. posisi piksel dari iterasi 4 pada titik pusat (4,6)
Simetris Delapan Titik (x + 4, y + 6)
(4,7) (8, 13)
(–4,7) (0, 13)
(4, –7) (8, –1)
(–4, –7) (0, –1)
(7,4) (11, 10)
(–7,4) (–3, 10)
(7,–4) (11, 2)
(–7, –4) (–3, 2)
Iterasi ke-5:
K = 4; X4 = 4; Y4 = 7; P4 = 3
X5 = X4 + 1 = 4 + 1 = 5
Y5 = Y4 –1 = 7 – 1 = 6
67
Grafika Komputer
Iterasi ke-6:
K = 5; X5 = 5; Y5 = 6; P5 = 2
X6 = X5 + 1 = 5 + 1 = 6
Y6 = Y5 –1 = 6 – 1 = 5
2. Elips
Elips merupakan himpunan titik yang yang apabila jaraknya di
jumlahkan dari 2 posisi yang tetap memiliki nilai sama pada
setiap titik. Persamaan Ellips dengan pusat 0,0 dan jari-jari Rx
dan Ry adalah sebagai berikut :
= ( x- xc )2 + ( y- yc )2
Rx Ry
68
Grafika Komputer
69
Grafika Komputer
y
Teruskan sampai x k
berikut:
2 2 2 2 2
2
P2k+1 = 2ry (xo+1/2) +2rx (yo1) rx ry
70
Grafika Komputer
Contoh soal
1. Gambarkan sebuah elips dengan titik dengan titik pusat(0,0)
dan mayor axis rx=6, serta minor axis ry = 8,menggunakan
algoritma midpoint elips.
Penyelesaian :
Berdasarkan kuadran pertama, nilai parameter dapat ditentukan
2r 2x=0
2r 2 2
x=2rx ry
y
p1o= r 2 + r 2ry 1/4 r 2
y x x
=215
Koordinat titik awal (x,r) =(0,8)
71
Grafika Komputer
72