Computer Vision

 Computer Vision

Pada Kesempatan kali ini Penulis akan melakukan eksplorasi mengenai Compuer Vision, yaitu :

Tujuan :

1. Mengenal Grafik Promitif Dasar dan menggambarkannya menggunakan OpenGL   
2. Membandingkan pembuatan grafik primitif dasar dengan C++

Permasalahan :

1. Membuat program yang memanfaatkan fungsi GL_LINE_STRIP, GL_LINE_LOOP, GL_TRIANGLE_FAN, GL_TRIANGLE_STRIP, GL_QUADS, dan GL_QUAD_STRIP.  
2. Buat Gambar Kubus bertingkat dari objek primitif  sekreatif mungkin. (minimal 5 kubus)


Pembahasan

1. Membuat program yang memanfaatkan fungsi GL_LINE_STRIP, GL_LINE_LOOP, GL_TRIANGLE_FAN, GL_TRIANGLE_STRIP, GL_QUADS, dan GL_QUAD_STRIP.  

Masukkan Source Code dibawah ini:

#include <gl/glut.h>


void Tugas(void)

{

 //GL_LINE_STRIP

 glClear(GL_COLOR_BUFFER_BIT);

 glLineWidth(7.5f);

 glBegin(GL_LINE_STRIP);

 glColor3f(1.0f, 0.0f, 0.0f); glVertex3f(-0.25, -0.50, 0.0);

 glColor3f(1.0f, 1.0f, 1.0f); glVertex3f(-0.25, 0.50, 0.0);

 glColor3f(1.0f, 0.0f, 0.0f); glVertex3f(0.25, -0.50, 0.0);

 glColor3f(1.0f, 1.0f, 1.0f); glVertex3f(0.25, 0.185, 0.0);

 glColor3f(1.0f, 1.0f, 1.0f); glVertex3f(0.25, 0.50, 0.0);

 glEnd(); glFlush();


 //GL_LINE_LOOP

 glLineWidth(2.5f);

 glColor3f(1.0f, 1.0f, 1.0f);

 glBegin(GL_LINE_LOOP);

 glVertex3f(-0.50, 0.75, 0.0);

 glVertex3f(0.50, 0.75, 0.0);

 glVertex3f(0.75, 0.0, 0.0);

 glColor3f(1.0f, 0.0f, 0.0f);

 glVertex3f(0.50, -0.75, 0.0);

 glVertex3f(-0.50, -0.75, 0.0);

 glVertex3f(-0.75, 0.0, 0.0);

 glEnd(); glFlush();

 

 //GL_TRIANGLE_FAN

 glLineWidth(2.5f);

 glBegin(GL_TRIANGLE_FAN);

    glVertex2f(-0.90,-0.90);

    glVertex2f(-0.65,-0.90);

glVertex2f(-0.80,-0.85);

    glVertex2f(-0.85,-0.75);

    glVertex2f(-0.90,-0.50);

 glEnd(); glFlush();

 

 //GL_TRIANGLE_STRIP

 glColor3f(1,0,0);

 glBegin(GL_TRIANGLE_STRIP);

    glVertex2f(0.90,0.90);

    glVertex2f(0.65,0.90);

glVertex2f(0.80,0.85);

    glVertex2f(0.85,0.75);

    glVertex2f(0.90,0.50);

 glEnd(); glFlush();

 

 //GL_QUADS

 glColor3f(1,1,1);

 glBegin(GL_QUADS);

  glVertex2f(0.80,-0.90);

  glVertex2f(0.90,-0.70);

  glVertex2f(0.80,-0.60);

  glVertex2f(0.70,-0.70);

 glEnd(); glFlush();

 

 //GL_QUAD_STRIP

 glColor3f(1,1,1);

 glBegin(GL_QUAD_STRIP);

  glVertex2f(-0.90,0.50);

  glVertex2f(-0.90,0.80);

  glVertex2f(-0.80,0.50);

  glVertex2f(-0.80,0.80);

  glVertex2f(-0.80,0.60);

  glVertex2f(-0.80,0.90);

  glVertex2f(-0.70,0.60);

  glVertex2f(-0.70,0.90);

 glEnd(); glFlush();

}


int main(int argc, char*argv[])

{

 glutInit(&argc, argv);

 glutInitWindowSize(640,480);

 glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);

 glutCreateWindow("Tugas");

 glutDisplayFunc(Tugas);

 glClearColor(0.75f, 0.75f, 0.75f, 1.0f);

 glutMainLoop();

 return 0;

}

    Pada source code di atas terdapat fungsi GL_LINE_STRIP, GL_LINE_LOOP, GL_TRIANGLE_FAN, GL_TRIANGLE_STRIP, GL_QUADS, dan GL_QUAD_STRIP. Semua fungsi diatas dibuat dengan titik koordinat masing-masing dengan fungsi glVertex3f dengan 3 titik koordinat (x, y, z) sedangkan untuk memberi warna pada objek digunakan fungsi glColor3f dengan format RGB. Dan berikut adalah screenshot hasil dari source code diatas :

2. Membuat Gambar Kubus bertingkat dari objek primitif (minimal 5 kubus).

Masukkan Source Code berikut:

#include <gl/glut.h> 

void KubusBertingkat(void)

{

glClear(GL_COLOR_BUFFER_BIT);

glColor3f(0.5f, 0.5f, 0.5f); 

glRectf(0.0, -0.1, 0.3, -0.5);

glRectf(-0.4, -0.1, -0.1, -0.5);

glColor3f(0.1f, 0.1f, 0.1f); 

glRectf(-0.6, -0.5, -0.3, -0.9);

glRectf(-0.2, -0.5, 0.1, -0.9);

glRectf(0.2, -0.5, 0.5, -0.9);

glRectf(-0.2, 0.3, 0.1, -0.1);

glFlush();

}

int main(int argc, char* argv[])

{

glutInit(&argc, argv);

glutInitWindowSize(640,480);

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);

glutCreateWindow("GL_KUBUS_Bertingkat");

glutDisplayFunc(KubusBertingkat);

  glClearColor(0.70f, 0.70f, 0.70f, 1.0f);

glutMainLoop();

return 0;

}

    Pada source code diatas terdapat fungsi glRectf yang digunakan untuk membuat objek bujur sangkar dan terdapat 6 fungsi glRectf yang ada pada source code diatas sesuai dengan permintaa di soal. Dan pada source code ini juga memakai fungsi glColor3f untuk memberikan warna pada bujur sangkarnya. Selain itu perhatikan letak koordinat / posisi setiap benda berada. Berikut adalah screenshot dari hasil source code diatas :

Saya adalah manusia

Belum ada Komentar untuk "Computer Vision"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel