Halo semua, sudah lama rasanya tidak posting di blog karna jadwal yang cukup padat. Oke, kembali
pada pembahasan komputer grafis pertemuan 12. Pada pertemuan ini akan dibahas
mengenai algoritma garis dan lingkaran. Di mana jika biasa kita membuat
lingkaran kita menggunakan fungsi ellipse, dalam pembahasan ini kita akan
mempelajari algoritma yang gsebenarnya ada di dalam fungsi ellipse. Tidak hanya
ellipse, fungsi move to dan line to yang kita gunakan untuk membuat garis juga
sebenarnya di dalamnya terkandung algoritma garis. Seperti apa pembahasannya?
Langsung saja kita lihat pembahasannya di bawah ini:
Aturan
Pembuatan Algoritma Garis:
1. Tentukan
P1(x1,y1) dan P2(x2,y2)
2. Hitung
delta x(dx) dan y (dy) tanpa menggunakan mutlak
dx = x2-x1
dy = y2-y1
3. Tentukan
step
Jika dy > dx maka
step = dy
Jika dx > dy maka
step = dx
4. Tentukan
x increment dan y increment
xinc = dx/step
yinc = dy/step
5. Lakukan
pengisian nilai pada X dan Y
X = x1
Y = y1
6. Lakukan
loop sejumlah step
Lakukan perhitungan:
X
= x + xinc
Y
= y + yinc
posx
= round(X)
posy
= round(Y)
Gambar pixel pada posisi (posx,posy)
Image1.Canvas.Pixel[posx,posy] := clBlack;
Aturan
Pembuatan Algoritma Lingkaran
1. Tentukan
pusat lingkaran (xc,yc) dan jari-jari (r)
2. Tentukan
pencacah
C = 1/r
3. Lakukan
loop dengan pencacah C
Dari sudut 0 sampai 360 untuk degree
Dari sudut 0 sampa 2pi untuk radian
X = xc + r * cos(sudut)
Y = yc + r * sin(sudut)
posx = round(X)
posy = round(Y)
Gambar pixel pada posisi (posx,posy)
Image1.Canvas.Pixel[posx,posy] := clBlack;
Aturan
Pembuatan Algoritma Ellipse:
1. Tentukan
pusat lingkaran (xc,yc) dan jari-jari (rx & ry)
2. Tantukan
pencacah menggunakan rx atau ry
Jika rx > ry maka C = 1/rx
Jika ry > rx maka C = 1/ry
4. Lakukan
loop dengan pencacah C
Dari sudut 0 sampai 360 untuk degree
Dari sudut 0 sampa 2pi untuk radian
X = xc + r * cos(sudut)
Y = yc + r * sin(sudut)
posx = round(X)
posy = round(Y)
Gambar pixel pada posisi (posx,posy)
3. Image1.Canvas.Pixel[posx,posy]
:= clBlack;
Langkah
1: Membuat form dengan tampilan sebagai berikut
X1,
Y1, X2, Y2 untuk menentukan titik awal dan akhir yang dituju. Xc dan Yc untuk
menentukan titik tengah saat kita menggambar ellipse, lingkaran, ellipse
miring, dan busur. Rx dan Ry sebagai jari-jari. Jika Rx dan Ry bernilai sama
maka yang dihasilkan adalah lingkaran. Jika Rx > Ry atau Rx < Ry maka
akan menghasilkan gambar ellipse.
Langkah
2: Menuliskan kode program untuk button garis
Semua
kode program di atas merupakan hasil realisasi dari aturan yang kita pelajari
di awal pembahasan pertemuan 12 ini.
Langkah
3: Menuliskan kode program untuk button ellipse / lingkaran
Pada
saat while, kita looping sudut mulai dari nol sampai 360 untuk degree, dan daro
nol sampai 2pi untuk radian. Karena yang bertambah dalam hal ini loopingnya
adalah sudut, agar bisa menggambar lingkaran ataupun ellise.
Langkah
4: Menuliskan kode program untuk button ellipse miring
Ketika
X dan Y dilooping dengan sudut dan pencacah, X dan Y langsung dirotasikan
sebesar sudut. Sudut yang penulis sertakan adalah sudut tetap yaitu 30 untuk
degree.
Langkah
5: Menuliskan kode program untuk button Busur
Pada
dasarnya jika kita lihat kode program di atas maka kode program ini sebenarnya
sama dengan ellipse ataupun lingkaran. Yang membedakan hanya sudut pada saat
looping while. Pada busur ini ditentukan untuk range sudutnya dari 0 misalnya
sampai 180 untuk degree, atau 0 sampai pi dalam radian.
Langkah
6: Hasil button garis
Langkah 7 : Haisl Button ellispse
Langkah 8: Melihat hasil button ellipse miring
Langkah 9: Melihat hasil button busur
Sekian dari pembahasan pada pertemuan 12 ini
mengenai algoritma garis, dan lingkaran. Dari algoritma lingkaran kita dapat
membuat lingkaran, ellipse, ellise miring, dan busur. tidak terasa sudah 12 kali pertemuan, satu kali pertemuan lagi maka pembahasan mengenai komputer grafis akan selesai, dan mahasiswa harus siap-siap untuk menghadapi UAS.
Semoga blog ini bisa membantu para pembaca termasuk teman-teman saya dalam menghadapi ujian nanti.. ^.^ thx