Archive

Archive for the ‘Fisika Komputasi’ Category

Menampilkan Quad,Polygon dan Triangle Fan dengan OpenGL

September 12, 2011 Leave a comment

Menampilkan Quad

Gambar Quad adalah bentuk segiempat dengan vertex yang bebas. Bebas disini artinya mempunyai segi empat buah yang bebas. Untuk menampilkan Quad, OpenGL mengunakan perintah GL_QUADS.

Perintah sederhana menampilkan SQUAD adalah :

 

glBegin(GL_QUADS);
glVertex3f(0.2, 0.2, 0.0);
glVertex3f(0.8, 0.2, 0.0);
glVertex3f(0.6, 0.4, 0.0);
glVertex3f(0.4, 0.4, 0.0);
glVertex3f(0.4, 0.6, 0.0);
glVertex3f(0.6, 0.6, 0.0);
glVertex3f(0.8, 0.8, 0.0);
glVertex3f(0.2, 0.8, 0.0);
glEnd();

 

Gambar yang dihasilkan dari peritah diatas adalah :

Perintah lengkap menampilkan SQUAD dalam main program bahasa C adalah :

 

#include <gl/glut.h>

 

void Draw() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_QUADS);
glVertex3f(0.2, 0.2, 0.0);
glVertex3f(0.8, 0.2, 0.0);
glVertex3f(0.6, 0.4, 0.0);
glVertex3f(0.4, 0.4, 0.0);
glVertex3f(0.4, 0.6, 0.0);
glVertex3f(0.6, 0.6, 0.0);
glVertex3f(0.8, 0.8, 0.0);
glVertex3f(0.2, 0.8, 0.0);
glEnd();
glFlush();
}

 

void Initialize() {
glClearColor(0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
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);
glutInitWindowSize(250, 250);
glutInitWindowPosition(200, 200);
glutCreateWindow(“Quads”);
Initialize();
glutDisplayFunc(Draw);
glutMainLoop();
return 0;
}

 

Hasil setelah di kompile dari program SQUAD diatas adalah :

Menampilkan Polygon

 

Polygon atau segibanyak dapat dibentuk dengan menggunakan perintah GL_POLYGON di OpenGL.

Perintah sederhana menampilkan POLYGON adalah:

 

glBegin(GL_POLYGON);
glVertex3f(0.2, 0.2, 0.0);
glVertex3f(0.6, 0.1, 0.0);
glVertex3f(0.8, 0.3, 0.0);
glVertex3f(0.7, 0.6, 0.0);
glVertex3f(0.4, 0.8, 0.0);
glEnd();

 

Gambar yang hasil dari perintah diatas adalah :

Perintah lengkap menampilkan POLYGON dalam main program bahasa C adalah :

#include <gl/glut.h>

void Draw() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_POLYGON);
glVertex3f(0.2, 0.2, 0.0);
glVertex3f(0.6, 0.1, 0.0);
glVertex3f(0.8, 0.3, 0.0);
glVertex3f(0.7, 0.6, 0.0);
glVertex3f(0.4, 0.8, 0.0);
glEnd();
glFlush();
}

void Initialize() {
glClearColor(0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
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);
glutInitWindowSize(250, 250);
glutInitWindowPosition(200, 200);
glutCreateWindow(“Polygon”);
Initialize();
glutDisplayFunc(Draw);
glutMainLoop();
return 0;
}

Hasil setelah di kompile dari program POLYGON diatas adalah :

Menampilkan Triangle Fan

 

Triangle Fan adalah menghubungkan beberapa segitiga ke titik pusat. Untuk menampilkan Triangle fan, OpenGL menggunakan perintah GL_TRIANGLE_FAN.

Perintah dasar menampilkan Triangle Fan adalah :

 

glBegin(GL_TRIANGLE_FAN);
glVertex3f(0.2, 0.2, 0.0);
glVertex3f(0.6, 0.1, 0.0);
glVertex3f(0.8, 0.3, 0.0);
glVertex3f(0.7, 0.6, 0.0);
glVertex3f(0.4, 0.8, 0.0);
glEnd();

 

Gambar dari perintah dasar diatas adalah :

Program lengkap Triangle fan dalam fungsi main bahasa C adalah :

 

#include <gl/glut.h>

 

void Draw() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_TRIANGLE_FAN);
glVertex3f(0.2, 0.2, 0.0);
glVertex3f(0.6, 0.1, 0.0);
glVertex3f(0.8, 0.3, 0.0);
glVertex3f(0.7, 0.6, 0.0);
glVertex3f(0.4, 0.8, 0.0);
glEnd();
glFlush();
}

 

void Initialize() {
glClearColor(0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
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);
glutInitWindowSize(250, 250);
glutInitWindowPosition(200, 200);
glutCreateWindow(“Triangle Fan”);
Initialize();
glutDisplayFunc(Draw);
glutMainLoop();
return 0;
}

 

Setelah di kompile, maka hasilnya adalah :

 

 

 

 

 

Menampilkan Garis Strip dan Garis Loop dengan OpenGL

September 11, 2011 Leave a comment

Menampilkan Garis Strip

Untuk menampilkan Garis Strip, OpenGL menggunakan perintah GL_LINE_STRIP. Garis Strip adalah membuat garis-garis dengan menghubungkan ujung garis sebagai titik pertama untuk garis selanjutnya.

Perintah dasar Garis Strip adalah :

glBegin(GL_LINE_STRIP);
glVertex3f(0.2, 0.2, 0.0);
glVertex3f(0.8, 0.2, 0.0);
glVertex3f(0.2, 0.5, 0.0);
glVertex3f(0.8, 0.5, 0.0);
glVertex3f(0.2, 0.8, 0.0);
glVertex3f(0.8, 0.8, 0.0);
glEnd();

