Membuat garis
DIAGONAL,
VERTIKAL, HORIZONTAL
Dengan opengl
pada C++
Pertama kali mendapat
tugas ini ane kira gampang ngerjainnya ga diduga 2 minggu pertama susahnya
bukan main tapi akhirnya kelar juga walau sedikit cacat. Ane ga bakal nyediain
bagai mana cara memasang opengl pada c++ karena pada dasarnya sangat mudah
hanya mengistal opengl pada c++ atau semacamnya karena di blog – blog lain
sudah ada. Jadi langsung aja ane kasih program dasarnya untuk membuat garis
dengan BOORLAND C++.
#include <windows.h>
#include <iostream.h>
#include <gl/gl.h>
#include <stdio.h>
#include <gl\glu.h>
#include <gl\glaux.h>
#include <gl\glut.h>
void sumbu(){
glPushMatrix();
glBegin(GL_LINES);
glVertex3f(0,0,0.0);
glVertex3f(0,1,0.0);
glVertex3f(0,0,0.0);
glVertex3f(1,0,0.0);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,1.0,1.0);
glPopMatrix();
glEnd();
glFlush();
}
void Diagonal()
{
float a,b,c,d;
cout<<"Masukkan Xo :";
cin>>a;cout<<"Masukkan Yo :";
cin>>b;cout<<"Masukkan X1 :";
cin>>c;cout<<"Masukkan Y1 :";
cin>>d;
glPushMatrix();
glBegin(GL_LINES);
glVertex3f(a+0.5,b+0.5,0.0);
glVertex3f(c+0.5,d+0.5,0.0);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,1.0,1.0);
glPopMatrix();
glEnd();
glFlush();
}
Pada garis diagonal smua korrdinat berubah karena yang ingin diambil
adalah garis miring.
void Horizontal()
{
float e,f,g;
cout<<"Masukkan X Awal:";cin>>e;
cout<<"Masukkan X Akhir:";cin>>f;
cout<<"Masukkan Y tetap:";cin>>g;
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,1.0,1.0);
glBegin(GL_LINES);
glVertex3f(e+0.1,g+0.1,0.0);
glVertex3f(f+0.1,g+0.1,0.0);
glEnd();
glFlush();
}
Pada garis horizontal koordinat y tetap, dan koordinat x berubah
sesuai dengan aturan BRESENHAM maka akan terbuatlah garis miring
void Vertikal()
{
float x,y,z;
cout<<"Masukkan Yawal :";cin>>x;
cout<<"Masukkan Yakhir:";cin>>y;
cout<<"Masukkan Xtetap:";cin>>z;
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,1.0,1.0);
glBegin(GL_LINES);
glVertex3f(z+0.5,x+0.5,0.0);
glVertex3f(z+0.5,y+0.5,0.0);
glEnd();
glFlush();
}
Pada garis vertical koordinat x
tetap, dan y yang berubah sesuai dengan titik awal sampai titik y akhir. Maka akan
terbuatlah garis lurus
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) {
menu:
int j;
cout<<"-----MENU----\n";
cout<<"1.Garis vertikal\n";
cout<<"2.Garis Horizontal\n";
cout<<"3.Garis Diagonal\n";
cout<<"4.Exit\n";
cout<<"------------------\n";
cout<<"Masukkan pilihan anda:";cin>>j;
cout<<"\n";
glutInit(&iArgc, cppArgv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(500,500);
glutInitWindowPosition(600,200);
glutCreateWindow("OpenGL with C++");
initialize();
while (j<=4){
switch(j){
case 1:
glutDisplayFunc(Vertikal);
glutMainLoop();
return 0;
case 2:
glutDisplayFunc(Horizontal);
glutMainLoop();
return 0;
case 3:
glutDisplayFunc(Diagonal);
glutMainLoop();
return 0;
default:
cout<<"anda salah memasukkan";
goto menu;
}
}}
untuk pelengkap tugas di lengkapi dengan file dari program yang di buat download di bawah
TERIMA KASIH






No comments:
Post a Comment