Jumat, 26 April 2013

Pengantar Teori Game 1


Hai teman – teman sudah lama tidak berjumpa kali ini, saya akan menulis banyak hal tentang metode Scan Conversion, transformation dan proyeksi. Mari kita pelajari satu per satu

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). [1]Algoritma yang sering dipakai untuk menggambar garis antara lain  Algoritma garis Digital Diferensial Analyser (DDA), Algoritma garis Bresenham, Algoritma garis C++.  [2]Algoritma Bresenham dikembangkan oleh Bresenham berdasarkan selisih antara garis yang diinginkan terhadap setengah ukuran dari pixel yang sedang digunakan.
Bresenham pada tahun 1965, melakukan perbaikan dari algoritma perhitungan koordinat piksel yang menggunakan persamaan (1), dengan cara menggantikan operasi bilangan rii perkalian dengan operasi penjumlahan, yang kemudian dikenal dengan Algoritma Bresenham. Pada algoritma bresenham, nilai y kedua dan seterusnya, dihitung dari nilai y sebelumnya, sehingga hanya titik y pertama yang perlu dilakukan operasi secara lengkap. Perbaikan algoritma ini ternyata tidak menghasilkan perbaikan yang cukup siginifikan. Perbaikan berikutnya dilakukan dengan cara menghilangkan operasi bilangan riel dengan operasi bilangan integer. Operasi bilangan integer jauh lebih cepat dibandingkan dengan operasi bilangan riel, terutama pada penambahan dan pengurangan. untuk menentukan jumlah pixel yang membuat suatu garis menggunakan algoritma bresenhem adalah sebagai berikut :
-          Masukan 2 endpoints, simpan endpoints kiri sebagai (x0, y0) dan kanan (x1,y1)
-          Hitung konstanta Δx, Δy, 2Δy, 2Dx,2Δy–2Δx dan nilai awal parameter keputusan p0= 2Δy –Δx
-          Pada setiap xk di garis, dimulai dari k=0, ujilah : Jika pk 0 maka plot (xk+1, yk+1) dan pk= pk+ 2Δy -2Δx
-          Ulangi tahap 4 sampai mencapai x,y yang di tuju.
[3]Dalam membuat garis,kita juga harus memperhatikan ketebalan garis (thickness) dan bentuk tepi garis (ends).  Ada 3 macam bentuk tepi garis  yaitu Butt, Round dan Square. Berdasarkan tebalnya ada dua macam yaitu garis tebal dan garis tipis dengan perbandingan 1 : 0.5. Pada umumnya tebal untuk garis tebal adalah 0.5 mm atau 0.7 mm. Dengan jarak minimum antara garis sejajar ( termasuk garis arsiran ), tidak boleh kurang dari tiga kali tebal garis yang paling tebal. Berikut merupakan gambar bentuk tepi garis tersebut :
Tipe garis round merupakan tipe garis yang mebentuk sebuah setengah lingkaran kearah luar pada bagian ujung garis, tipe garis square merupakan tipe garis yang membentuk sebuah persegi pada bagian ujung garis dan tipe garis butt merupakan tipe garis yang membentuk sebuah setengah lingkaran kearah dalam pada bagian ujung garis
[4]Selanjutnya, kita bahas penggabungan garis. Terdapat 3 jenis penggabungan garis yang dapat kita lakukan yaitu penggabungan garis Ugly, Bevel, Round, Miter. Berikut ini merupakan gambar penggabungan garis tersebut :

Ugly Join  adalah penggabungan dua buah garis yang memilik sudut lebih kedalam, bevel adalah penggabungan dua buah garis yang memiliki sudut lebih menonjol, round adalah penggabungan dua buah garis yang memiliki sudut lebih melingkar dan miter adalah penggabungan dua buah garis yang memiliki sudut lancip.
Transformations
Selanjutnya kita akan belajar mengenai transformation. Transformation adalah suatu metoda untuk mengubah lokasi titik. Operasi-Operasi Primitive pada Transformations terbagi menjadi:
Ø  Scale,
Ø  Rotate,
Ø  Shear,
Ø  Flip,
Ø  Translate
[5]Untuk menjelaskan mengenai transformation ini, saya akan memberikan satu buah gambar objek yang nantinya akan coba kita transformasikan dengan Scale, Rotate, Shear, Flip, Translate, dan Rotasi. Berikut contoh objeknya :
Hasil transformasi objek tersebut yang ditransformasikan dengan Scale, Rotate, Shear, Flip, Translate, dan Rotasi :
Scale adalah skala pengali sama untuk semua komponen

Rotate/Rotasi terhadap titik (0,0) sebanyak 450


Shear terhadap Sumbu Y


Flip terhadap garis X


Translate. (tx,ty) disebut vector Translasi


Berikutnya saya akan menjelaskan tentang linear transformation dan non-linear transformation. [6]Model linier menunjukkan hubungan antara dua variabel mengikuti garis lurus. Sedangkan non linier mengikuti garis yang tidak lurus, misalnya kuadratik (garisnya melengkung ke atas lalu turun ke bawah).  Untuk lebih jelasnya, saya akan memberikan [7] contoh Linear Transformation dan Non-Linear Transformation dari Operasi-Operasi Primitive transformation yaitu :
Contoh Linear Transformation :

Contoh Non-Linear Transformation :

 


Tidak ada komentar:

Posting Komentar