sistem koordinat
DESCRIPTION
Komputer Grafik Rudy Gunawan. Sistem Koordinat. 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) - PowerPoint PPT PresentationTRANSCRIPT
Sistem KoordinatSistem Koordinat
Komputer GrafikRudy Gunawan
Sistem KoordinatSistem 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 yang pada saat itu objek yang bersangkutan 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.
Kordinat CartesianKordinat Cartesian
Setiap titik yang digambar dengan teknik point-plotting lokasinya ditentukan berdasarkan sistem koordinat cartesian.
Setiap titik ditentukan lokasinya melalui 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 TAMPILAN/LAYARKOORDINAT 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.
Dengan
VR − VL
Sx = -------------------
WR − WL
VL * WR − VR * WL
Tx = ------------------------
WR − WL
VT − VB
Sy = --------------------------
WT − WB
VB * WT − VL * WB
Ty = ---------------------------
WT − WB
Dalam implementasinya koordinat tampilan/layar bisa dikatakan sebagai VIEWPORT yaitu area di layar monitor yang menunjukkan dimana WINDOW akan ditampilkan.
Untuk memetakan sebuah titik di window ke titik di viewport digunakan rumus :
xv = s x * xw + t x
yv = s y * yw + t y
GarisGaris
• 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).
(x1,y1)
(x2,y2)
Kuadran GarisKuadran Garis
• Berdasarkan arah garis maka sebuah garis dapat di salah satu area (kuadran). Tanda panah pada arah garis menunjukkan lokasi (x2,y2)
III
III IV
• Pada gambar diatas garis 1 terletak pada kuadran I, garis 2 di kuadran III, garis 3 di kuadran IV, garis 4 di kuadran II. Jadi kuadran garis tidak berhubungan dengan nilai negatif maupun positif tetapi menyatakan arah garis.
(x2,y2)
(x2,y2)
(x2,y2)
(x2,y2)
(x1,y1)
(x1,y1)
(x1,y1)(x1,y1)
K.2K.1
K.4
K.3
Algoritma Garis DDAAlgoritma Garis DDA
DDA (Digital Differential Analyzer)
• Merupakan salah satu algoritma menggambar garis yang sederhana.
• Gradien garis :
y 2 − y1
m = ------------
x 2 − x1
Bentuk GarisBentuk Garis
a. cenderung mendatar
Gradien bernilai 0 < m < 1
Pixel bertambah 1 pada sumbu x dan bertambah
sebesar m pixel pada sumbu y
b. cenderung tegak
Gradien bernilai m > 1
Pixel bertambah 1 pada sumbu y dan bertambah
sebesar 1/m pixel pada sumbu x
c. miring 45 o
Gradien bernilai m = 1
Pixel bertambah 1 pada sumbu x dan bertambah
Algoritma DDAAlgoritma DDAListing algoritma DDA :
x = x1 ; y = y1;
m = (y2 – y1) / (x2 – x1)
jika m > 0 dan m < 1 maka
selama x <= x2 maka
gambar pixel pada (x,y)
x = x+1
y =y+m
akhir selama x <= x2
tetapi jika m > 1 maka
selama y <= y2 maka
gambar pixel pada (x,y)
x = x + 1/m
y=y+1
akhir selama y <= y2
tetapi jika m = 1 maka
selama x <= x2 maka
Gambar pixel pada (x,y)
X = x+1
Y=y+1
akhir selama x <= x2
Kelemahan algoritma DDA :
hanya dapat digunakan untuk nilai x1 < x2 dan y1 < y2 atau garis yang berada di kuadran I
ALGORITMA GARIS ALGORITMA GARIS BRESENHAMBRESENHAM
Dikembangkan oleh Bresenham
Berdasarkan selisih antara garis yang diinginkan terhadap
setengah ukuran dari pixel yang sedang digunakan
Algoritma Bresenham untuk dx > dy dan untuk dx < dy dimana :
– dx = X2-X1– dy = Y2-Y1
Algoritma Bresenham Algoritma Bresenham untuk dx > dyuntuk dx > dy
Algoritma Bresenham Algoritma Bresenham untuk dx < dyuntuk dx < dy
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) = 246dy = (y2 – y1) = (147 – 30) = 117 gunakan algoritma untuk dx > dy
e = 2 * dy – dx = 2 * 117 – 246 = -12d1 = 2 * dy = 2 * 117 = 234d2 = 2 * (dy – dx) = 2 * (117 – 246) = -258x = 10 ; y = 30
e = -12 e < 0 e = e + d1 = -12 + 234 = 222x = x + 1 = 11 ; y = y = 30
e = 222 e >= 0e = e + d2 = 222 + -258 = -36x = x + 1 = 12; y = y + 1 = 31
e = -36 e < 0e = e + d1 = -36 + 234 = 198x = x + 1 = 13; y =y =31
e = 198 e >= 0e =e + d2 = 198 + -258 = -60x = x + 1 =14; y =y +1 = 32
LingkaranLingkaran• Untuk menggambar sebuah lingkaran hanya diperlukan
menggambar titik-titik pada kuadran pertama saja, sedangkan titik-titik pada kuadran lain dapat diperoleh dengan mencerminkan titik-titik pada kuadran pertama.
• Dari gambar dibawah ini titik pada oktan pertama dapat dicerminkan melalui sumbu Y=X untuk memperoleh titik-titik pada oktan kedua dari kuadran pertama.
• Titik-titik pada kuadran pertama dicerminkan melalui sumbu X = 0 untuk memperoleh titik-titik pada kuadran kedua.
• Gambar berikut menunjukkan menggambar lingkaran dengan refleksikan octan pertama.
Algoritma Lingkaran Algoritma Lingkaran BRESENHAMBRESENHAMxi = 0 ; yi = R
Ulangi sampai yi = 0
Hitung ∆i
Gambar titik di (xi ,yi)
Jika ∆i < 0 maka hitung δ
Jika δ < = 0 maka xi = xi +1
Jika δ > 0 maka xi = xi +1 dan yi = yi – 1
Jika ∆i > 0 maka hitung δ’
Jika δ’ < = 0 maka yi = yi -1
Jika δ’ > 0 maka xi = xi +1 dan yi = yi – 1
Jika ∆i = 0 maka xi = xi +1 dan yi = yi – 1
Rumus :
∆i = (xi +1)2 + (yi –1)2 – R2
δ = | (xi +1)2 + (yi)2 – R2 | – | (xi +1)2 + (yi – 1)2 – R2 |
δ’ = | (xi)2 + (yi – 1)2 – R2 | – | (xi +1)2 + (yi – 1)2 – R2 |
RR
X
Y
Posisi awal x,y
Posisi Perkiraan Berikutx+1,y-1
Cek harusnya posisi baru juga sama dengan R.
(xi +1)2 + (yi –1)2 = R2
∆i = (xi +1)2 + (yi –1)2 – R2
Jika = 0 artinya tepat sama dengan R
Jika > 0 artinya posisi baru lebuh besar dari R
Jika < 0 artinya posisi baru lebih kecil dari R
Jika R baru lebih kecil, bandingkan dengan nilai y tidak ditambahδ = | (xi +1)2 + (yi)2 – R2 | – | (xi +1)2 + (yi – 1)2 – R2 |
Jika R posisi baru lebih besar,bandingkan denganNilai X tidak ditambah.δ’ = | (xi)2 + (yi – 1)2 – R2 | – | (xi +1)2 + (yi – 1)2 – R2 |
KeputusanKeputusan
0 R
Jika Δ I > 0Posisi baru perkiraan
Pilih posisi ini jika lebih dekat dengan harga R
δ' < 0
0 R
Jika Δ I < 0
Posisi baru perkiraan
Pilih posisi ini jika lebih dekat dengan harga R
δ < 0
Algoritma Lingkaran Algoritma Lingkaran BRESENHAMBRESENHAM
Contoh :
Jika diketahui R = 5 dan titik terakhir yang dipilih adalah (0,5) hitung koordinat
yang harus dipilih.
Jawab :
xi = 0 , yi = 5
∆i = (xi +1)2 + (yi –1)2 – R2
= (0 +1)2 + (5 –1)2 – 52
= 1 + 16 – 25 = -8
karena ∆i < 0 maka
δ = | (xi +1)2 + (yi)2 – R2 | – | (xi +1)2 + (yi – 1)2 – R2 |
= | (0 +1)2 + (5)2 – 52 | – | (0 +1)2 + (5 – 1)2 – 52 |
= | 1 | – | –8 | = 1 – 8 = – 7
• karena δ < 0 maka koordinat titik berikutnya adalah (xi +1, yi) = (0+1, 5) = (1,5