Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat...

40

Transcript of Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat...

Page 1: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak
Page 2: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

Pada komputer grafik ada 3 macam sistem koordinat yang harus di perhatikan : ◦ Koordinat nyata

◦ Koordinat sistem (koordinat cartesian)

◦ Koordinat tampilan / layar

Grafika Komputer Page 2

Page 3: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

Adalah koordinat yang pada saat itu objek yang bersangkutan berada.

Ex: 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.

Grafika Komputer Page 3

Page 4: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

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.

Grafika Komputer Page 4

Page 5: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

Grafika Komputer Page 5

Page 6: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

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.

Grafika Komputer Page 6

Page 7: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

X

Y

Koordinat layar pada OS. Windows

Page 8: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

Grafika Komputer Page 8

Page 9: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

0,0

640,480

Page 10: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

Dalam implementasinya koordinat tampilan/layar bisa dikatakan sebagai VIEWPORT yaitu area di layar monitor yang menunjukkan dimana WINDOW akan ditampilkan

Grafika Komputer Page 10

Page 11: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

Grafika Komputer Page 11

Page 12: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

Grafika Komputer Page 12

Untuk memetakan sebuah titik di window ke titik di viewport digunakan rumus :

Page 13: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

13

Page 14: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

Titik(point) dalam grafika komputer didefinisikan sebagai suatu posisi tertentu dalam sistem koordinat

Pixel merupakan ukuran satuan gambar terkecil dalam layar dan dapat ditempati oleh satu titik

Maksimum titik atau pixel yang dapat ditempati dalam satu layar disebut resolusi

Membangkitkan pixel dalam BGI putpixel (x,y,color)

Dalam OpenGL glVertex3f(0,0,-0.0)

Page 15: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

Garis merupakan kumpulan titik – titik

Persamaan garis lurus pada koordinat kartesian

y =m.x+b dimana: m=gradien, b=intercept

m=y1-y0 / x1-x0

b= y1-m.x1

Berdasarkan algoritma diatas dikembangkan beberapa algoritma utk membangkitkan garis

- Algoritma sederhana

- Algoritma DDA ( digital differential Analyzer )

- Algoritma Bresenham

Page 16: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

16

Garis adalah kumpulan titik-titik yang tersusun sedemiki-an rupa sehingga memiliki pangkal dan ujung.

Suatu titik pada layar terletak pada posisi (x,y), untuk menggambarkannya plot suatu pixel dengan posisi yang berkesesuaian.

Contoh program :Setpixel (x,y)

Page 17: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

17

Tampilan garis pada layar komputer dibedakan berdasarkan Resolusi-nya.

Resolusi : keadaan pixel yang terdapat pada suatu area tertentu

Contoh : Resolusi 640x480, berarti pada layar komputer terdapat 640 pixel per-kolom dan 480 pixel per-baris.

Resolusi dapat pula dibedakan menjadi kasar, medium dan halus.

Page 18: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

18

Untuk menggambarkan garis seperti gambar di atas, diperlukan pixel aktif.

Page 19: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

19

Parameter pixel address yang membentuk garispada layar adalah :

Page 20: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

20

Untuk menampilkan atau menggambarkan garis pada layar dibutuhkan minimal 2 titik (endpoint), yaitu titik awal dan akhir.

- Awal garis dimulai dengan titik atau

pixel pertama, P1 diikuti titik kedua,

P2.

- Untuk mendapatkan titik-titik

selanjutnya sampai

ke Pn perlu dilakukan inkrementasi

atas nilai koordinat sumbu X dan Y

pada titik sebelumnya.

Page 21: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

21

Menggambar GARIS (lanjt)

n dan m adalah nilai inkrementasi

- Persamaan Umum Garis : y = mx +c

- Perhitungan inkrementasi untuk masing-masing sumbu adalah berbeda :

Page 22: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

22

Page 23: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

23

