Rangkuman Tujuan Pembelajaran Indikator Pencapaian Kompetensi

35 PEMODELAN OBJEK 2 DIMENSI Primitif Objek Setelah mengikuti kegiatan belajar 3 ini peserta diklat diharapkan dapat : 1. Melalui diskusi peserta diklat menganalisis output primitif grafika komputer untuk membuat objek. 2. Melalui praktikum peserta diklat membuat kode program berdasarkan algoritma pembentukan garis dan lingkaran. 1. Menerapkan perintah-perintah dasar OpenGL untuk menggambar primitif objek 2. Menulis kode program sesuai algoritma pembentukan garis dan lingkaran

1. Primitif Objek

Primitives merupakan geometri sederhana basic seperti titik points, garis lines dan bangunan dua dimensi. Dalam grafika komputer penghasilan citra menggunakan primitive grafik dasar, primitif ini memudahkan untur merender atau menggambar pada layar monitor sebagaimana penggunaan persamaan geometri sederhana. Contoh primitive grafika dasar antara lain : titik, garis, kurva, fill area dan text. Objek kompleks dapat dibuat dengan kombinasi dari primitive ini. Misalkan, Poligaris atau yang dapat didefinisikan sebagai urutan garis lurus yang saling terhubung. Secara umum algoritma grafis memiliki persamaan yaitu bagaimana menampilkan hasil. Objek kompleks dapat dibuat dengan mengkombinasikan bentuk-bentuk primitive.

A. Tujuan Pembelajaran

B. Indikator Pencapaian Kompetensi

C. Uraian Materi

36

2. Titik dan Garis

Pembentukan titik dilakukan dengan mengkonversi suatu posisi titik koordinat dengan program aplikasi ke dalam suatu operasi tertentu menggunakan output. Random-scan vektor sistem menyimpan instruksi pembentukan titik pada display list dan nilai koordinat menentukan posisi pancaran electron ke arah lapisan fosfor pada layer. Garis dibuat dengan menentukan posisi titik diantara titik awal dan akhir dari suatu garis. Untuk menggambar titik point digunakan perintah pointx,y dimana nilai x dan y adalah koordinat pada layar.

3. Membuat Titik dan Garis

Untuk menggambar titik point digunakan perintah pointx,y dimana nilai x dan y adalah koordinat pada layar. Sedangkan untuk membuat garis digunakan perintah linesx1,y1,x2,y2. Persamaan garis menurut koordinat Cartesian adalah: y = m.x + b dimana m adalah slope kemiringan dari garis yang dibentuk oleh dua titik yaitu x 1 ,y 1 dan x 2 , y 2 . Untuk penambahan x sepanjang garis yaitu dx akan mendapatkan penambahan y sebesar Δ y = m. Δ x • Algoritma DDA Digital Differential Analyzer DDA adalah algoritma pembentukan garis berdasarkan perhitungan Δ x dan Δ y, menggunakan rumus y = m. Δ x. Garis dibuat dengan menentukan dua endpoint yaitu titik awal dan titik akhir. Setiap koordinat titik yang membentuk garis diperoleh dari perhitungan, kemudian dikonversikan menjadi nilai integer. Langkah-langkah pembentukan menurut algoritma DDA, yaitu : 1 Tentukan dua titik yang akan dihubungkan. 2 Tentukan salah satu titik sebagai titik awal x , y dan titik akhir x 1 , y 1 . 3 Hitung Δ x = x 1 – x dan Δ y = y 1 – y . 37 4 Tentukan step, yaitu jarak maksimum jumlah penambahan nilai x maupun nilai y dengan cara : • bila nilai |Δ y| |Δ x| maka step = nilai |Δ y|. • bila tidak maka step = |Δ x|. 5 Hitung penambahan koordinat pixel yaitu x_increment = Δ x step dan y_increment = Δ y step. 6 Koordinat selanjutnya x+x_incerement, y+y_increment. 7 Posisi pixel pada layer ditentukan dengan pembulatan nilai koordinasi tersebut. 8 Ulangi step 6 dan 7 untuk menentukan posisi pixel selanjutnya, sampai x = x 1 dan y = y 1 Contoh: Untuk menggambarkan algoritma DDA dalam pembentukan suatu garis yang menghubungkan titik 5,5 dan 10,9, pertama-tama ditentukan dx dan dy, kemudian dicari step untuk mendapatkan x_increment dan y_increment. Δ x = x 1 – x = 10-5 = 5 Δ y = y 1 – y = 9 -5 = 4 selanjutnya hitung dan bandingkan nilai absolutnya. |Δ x| = 5 |Δ y| = 4 karena |Δ x| |Δ y|, maka step = |Δ x| = 5, maka diperoleh : x_inc = 55 = 1 y_inc = 45 = 0.8 38 Tabel 2 Data algoritma DDA K X Y Roundx, roundy 5,5 6 5.8 6,6 1 7 6.6 7,7 2 8 7.4 8,7 3 9 8.2 9,8 4 10 9 10,9 10 9 8 7 6 5 5 6 7 8 9 10 • Algoritma Bressenham Prosedur untuk menggambar kembali garis dengan membulatkan nilai x atau y kebilangan integer membutuhkan waktu, serta variable x,y dan m merupakan bilangan real karena kemiringan merupakan nilai pecahan. Bressenham mengembangkan algoritma klasik yang lebih menarik, karena hanya menggunakan perhitungan matematika dengan bilangan integer. Dengan demikian tidak perlu membulatkan nilai posisi