Computer Vision
Computer Vision

Pada Kesempatan kali ini Penulis akan melakukan eksplorasi mengenai Compuer Vision, yaitu :
Tujuan :
2. Membandingkan pembuatan grafik primitif dasar dengan C++
Permasalahan :
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 :

Belum ada Komentar untuk "Computer Vision"
Posting Komentar