sistem koordinat

25
Sistem Koordinat Sistem Koordinat Komputer Grafik Rudy Gunawan

Upload: september-middleton

Post on 03-Jan-2016

206 views

Category:

Documents


12 download

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 Presentation

TRANSCRIPT

Page 1: Sistem Koordinat

Sistem KoordinatSistem Koordinat

Komputer GrafikRudy Gunawan

Page 2: Sistem Koordinat

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.

Page 3: Sistem Koordinat

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.

Page 4: Sistem Koordinat

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.

Page 5: Sistem Koordinat

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

Page 6: Sistem Koordinat

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)

Page 7: Sistem Koordinat

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

Page 8: Sistem Koordinat

• 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.

Page 9: Sistem Koordinat

(x2,y2)

(x2,y2)

(x2,y2)

(x2,y2)

(x1,y1)

(x1,y1)

(x1,y1)(x1,y1)

K.2K.1

K.4

K.3

Page 10: Sistem Koordinat
Page 11: Sistem Koordinat
Page 12: Sistem Koordinat

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

Page 13: Sistem Koordinat

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

Page 14: Sistem Koordinat

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

Page 15: Sistem Koordinat

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

Page 16: Sistem Koordinat

Algoritma Bresenham Algoritma Bresenham untuk dx > dyuntuk dx > dy

Page 17: Sistem Koordinat

Algoritma Bresenham Algoritma Bresenham untuk dx < dyuntuk dx < dy

Page 18: Sistem Koordinat

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

Page 19: Sistem Koordinat

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.

Page 20: Sistem Koordinat
Page 21: Sistem Koordinat
Page 22: Sistem Koordinat

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 |

Page 23: Sistem Koordinat

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 |

Page 24: Sistem Koordinat

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

Page 25: Sistem Koordinat

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