Lompat ke konten Lompat ke sidebar Lompat ke footer

UAS Grafika

Soal 

2. Gambarkan hasil keluaran dari potongan program fungsi draw dibawah ini.

void draw(){ 
glBegin(GL_LINE_LOOP);
glVertex2i(0,0);
glVertex2i(20,40);
glVertex2i(-10,70);
glVertex2i(-50,-60);
glEnd();
}

3. Gambarkan hasil keluaran dari potongan program fungsi draw dan display dibawah ini

void draw(){ 
glBegin(GL_TRIANGLES);
glVertex2i(-20,0);
glVertex2i(0,30);
glVertex2i(20,0);
glEnd();
}

void display(){ 
glClear(GL_COLOR_BUFFER_BIT);
glTranslatef(-50,-50,0);
draw();
glFlush();
}

4. Tuliskan potongan program fungsi animasi agar objek yang digambar (fungsi draw) pada soal nomor 3 dapat begerak berputar secara clockwise.

Jawab:

2. Source code full:

#include <stdlib.h>
#include <GL/glut.h>

void draw(){ 
glBegin(GL_LINE_LOOP);
glVertex2i(0,0);
glVertex2i(20,40);
glVertex2i(-10,70);
glVertex2i(-50,-60);
glEnd();
}

void display(){ 
glClear(GL_COLOR_BUFFER_BIT);
draw();
glFlush();
}

void main (int argc, char **argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(520,520);
glutCreateWindow("nomer 2");
glClearColor(1.0, 1.0, 1.0, 0.0);
gluOrtho2D(-100, 100, -100, 100);
glutDisplayFunc(display);
glColor3f (0.0,1.0,0.0);
glutMainLoop();
}

Tampilan:

poligon

3. Source code full:

#include <stdlib.h>
#include <GL/glut.h>

void draw(){ 
glBegin(GL_TRIANGLES);
glVertex2i(-20,0);
glVertex2i(0,30);
glVertex2i(20,0);
glEnd();
}

void display(){ 
glClear(GL_COLOR_BUFFER_BIT);
glTranslatef(-50,-50,0);
draw();
glFlush();
}

void main (int argc, char **argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(520,520);
glutCreateWindow("nomer 3");
glClearColor(1.0, 1.0, 1.0, 0.0);
gluOrtho2D(-100, 100, -100, 100);
glutDisplayFunc(display);
glColor3f (0.0,1.0,0.0);
glutMainLoop();
}

Tampilan:

segitiga helmykediri


4. Source code full:

#include <stdlib.h>
#include <gl/glut.h>

int y=0;
void Draw()
{
glBegin(GL_TRIANGLES);
glVertex2i(-20,0);
glVertex2i(0,30);
glVertex2i(20,0);
glEnd();
glFlush();
}

void display(void)
{
   glClear(GL_COLOR_BUFFER_BIT);
   glPushMatrix();
   glRotatef( y, 0, 0, 1);
   Draw();
   glPopMatrix();
   glFlush();

}

void timer(int value)
{
   y -=15;
   glutPostRedisplay();
   glutTimerFunc(100,timer,10);
}
int main(int argc, char **argv)
{
   glutInit(&argc, argv);
   glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
   glutInitWindowPosition(100,100);
   glutInitWindowSize(400,400);
   glutCreateWindow("no4");
   gluOrtho2D(-100, 100, -100, 100);
   glutDisplayFunc(display);
   glutTimerFunc(100, timer, 10);
   glutMainLoop();
}

Tampilan:

grafika clockwise

Clockwise itu berputar searah jarum jam...
Helmy Kediri
Helmy Kediri Sebaik-baik manusia adalah yang paling bermanfaat bagi orang lain. Ketika seseorang telah meninggal dunia, maka terputuslah amalnya kecuali 3 (perkara) : shadaqah jariyah, ilmu yang bermanfaat, dan anak saleh yang mendokan orang tuanya