sistem koordinat

Post on 03-Jan-2016

207 Views

Category:

Documents

12 Downloads

Preview:

Click to see full reader

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

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

top related