OLEH :
NIM : 1120305047
Kelas/Semester : M3 / VI (Genap)
Nilai :
Mengetahui,
Dosen Pengajar Mahasiswa
I. Tujuan Praktikum
III. Peralatan
IV. Percobaan
4. Setelah keluar jendela project pilih Visual C++ > Win32 Console
Application.
5. Tuliskan Nama project dan pilih lokasi tempat menyimpan file project.
6. Pada Jendela perintah ini pilih Next.
void Draw(void);
int i,radius,jumlah_titik,x_tengah,y_tengah;
void Initialize() {
glClearColor(1.0, 1.0, 1.0, 1.0);
glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}
int main(int iArgc, char** cppArgv){
glutInit(&iArgc, cppArgv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowPosition(200, 200);
glutInitWindowSize(230, 230);
gluOrtho2D(-150.0, 150.0, -150.0, 150.0);
glutCreateWindow("Wajah Manusia");
Initialize();
glutDisplayFunc(Draw);
glutMainLoop();
return 0;
}
void Draw(){
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0.0,0.0,0.0);
//lingkaran penuh
glBegin(GL_LINE_LOOP);
radius = 40;
jumlah_titik = 60;
x_tengah = 50;
y_tengah = 50;
for (i=0;i<=360;i++){
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+radius*cos(sudut);
float y=y_tengah+radius*sin(sudut);
glVertex2f(x/100,y/100);
}
glEnd();
//mata kiri
glBegin(GL_LINE_LOOP);
radius = 5;
jumlah_titik = 20;
x_tengah = 40;
y_tengah = 70;
for (i=0;i<=360;i++){
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+radius*cos(sudut);
float y=y_tengah+radius*sin(sudut);
glVertex2f(x/100,y/100);
}
glEnd();
//Mata Kanan
glBegin(GL_LINE_LOOP);
radius = 5;
jumlah_titik = 20;
x_tengah = 60;
y_tengah = 70;
for (i=0;i<=360;i++){
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+radius*cos(sudut);
float y=y_tengah+radius*sin(sudut);
glVertex2f(x/100,y/100);
}
glEnd();
glBegin(GL_TRIANGLES);
glVertex3f(0.5,0.6,0.0);
glVertex3f(0.4,0.5,0.0);
glVertex3f(0.6,0.5,0.0);
glEnd();
glBegin(GL_QUADS);
glVertex3f(0.35,0.3,0.0);
glVertex3f(0.65,0.3,0.0);
glVertex3f(0.65,0.4,0.0);
glVertex3f(0.35,0.4,0.0);
glEnd();
glFlush();
}
Maka setelah program di running maka akan tercipta hasil seperti berikut ini :
V. Analisa
glBegin(GL_LINE_LOOP);
radius = 40;
jumlah_titik = 60;
x_tengah = 50;
y_tengah = 50;
for (i=0;i<=360;i++){
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+radius*cos(sudut);
float y=y_tengah+radius*sin(sudut);
glVertex2f(x/100,y/100);
}
glEnd();
Pada objek ini sama dengan objek mata sebelah kiri diatas hanya
saja koordinat nya yang berbeda atau posisinya.
glBegin (GL_QUADS);
glVertex3f(0.3,0.6,0.0);
glVertex3f(0.4,0.6,0.0);
glVertex3f(0.4,0.7,0.0);
glVertex3f(0.3,0.7,0.0);
glEnd ();
glBegin(GL_QUADS);
glVertex3f(0.35,0.3,0.0);
glVertex3f(0.65,0.3,0.0);
glVertex3f(0.65,0.4,0.0);
glVertex3f(0.35,0.4,0.0);
glEnd();
glBegin(GL_LINE_LOOP);
radius = 40;
jumlah_titik = 60;
x_tengah = 50;
y_tengah = 50;
for (i=0;i<=360;i++){
float sudut=i*(2*PI/jumlah_titik);
float x=x_tengah+radius*cos(sudut);
float y=y_tengah+radius*sin(sudut);
glVertex2f(x/100,y/100);
}
glEnd();
VII. TUGAS
Jawab :