2. SISTEM KOORDINAT
Pada komputer grafik ada 3 macam sistem koordinat yang harus kita perhatikan : • Koordinat nyata • Koordinat sistem (koordinat cartesian) • Koordinat tampilan / layar
Koordinat Nyata (World Coordinate) • Adalah
koordinat
bersangkutan
yang pada saat
itu objek
yang
berada, misal koordinat sebuah kursi
tergantung dari letak kursi itu ada dimana, bagaimana letaknya. Dalam implementasinya koordinat nyata bisa
dikatakan sebagai WINDOW yaitu area di dunia nyata yang menunjukkan bagian yang dilihat oleh pemirsa.
Koordinat Cartesian • Setiap titik yang digambar dengan teknik point-
plotting lokasinya ditentukan berdasarkan system koordinat
lokasinya
cartesian.
melalui
Setiap
titik
ditentukan
pasangan
nilai
x
dan
y.
Dimana nilai koordinat x bertambah positif dari kiri ke kanan dan nilai y bertambah positif dari
bawah ke atas.
Koordinat Cartesian
Koordinat Tampilan/Layar • Arah sumbu koordinat kartesian berkebalikan dengan
yang digunakan di layar
komputer.
Pada
layar
komputer sumbu x bertambah positif ke kanan dan sumbu y bertambah positif ke bawah. Seperti pada gambar berikut jika sebuah titik pada koordinat cartesian digambar ulang ke layar komputer maka
secara visual lokasi titik tersebut akan berubah.
Koordinat Tampilan/Layar
Koordinat Tampilan/Layar • Dalam implementasinya koordinat tampilan/layar bisa dikatakan sebagai VIEWPORT yaitu area di layar monitor yang menunjukkan
dimana WINDOW akan ditampilkan.
Resolusi Grafik Tipikal
Resolusi Grafik Tipikal
Kuadran Garis • Garis merupakan salah satu bentuk dasar dari gambar. Sebuah garis dalam grafika disebut segment. Garis dibuat dengan menentukan posisi titik diantara titik awal dan akhir dari suatu garis, yaitu (x1,y1) dan (x2,y2).
3. OBJEK PRIMITIF
Objek Primitif • Objek Primitif merupakan salah satu bagian dari
grafika komputer yang terdiri dari titik, garis dan bangun dua dimensi.
• Objek primitive merupakan dasar dari bentuk geometri yang lebih kompleks • Contoh primitive grafika dasar antara lain : titik,
garis, kurva, fill area dan text.
Objek Primitif • Dari sebuah titik dapat dibentuk objek garis,
dimana garis dibentuk dari 2 titik. Dari garis dapat
dibentuk
poligon,
kurva
maupun
lingkaran. Dengan dasar bangun ini maka dapat dibentuk objek-objek lain yang lebih kompleks diantara objek-objek 3 dimensi misalnya kubus,
bola, bahkan objek-objek gabungan semua elemen.
Bentuk Dasar Bangun
Primitif Grafis • Secara umum algoritma grafis memiliki persamaan yaitu bagaimana menampilkan hasil. Primitive grafis yang umum, dijelaskan pada tabel berikut :
Penggambaran Titik dan Garis • Pembentukan titik dilakukan dengan mengkonversi suatu
posisi titik koordinat dengan program aplikasi ke dalam suatu operasi tertentu menggunakan output. Random-scan (vektor) system menyimpan instruksi pembentukan titik
pada display list dan nilai koordinat menentukan posisi pancaran electron ke arah lapisan fosfor pada layer. Garis dibuat dengan menentukan posisi titik diantara titik awal
dan akhir dari suatu garis.
Algoritma Penggambaran Garis Dasar • Persamaan garis menurut koordinat Cartesian adalah: y = m.x + b
• Dimana : • m : kemiringan dari garis yang dibentuk oleh dua titik yaitu (x 1 ,y 1 ) dan (x 2 , y 2 ).
• Untuk
penambahan
x
sepanjang
garis
yaitu
dx
akan
mendapatkan penambahan y sebesar Δy = m. Δx. Dari formulasi
di
atas
penggambaran garis.
dikembangkan algoritma
dasar
untuk
Algoritma Penggambaran Garis Dasar • Contoh: Diketahui dua buah titik A(2, 1) dan B(6, 4).
Tentukan titik-titik dijital yang dilalui oleh garis yang melalui kedua titik tersebut!
Algoritma Penggambaran Garis Dasar Kemudian buat tabel berikut:
Algoritma Penggambaran Garis Dasar • Jadi titik-titik dijitalnya adalah (2,1), (3,2), (4,3), (5,3) dan (6,4).
Algoritma DDA (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.
Algoritma DDA (Digital Differential Analyzer) •
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:
5.
bila nilai |Δy| > |Δx| maka step = nilai |Δy|.
6.
bila tidak maka step = |Δx|.
7.
Hitung penambahan koordinat pixel yaitu x_increment = Δx / step dan y_increment = Δy / step.
8.
Koordinat selanjutnya (x+x_incerement, y+y_increment).
9.
Posisi pixel pada layer ditentukan dengan pembulatan nilai koordinasi tersebut.
10.
Ulangi step 6 dan 7 untuk menentukan posisi pixel selanjutnya, sampai x = x1 dan y = y1
Algoritma DDA (Digital Differential Analyzer)
Algoritma DDA (Digital Differential Analyzer)
Algoritma DDA (Digital Differential Analyzer)
Algoritma DDA (Digital Differential Analyzer)
Algoritma DDA (Digital Differential Analyzer) Kelemahan algoritma DDA :
• Hanya dapat digunakan untuk nilai x1 < x2 dan y1 < y2 atau garis yang berada di kuadran I
• Algoritma DDA ini lebih baik dari algoritma naif, namun adanya penggunaan variabel floating point serta
fungsi
round(yi)
efisienan algoritma ini.
menyebabkan
ketidak
Algoritma Garis Bresenham • Dikembangkan
oleh
Bresenham
berdasarkan
selisih
antara garis yang diinginkan terhadap setengah ukuran dari pixel yang sedang digunakan.
Algoritma Garis Bresenham
Algoritma Garis Bresenham
Algoritma Garis Bresenham Contoh: • Hitung lokasi 5 titik pertama yang dilewati oleh garis (10,30) – (256,147) menggunakan algoritma bresenham. Gambarkan hasil perhitungannya. • Garis (10,30) – (256,147) • dx = (x2 – x1) = (256 – 10) = 246 • dy = (y2 – y1) = (147 – 30) = 117 • • • • •
gunakan algoritma untuk dx > dy e = 2 * dy – dx = 2 * 117 – 246 = -12 d1 = 2 * dy = 2 * 117 = 234 d2 = 2 * (dy – dx) = 2 * (117 – 246) = -258 x = 10 ; y = 30
Algoritma Garis Bresenham • e = -12 , e<0 • e = e + d1 = -12 + 234 = 222 • x = x + 1 = 11 ; y = y = 30 • e = 222, e >= 0 • e = e + d2 = 222 + -258 = -36 • x = x + 1 = 12; y = y + 1 = 31 • e = -36, e<0 • e = e + d1 = -36 + 234 = 198 • x = x + 1 = 13; y =y =31 • e = 198, e >= 0 • e =e + d2 = 198 + -258 = -60 • x = x + 1 =14; y =y +1 = 32