Gambar dari perintah Garis Strip diatas adalah:

Program lengkap Garis Strip dalam main program c adalah :

#include <gl/glut.h>

void Draw() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_LINE_STRIP);
glVertex3f(0.2, 0.2, 0.0);
glVertex3f(0.8, 0.2, 0.0);
glVertex3f(0.2, 0.5, 0.0);
glVertex3f(0.8, 0.5, 0.0);
glVertex3f(0.2, 0.8, 0.0);
glVertex3f(0.8, 0.8, 0.0);
glEnd();
glFlush();
}

void Initialize() {
glClearColor(0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
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);
glutInitWindowSize(250, 250);
glutInitWindowPosition(200, 200);
glutCreateWindow(“Line Strip”);
Initialize();
glutDisplayFunc(Draw);
glutMainLoop();
return 0;
}

Program di atas, setelah di kompile, hasilnya seperti gambar dibawah:

Menampilkan Garis Loop

Garis Loop adalah menghubungkan garis pertama dengan garis selanjutnya dan garis terakhir terhubung dengan garis pertama. Untuk menampilkan Garis Loop, OpenGL menggunakan perintah GL_LINE_LOOP.

Perintah dasar Garis Loop adalah :

glBegin(GL_LINE_LOOP);
glVertex3f(0.2, 0.2, 0.0);
glVertex3f(0.8, 0.2, 0.0);
glVertex3f(0.2, 0.5, 0.0);
glVertex3f(0.8, 0.5, 0.0);
glVertex3f(0.2, 0.8, 0.0);
glVertex3f(0.8, 0.8, 0.0);
glEnd();

Dari program dasar Garis Loop itu akan membentuk gambar seperti :

Program lengkap untuk membuat Garis Loop dalam main program c adalah :

#include <gl/glut.h>

void Draw() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_LINE_LOOP);
glVertex3f(0.2, 0.2, 0.0);
glVertex3f(0.8, 0.2, 0.0);
glVertex3f(0.2, 0.5, 0.0);
glVertex3f(0.8, 0.5, 0.0);
glVertex3f(0.2, 0.8, 0.0);
glVertex3f(0.8, 0.8, 0.0);
glEnd();
glFlush();
}

void Initialize() {
glClearColor(0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
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);
glutInitWindowSize(250, 250);
glutInitWindowPosition(200, 200);
glutCreateWindow(“Lne Loop”);
Initialize();
glutDisplayFunc(Draw);
glutMainLoop();
return 0;
}

Hasil kompile program lengkap diatas adalah :

Dasar-Dasar Menggambar dengan OpenGL dan Menggambar Titik

September 10, 2011 Leave a comment

Dasar-dasar menggambar dengan OpenGL mempunyai 10 buah bentuk geometris sederhana,biasa disebut 10 Geometris Primitif. Disebut primitif karena bentuk sederhana dan ditampilkan sangat cepat dan bisa dibentuk gambar yang lebih kompleks lagi dengan penggabungan gambar geometris primitif tersebut. 10 Geometris tersebut adalah Points (Point), Lines (Garis), Triangles (Segitiga), Triangle Strip (Segitiga Jalur), Quad Strip (Quad Jalur), Line Strip (Garis Jalur), Line Loop (Garis Looping), Quads (Quad), Polygon (Poligon), and Triangle Fan (Segitiga Fan).

Untuk menggambar geometris diatas, openGL menggunakan fungsi, yaitu :

 

  • GL_POINTS
  • GL_LINES
  • GL_TRIANGLES
  • GL_TRIANGLE_STRIP
  • GL_QUAD_STRIP
  • GL_LINE_STRIP
  • GL_LINE_LOOP
  • GL_QUADS
  • GL_POLYGON
  • GL_TRIANGLE_FAN

 

Mengambar Titik

 

Menggambar titik menggunakan perintah GL_POINTS dengan glVertex3f(x, y, z), dimana kordinat x sumbu horizontal, y sumbu vertikal dan kordinat z kearah kita. Koordinat dimulai dari kiri bawah, seperti gambar di bawah ini.

Untuk mulai menggambar titik kita menggunakan perintah GL_POINTS seperti dibawah ini

glBegin(GL_POINTS);
glVertex3f(0.2, 0.2, 0.0);
glVertex3f(0.8, 0.2, 0.0);
glVertex3f(0.2, 0.5, 0.0);
glVertex3f(0.8, 0.5, 0.0);
glVertex3f(0.2, 0.8, 0.0);
glVertex3f(0.8, 0.8, 0.0);
glEnd();

Sintak program menggambarkan grafik dalam sumbu x,y dan z adalah

Atau dalam bentuk lain yaitu

Untuk Kode program lengkap dalam Editor CodeBlocks adalah

 

#include <gl/glut.h>

 

void Draw() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_POINTS);
glVertex3f(0.2, 0.2, 0.0);
glVertex3f(0.8, 0.2, 0.0);
glVertex3f(0.2, 0.5, 0.0);
glVertex3f(0.8, 0.5, 0.0);
glVertex3f(0.2, 0.8, 0.0);
glVertex3f(0.8, 0.8, 0.0);
glEnd();
glFlush();
}

 

void Initialize() {
glClearColor(0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
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);
glutInitWindowSize(250, 250);
glutInitWindowPosition(200, 200);
glutCreateWindow(“Point”);
Initialize();
glutDisplayFunc(Draw);
glutMainLoop();
return 0;
}

 

Jalankan Program tersebut di CodeBlocks hasilnya seperti gambar di bawah ini

Gambar ini terdiri 6 buah titik berwarna putih.

 

Follow

Get every new post delivered to your Inbox.