Garis yang membentang secara paralel dengan sumbu X dengan asumsi titik P1 pada koordinat X1 lebih kecil daripada X2 dari P2, sedangkan Y1 dan Y2 konstant

Algoritma:

1. Menentukan titik awal (P1) dan titik akhir (P2)

2. Periksa posisi sumbu (koordinat)Jika titik akhir

> titik awal, Lakukan inkrementasi sumbu X

dari titik awal sampai titik akhir. Jika tidak,

maka Lakukan dekrementasi sumbu X

dari titik awal sampai titik akhir

3. Tampilkan garis menggunakan parameter

koordinat yang telah dihitung.

Page 24: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

24

Garis yang membentang secara paralel dengan sumbu Y dengan asumsi titik P1 pada koordinat Y1 lebih kecil daripada Y2 dari P2, sedangkan X1 dan X2 konstant

Algoritma:

1. Menentukan titik awal (P1) dan titik

akhir (P2)

2. Periksa posisi sumbu (koordinat)

Jika titik akhir > titik awal,Lakukan

inkrementasi sumbu Y dati titik awal

sampai titik akhir. Jika tidak, maka lakukan

dekrementasi sumbu Y dari titik awal sampai

titik akhir

3.Tampilkan garis menggunakan parameter

koordinat yang telah dihitung.

Page 25: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

25

Garis yang membentang secara paralel 45

derajat dari sumbu X atau sumbu Y dengan

asumsi titik awal P1 dengan koordinat X1 dan

Y1 lebih kecil daripada X2 dan Y2 atau

sebaliknya.

Algoritma :

1. Menentukan titik awal (P1) dan titik

akhir (P2)

2. Periksa posisi sumbu (koordinat)Jika titik

akhir > titik awal, lakukan inkrementasi

sumbu X dan sumbu Y dari titik awal sampai

titik akhir. Jika tidak, maka lakukan

dekrementasi sumbu X dan sumbu Y dari

titik awal sampai titik akhir

3. Tampilkan garis menggunakan

parameter koordinat yang telah

dihitung.

Page 26: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

Prinsip algoritma DDA adalah mengambil nilai integer teredekat dengan jalur garis berdasarkan atas sebuah titik yang telah ditentukan sebelumnya (titik awal garis)

Algoritma pembentukan garis DDA 1. Tentukan dua titik yang akan dihubungkan utk pembentukan garis

2. Tentukan salah satu titik sebagai awal (x0,y0) dan yang lain sebagai titik akhir (x1,y1)

3. Hitung dx=x1-x0 dan dy=y1-y0

4. Tentukan step untuk titik x dan y

- if abs(dx) > abs(dy), step= dx else step= dy

5. Hitung penambahan koordinat pixel

- x_increment = dx/step

- y_increment = dy/step

6. Koordinat selanjutnya (x+x_inc, y+y_inc)

7. Posisi pixel pada layar merupakan pembulatan dari nilai koor pixel

8. Ulangi langkah 6 & 7 sampai x=x1 dan y=y1

Page 27: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

27

Garis yang membentang antara 2 titik, P1 dan P2, selalu membentuk sudut yangbesarnya sangat bervariasi.

Sudut yang terbentuk menentukan kemiringan suatu garis atau disebut gradient/ slop atau disimbolkan dengan parameter m. Jika titik-titik yang membetuk garis adalah : (x1,y1) dan (x2,y2) maka

x1-x2

y1-y2 m ,

x

ym

Page 28: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

28

Algoritma DDA bekerja atas dasar penambahan nilai x dan nilai y.

Pada garis lurus, turunan pertama dari x dan y adalah konstanta.

Sehingga untuk memperoleh suatu tampilan dengan ketelitian tinggi, suatu garis dapat dibangkitkan dengan menambah nilai x dan y masing-masing sebesar ∆x dan ∆y.

Page 29: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

29

Kondisi ideal ini sukar dicapai, karenanya pendekatan yang mungkin dilakukan adalah berdasarkan piksel-piksel yang bisa dialamati/dicapai atau melalui penambahan atau pengurangan nilai x dan y dengan suatu besaran dan membulatkannya ke nilai integer terdekat.

