Rabu, 14 Mei 2008

PROGRAM MOBIL DENGAN VC++


#include

#include

void garis_lengkung(int x, int y, int jari,int mula, int akhir, int r, int g, int b )

{

glPointSize(3);

int x1,y1;

float rad = 3.14/180;

glColor3f(r,g,b);

glBegin(GL_POINTS);

for (int a=mula; a<=akhir; a++)

{

x1=jari*cos(a*rad);

y1=jari*sin(a*rad);

glVertex2f(x+x1,y+y1);

}

glEnd();

}

void lingk_full(int x, int y, int jari, int r, int g, int b )

{

glPointSize(3);

int x1,y1;

float rad = 3.14/180;

glColor3f(r,g,b);

glBegin(GL_POINTS);

for (int v=0; v<=jari; v++)

{

for (int a=0; a<=380; a++)

{

x1=v*cos(a*rad);

y1=v*sin(a*rad);

glVertex2f(x+x1,y+y1);

}

}

glEnd();

}

void kotak(int x1, int y1, int x2, int y2, int r, int g, int b )

{

glColor3f(r,g,b);

glBegin(GL_LINES);

for (int i=y1; i<=y2; i++)

{

glVertex2i(x1,i);

glVertex2i(x2,i);

}

glEnd();

}

void userdraw()

{

garis_lengkung(230,320,50,90,180,0,0,0);//lengkung1

kotak(180,250,450,320,0,0,1);//kotak bawah

kotak(230,320,320,370,0,0,0);//kotak jendela

garis_lengkung(180,295,10,90,270,0,0,0);//lampu depan

garis_lengkung(450,275,10,270,440,0,0,0);//lampu belakang

garis_lengkung(250,250,32,0,180,0,0,0);// lengkung ban depan

garis_lengkung(380,250,32,0,180,0,0,0);//lengkung ban belakang

lingk_full(250,250,26,0,0,0);//ban depan

lingk_full(380,250,26,0,0,0);//ban belakang

glBegin(GL_POINTS);

glColor3f(1,1,1);

glVertex2i(250,250);

glVertex2i(380,250);

glEnd();

}

void display(void)

{

glClear(GL_COLOR_BUFFER_BIT);

userdraw();

glutSwapBuffers();

}

int main(int argc, char** argv)

{

glutInit(&argc,argv);

glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);

glutInitWindowPosition(300,200);

glutInitWindowSize(640,480);

glutCreateWindow("Pickup");

glClearColor(1,1,1,0.0);

gluOrtho2D(0,640,0,480);

glutIdleFunc(display);

glutDisplayFunc(display);

glutMainLoop();

return 0;

}




Tidak ada komentar: