Selasa, 18 Juni 2013

Pengantar Teknologi Game (Tugas 1)

Nama: Imam Taufik Firdaus

NPM: 5A411247

Kelas: 3IA01 (Transfer)


SCAN CONVERSION

Scan Conversion merupakan metoda untuk memetakan titik ke dalam suatu pixel. Scan Conversion dapat dilakukan terhadap Line (garis), polygon, ataupun garis lengkung (kurva). Bicara soal garis, garis merupakan bentuk dasar dari sebuah gambar. Sedangkan garis terbuat dari bentuk primitif yaitu sebuah titik. Terdapat beberapa algoritma pembuatan garis yang sudah umum digunakan. Algoritma tersebut terdiri atas :
  • Algoritma DDA
(Digital Differential Analyzer) Merupakan algoritma untuk menggambar garis yang sederhana. Algoritma garis ini menggunakan perhitungan dx maupun dy, menggunakan rumus dy = m . dx. Garis dibuat menggunakan dua endpoint, yaitu titik awal dan titik akhir. Setiap koordinat titik yang membentuk garis diperoleh dari perhitungan, kemudian dikonversikan menjadi nilai integer.
Langkah-langkah membentuk garis menurut algoritma DDA adalah :
  • Tentukan dua titik yang akan dihubungkan dalam pembentukan garis
  •  Tentukan titik awal yaitu dan titik akhir .
  • Hitung dx = x1- x0 dan dy = y1 – y0
  • Tentukan step = max( |dx| , |dy| )
  • Hitung penambahan koordinat pixel XInc = dx / step dan YInc = dy / step
  • Koordinat selanjutnya (x+XInc, y+yInc)
  • Posisi pada layar ditentukan dengan pembulatan nilai koordinat tersebut
  • Ulangi nomor 6 dan 7 untuk menentukan posisi pixel berikutnya. sampai x=x1dan y=y1.

  • ALGORITMA GARIS BRESSENHAM
Algoritma Bresenham pada tahun 1965, melakukan perbaikan dari algoritma perhitungan koordinat piksel. Prosedur untuk menggambar kembali garis dengan membulatkan nilai x atau y ke bilangan integer memerlukan waktu. serta variabel x,y maupun m memerlukan bilangan real karena kemiringan merupakan nilai pecahan. Bressenham mengembangkan algoritma klasik yang lebih menarik, karena hanya menggunakan perhitungan matematik dengan bantuan bilangan integer. Dengan demikian tidak perlu membulatkan nilai posisi pixel setiap waktu. 
Langkah-langkahnya adalah sebagai berikut :

  • Tentukan dua titik yang akan dihubungkan dalam pembentukan garis.
  • Tentukan salah satu titik disebelah kiri sebagai titik awal (x0,y0) dan titik lainnya sebagai titik akhir (x1,y1)
  • Hitung dx, dy, 2dx dan 2dy-2dx
  • Hitung parameter P0 = 2dy – dx
  • Untuk setiap xk sepanjang garis dimulai dengan k=0
  • Bila Pk < 0 maka titik selanjutnya adalah (xk+1, yk) dan Pk+1=Pk+2dy
  • Bila tidak maka titik selanjutnya adalah (xk+1, yk+1) dan Pk+1=Pk+2dy-2dx
  • Ulangi point 5 untuk menentukan posisi pixel selanjutnya sampai x=x1 dan y=y1


Dalam pembuatan garis, ada beberapa hal yang harus diperhatikan, hal tersebut ialah :

  • Ketebalan garis (thickness) 
  • Bentuk tepi garis (ends).

Bentuk tepi garis ini dibagi menjadi 3, yaitu butt, round, square. Bentuk tepi garis butt akan memberikan garis sampai akhir (berhenti garis tepat di akhir), tanpa ekstensi baris. Bentuk tepi garis round adalah default yang sering digunakan. Bentuk tepi garis square akan memberikan ujung persegi, dengan perpanjangan garis.

Contoh dari bentuk tepi garis tersebut dapat di lihat di gambar bawah ini.

Selain tepi garis, garis juga dapat digabungkan. Penggabungan garis (joining)terbagi menjadi :
- Mitter >> titik pertemuan 2 garis lurus yang membentuk sudut lancip.
- Round >> titik sudut pertemuan yang membulat.
- Bevel >> titik sudut pertemuannya tampak terpotong rata.
- None >> titik sudut pertemuan yang terpotong agak membentuk siku.

Tidak ada komentar:

Posting Komentar