A.Grafika Komputer
Grafika komputer atau dalam bahasa Inggris computer graphics dapat diartikan sebagai perangkat alat yang terdiri dari hardware dan software untuk membuat gambar, grafik atau citra realistik untuk seni, game komputer, foto dan film animasi. Grafika computer merupakan bagian yang paling menarik dari bidang ilmu komputer, ini dikarenakan untuk dapat memahaminya dengan baik diperlukan kemampuan matematika dan juga keahlian untuk memprogram dan kreativitas.
B.Elemen Gambar untuk Menciptakan Gambar dalam Komputer
Penghasilan citra pada grafik komputer menggunakan primitif grafik dasar. Primitif ini memudahkan untuk merender (menggambar pada layar monitor) sebagaimana penggunaan persamaan geometri sederhana. Primitif grafik dasar yang dipakai dalam algoritma berbasis visual interaktif diantaranya:
1. Titik
2. Garis
1. Pengenalan Titik(Point)
Titik pada komputer merupakan sebuah koordinat yang mengandung identitas warna yang diletakkan pada Cathoda-Ray-Tube (CRT) monitor. Titik merupakan satuan gambar/grafis yang terkecil. Dengan menggambar titik maka kita dapat menggambar obyek apapun. Termasuk bentuk geometri dibawah merupakan bentuk –bentuk yang pada dasarnya berasal dari titik-titik. Operasi titik ini sering digunakan pada pengolahan citra (
Image processing). Setiap titik pada monitor memiliki parameter: koordinat dan warna.
Image processing). Setiap titik pada monitor memiliki parameter: koordinat dan warna.
Atribut (semua parameter yang mempengaruhi bagaimana primitive grafis ditampilkan) dasar untuk titik adalah ukuran dan warna. Ukuran titik direpresentasikan sebagai beberapa piksel.
2. Pengenalan Garis (Line)
Garis adalah kumpulan titik-titik/pixel yang tersusun secara lurus dan linier dari titik awal sampai titik akhir. Penggambaran garis dilakukan dengan menghitung posisi-posisi sepanjang jalur lurus antara dua posisi titik. Jalur lurus yang menghubungkan dua titik tersebut sebenarnya adalah titik-titik yang saling berdempetan mengikuti arah jalur lurus tersebut.
Atribut dasar untuk garis lurus adalah type (tipe), width (tebal), dan color (warna). Dalam berapa paket aplikasi grafik, garis dapat ditampilkan dengan menggunakan pen atau brush. Pada algoritma penggambaran garis, atribut tebal (width) dapat ditentukan seperti juga panjang dan spasi antar titik.
Atribut Tipe Garis
Atribut tipe atau style pada garis dibagi menjadi 3 (tiga) yaitu :
1. Solid line
Algoritma pembentukan garis dilengkapi dengan pengaturan panjang dan jarak yang menampilkan bagian solid sepanjang garis.
2. Dashed line (garis putus)
Garis putus dibuat dengan memberikan jarak dengan bagian solid yang sama.
3. Dotted line (garis titik-titik)
Garis titik-titik dapat ditampilkan dengan memberikan jarak yang lebih besar dari bagian
Atribut Tebal Garis
- Implementasi dari tebal garis tergantung dari kemampuan alat output yang digunakan. Garis tebal pada video monitor dapat ditampilkan sebagai garis adjacent parallel (kumpulan garis sejajar yang berdekatan), sedangkan pada plotter mungkin menggunakan ukuran pen yang berbeda.
- Pada implementasi raster, tebal garis standar diperoleh dengan menempatkan satu pixel pada tiap posisi, seperti algoritma Bressenham. Garis dengan ketebalan didapatkan dengan perkalian integer positif dari garis standar, dan menempatkan tambahan pixel pada posisi sejajar. Untuk garis dengan slope kurang dari 1, routine pembentukan garis dapat dimodifikasi untuk menampilkan ketebalan garis dengan menempatkan pada posisi vertical setiap posisi x sepanjang garis. Untuk garis dengan slope lebih besar dari 1, ketebalan garis dapat dibuat dengan horizontal span.
Atribut Warna Garis
Bila suatu sistem dilengkapi dengan pilihan warna (atau intensitas), parameter yang akan diberikan pada indeks warna termasuk dalam daftar nilai atribut dari sistem. Routine polyline membuat garis pada warna tertentu dengan mengatur nilai warna pada frame buffer untuk setiap posisi pixel, menggunakan prosedur set pixel. Jumlah warna tergantung pada jumlah bit yang akan digunakan untuk menyimpan informasi warna.
Atribut Penggunaan Pen dan Brush
Pada beberapa paket aplikasi grafik, dapat ditampilkan dengan pilihan pen maupun brush. Kategori ini meliputi bentuk, ukuran, dan pola (pattern). Ketebalan yang bermacam-macam dari garis yang mempunyai bentuk pen dan brush dapat ditampilkan dengan cara mengubah ukuran dari mask.
C.Algoritma pembentukan garis
Persamaan garis menurut koordinat Cartesian adalah :
y = m.x+b
dimana m adalah slope (kemiringan) dari garis yang dibentuk oleh dua titik yaitu (x1, y1) dan (x2, y2). Untuk penambahan x sepanjang garis yaitu dx akan mendapatkan penambahan y sebesar : Δy = m. Δx
1. Algoritma garis DDA
DDA adalah algoritma pembentukan garis berdasarkan perhitungan Δx dan Δy, menggunakan rumus Δy = m. Δx. Garis dibuat dengan menentukan dua endpoint yaitu titik awal dan titik akhir. Setiap koordinat titik yang membentuk garis diperoleh dari perhitungan, kemudian dikonversikan menjadi nilai integer.
2. Algoritma Garis Bressenhem
Bressenham mengembangkan algoritma klasik yang lebih menarik, karena hanya menggunakan perhitungan matematika dengan bilangan integer. Dengan demikian tidak perlu membulatkan nilai posisi setiap pixel setiap waktu. Algoritma garis Bressenhem disebut juga midpoint line algorithm adalah algoritma konversi penambahan nilai integer yang juga dapat diadaptasi untuk menggambar sebuah lingkaran
STUDI KASUS DAN PEMBAHASAN
Algoritma Garis DDA
Algoritma Digital Differential Analyzer (DDA) adalah algoritma pembentukan garis berdasarkan perhitungan Δx dan Δy, menggunakan rumus Δy = m.Δx. Garis dibuat dengan menentukan dua endpoint yaitu titik awal dan titik akhir. Setiap koordinat titik yang membentuk garis diperoleh dari perhitungan, kemudian dikonversikan menjadi nilai integer.
Langkah-langkah pembentukan menurut algoritma DDA, yaitu :
1. Tentukan dua titik yang akan dihubungkan.
2. Tentukan salah satu titik sebagai titik awal (x0, y0) dan titik akhir (x1, y1).
3. Hitung Δx = x1 - x0 dan Δy = y1 - y0
4. Tentukan step, yaitu jarak maksimum jumlah penambahan nilai x maupun nilai y dengan cara :
· Bila nilai |Δy| > |Δx| maka step = nilai |Δy|.
· Bila tidak maka step = |Δx|.
5. Hitung penambahan koordinat pixel yaitu x_increment = Δx / step dan y_increment = Δy / step.
6. Koordinat selanjutnya (x+ x_increment, y+ y_increment).
7. Posisi pixel pada layer ditentukan dengan pembulatan nilai koordinasi tersebut.
Ulangi step 6 dan step 7 untuk menentukan posisi pixel selanjutnya, sampai x = x1 dan y = y1.
Contoh :
Untuk menggambarkan algoritma DDA dalam pembentukan suatu garis yang menghubungkan titik (10,10) dan (17,16), pertama-tama ditentukan dx dan dy, kemudian dicari step untuk mendapatkan x_increment dan y_increment.
Δx = x1 – x0 = 17-10 = 7
Δy = y1 – y0 = 16-10 = 6
Selanjutnya hitung dan bandingkan nilai absolutnya.
|Δx| = 7
|Δy| = 6
Karena |Δx| > |Δy|, maka step = |Δx| = 7, maka diperoleh :
x_inc = 7/7 =1
y_inc = 6/7 = 0.86
k
|
x
|
Y
|
round(x),round(y)
|
(10,10)
| |||
0
|
11
|
10,86
|
(11,11)
|
1
|
12
|
11,72
|
(12,12)
|
2
|
13
|
12,58
|
(13,13)
|
3
|
14
|
13,44
|
(14,13)
|
4
|
15
|
14,3
|
(15,14)
|
5
|
16
|
15,16
|
(16,15)
|
6
|
17
|
16,02
|
(17,16)
|
18
| |||||||||||
17
| |||||||||||
16
| |||||||||||
15
| |||||||||||
14
| |||||||||||
13
| |||||||||||
12
| |||||||||||
11
| |||||||||||
10
| |||||||||||
10
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
18
|