KEGIATAN BELAJAR 4
PRIMITIF OBJEK GEOMETRI II
Indikator
Mahasiswa mampu:
a. Memahami algoritma penggambaran segiempat
b. Memahami algoritma penggambaran segitiga
c. Memahami algoritma penggambaran segienam
d. Menggunakan reshape callback function
Uraian Materi
A. Algoritma Penggambaran Segiempat
Segiempat adalah suatu segi banyak (polygon) yang memiliki empat sisi dan
empat sudut. Segiempat adalah salah satu bentuk dasar dalam geometri yang paling
popular pada primitive object dapat digunakan untuk membuat segiempat, setiap
sudut dalam bangun polygon diberi nama dengan satu huruf. Sebuah bangun
segiempat diberi nama berdasarkan nama titik-titik sudutnya. Sebuah segi empat
yang memiliki sudut A, B, C, dan D dinamakan segi empat ABCD. Untuk memulai
membuat bentuk segiempat, kita harus mengiinisialisasikan terlebih dulu titik-titik
koordinatnya yang terdiri dari 4 titik Contohnya:
glBegin (GL_QUADS);
glVertex2f (-0.5, -0.5);
glVertex2f (-0.5, 0.5);
glVertex2f (0.5, 0.5);
glVertex2f (0.5, -0.5);
glEnd();
glBegin (GL_TRIANGLES);
glVertex2f (-0.5, -0.5);
glVertex2f (0.0, 0.0);
glVertex2f (0.5, -0.5);
glEnd();
glBegin (GL_POLYGON);
glVertex2f (-0.4, -0.2);
glVertex2f (-0.2, 0.4);
glVertex2f (0.2, 0.4);
glVertex2f (0.2, 0.4);
glVertex2f (-0.2, 0.0);
glVertex2f (-0.2, 0.0);
glEnd();
Agar gambar tetap berada pada proporsi yang tepat, maka perlu digunakan
callback reshape yang dipanggil setiap kali window berubah ukuran. Untuk itu
perlu lakukan perintah berikut:
E. PRATIKUM
1. Atur project OpenGL di aplikasi Dev C++. Kemudian beri nama project:
Pratikum 4
2. Selanjutnya pada window main.cpp, tuliskan program berikut:
#include <GL/glut.h>
void garis(){
glColor3f(0.0,1.0,1.0);
glBegin (GL_QUADS);
glVertex2f (-0.5, -0.5);
glVertex2f (-0.5, 0.5);
glVertex2f (0.5, 0.5);
glVertex2f (0.5, -0.5);
glEnd();
glColor3f(1.0,0.0,1.0);
glBegin (GL_TRIANGLES);
glVertex2f (-0.5, -0.5);
glVertex2f (0.0, 0.0);
glVertex2f (0.5, -0.5);
glEnd();
glColor3f(0.0,0.0,1.0);
glBegin (GL_POLYGON);
glVertex2f (-0.2, 0);
glVertex2f (-0.4, 0.2);
glVertex2f (-0.2, 0.4);
glVertex2f (0.2, 0.4);
glVertex2f (0.4, 0.2);
glVertex2f (0.2, 0);
glEnd();
}
void resize( int w, int h ){
if (w >= h)
glViewport(0, 0, (GLsizei)h, (GLsizei)h) ;
else
glViewport(0, 0, (GLsizei)w, (GLsizei)w) ;
}
44
void display(void) {
glClear(GL_COLOR_BUFFER_BIT);
garis();
glutSwapBuffers();
}
int main(int argc,char** argv){
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
glutInitWindowPosition(100,100);
glutInitWindowSize(640,480);
glutCreateWindow("pratikum 4");
glClearColor(1.0,1.0,1.0,1.0);
gluOrtho2D(-1.,1.,-1.,1.);
glutIdleFunc(display);
glutDisplayFunc(display);
glutReshapeFunc(resize);
glutMainLoop();
return 0;
}
3. Selanjutnya compile and run program dengan menekan tombol “F11” pada
keyboard. Atau dengan mengklik tool “Compile & Run”.
Rangkuman
Segiempat adalah salah satu bentuk dasar dalam geometri yang paling popular
pada primitive object dapat digunakan untuk membuat segiempat, setiap sudut
dalam bangun polygon diberi nama dengan satu huruf. Sebuah segi empat yang
memiliki sudut A, B, C, dan D dinamakan segi empat ABCD.
Segitiga atau segi tiga (bahasa Inggris: triangle) adalah nama suatu bentuk
yang dibuat dari tiga sisi yang berupa garis lurus dan tiga sudut. Dalam
pembentukan segitiga, terlebih dulu untuk mengiinisialisasikan titik-titik
koordinatnya yang terdiri dari 3 titik A, B, C.
Segienam adalah sebuah segi banyak yang memiliki enam sisi dan
sudut. Segienam biasa memiliki enam sisi dan sudut yang sama dan terdiri dari
enam buah segitiga sama sisi.
47
Evaluasi
Tugas
1. Buatlah sebuah projek baru pada Dev C++ dengan nama Praktikum 4
Segiempat. Gambarkan 2 segiempat, 1 segitiga, 1 segienam dengan nilai
koordinat dan warna sesuai kreatifitas masing masing!
2. Tambahkan algoritma