Page 30: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

Algoritma bresenham tidak menggunakan pembulatan nilai real seperti DDA, melainkan penambahan nilai integer untuk membentuk garis

Pada setiap iterasi algoritma bresenham, salah satu posisi (x atau y) diubah nilainya dengan 1,apabila x diubah , y bisa diubah ataupun tetap tergantung dari nilai e (ketelitian) begitupun sebaliknya

Nilai ketelitian adl jarak antara garis sesungguhnya dengan pixel yg dihidupkan dan diukur tegak lurus thd sumbu yg mengalami kecendrungan pertambahan lebih banyak

Algoritma pembentukan garis bresenham : 1. Tentukan dua titik yang akan dihubungkan 2. Tentukan salah satu titik sebagai awal yaitu(x0,y0) dan titik lainnya sebagai titik

akhir(x1,y1). 3. Hitung dx,dy 4. Hitung nilai e = 2*dy-dx 6. Untuk setiap integer mulai dari 1 sampai dx, bangkitkan pixel mulai dari x0,y0

kemudian cek nilai e, if e>0 then y= y+1 dan e=e+(2*dy-2*dx) else e=e+2*dy dan x=x+1

Page 31: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

31

Algoritma Bresenham

- Pixel selanjutnya ?

- Algoritma Bresenhma memilih titik

terdekat dari actual path

- Setiap sampling akan diinkremen

menjadi 1 atau 0.

Page 32: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

32

Kondisi awal :Jika m < 1, maka m bernilai positif

Bresenham melakukan inkremen 1 untuk x dan 0 atau 1 untuk y.

Jika current pixel (xk,yk) Dimanakah pixel berikutnya akan di-plot,

apakah di (xk+1, yk+1), (xk+1, yk), atau (xk, yk+1)?

Page 33: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

33

Page 34: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

34

Tentukan nilai parameter keputusan, pk:

Page 35: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

35

Algoritma Bresenham untuk |m| < 1:

1. Input 2 endpoints, simpan endpoints kiri sebagai (x0, y0).

2. Panggil frame buffer (plot titik pertama)

3. Hitung konstanta ∆x, ∆y, 2∆y, 2∆y–2∆x

dan nilai awal parameter keputusan p0= 2∆y –∆x

Page 36: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

4. Pada setiap xk sepanjang garis, dimulai dari k=0, ujilah :

Jika pk< 0, maka

plot(xk+1, yk) dan

pk+1= pk+ 2∆y

Jika tidak maka

plot (xk+1, yk+1) dan

pk+1= pk+ 2∆y -2∆x

5. Ulangi tahap 4 ∆xkali

Algoritma Bresenham untuk |m| < 1:

Page 37: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

37

Latihan : Hitunglah posisi piksel hingga membentuk sebuah garis yang menghubungkan titik (12,10) dan (17,14) !

Jawab :

1.(x0, y0) =(12, 10)

2.∆x =5, ∆y = 4, 2∆y =8, 2∆y–2∆x = -2

3.p0= 2∆y –∆x = 3

Page 38: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

Ada 2 metode pembangkitan karakter

1. metode titik (bitmap method)

2. metode goresan (stroke method)

Bitmap Stroke

Page 39: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

Bitmap

karakter digambarkan sebagai array 2 dimensi dengan

ukuran bervariasi, setiap elemen array dianggap sebuah pixel yang bisa dihidupmatikan

Stroke

Karakter dianggap sbg kumpulan segmen garis yang

dihubungkan pada tempat tertentu

keuntungannya: karakter dapat dengan mudah diresize tanpa mengurangi kualitasnya

Page 40: Pada komputer grafik ada 3 macam sistem koordinat yang ...€¦ · Adalah koordinat yang pada saat itu objek yang bersangkutan berada. Ex: koordinat sebuah kursi tergantung dari letak

Geometri