| Current Path : /var/www/html/venkat/check3/file/cg2013/pawan/ |
| Current File : /var/www/html/venkat/check3/file/cg2013/pawan/new.cpp |
#include <stdio.h>
#include <stdlib.h>
#include <GL/freeglut.h>
#include <GL/gl.h>
#include <math.h>
int X1[5];
int Y1[5];
int Z1[5];
int X2[5];
int Y2[5];
int Z2[5];
int sqx[4];
int sqy[4];
int sqz[4];
void draw();
void display(){
int q=30;
int i;
for(i=0;i<5;i++){
Y1[i]=Y1[i]*cos(q)-Z1[i]*sin(q);
Y2[i]=Y2[i]*cos(q)-Z2[i]*sin(q);
Z1[i]=Y1[i]*sin(q)+Z1[i]*cos(q);
Z2[i]=Y2[i]*sin(q)+Z2[i]*cos(q);
}
for(i=0;i<4;i++){
sqy[i]=sqy[i]*cos(q)-sqz[i]*sin(q);
sqz[i]=sqy[i]*cos(q)-sqz[i]*sin(q);
printf("printing points for line after 30 degree rotation\n");
for(i=0;i<5;i++){
printf("%d %d %d\n",X1[i],Y1[i],Z1[i]);
}
for(i=0;i<5;i++){
printf("%d %d %d\n",X2[i],Y2[i],Z2[i]);
}
printf("printing points for square after 30 degree rotation\n");
for(i=0;i<4;i++){
printf("%d %d %d\n",sqx[i],sqy[i],sqz[i]);
}
}
/*draw();
for(i=0;i<5;i++){
Y1[i]=Y1[i]+.1;
Y2[i]=Y2[i]+.1;
}
for(i=0;i<4;i++){
sqy[i]=sqy[i]+.1;}
draw();
glFlush();
*/
}
void draw(){
glClearColor(0, 0, 0, 0);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0, 1, 0);
glBegin(GL_LINES);
int i,j;
for(i=0;i<5;i++){
glVertex3f(X1[i],Y1[i],Z1[i]);
glVertex3f(X2[i],Y2[i],Z2[i]);
// printf("%f %f %f %f\n",X1[i],Y1[i],X2[i],Y2[i]);
}
for(i=0;i<5;i++){
glVertex3f(-1*X1[i],Y1[i],Z1[i]);
glVertex3f(-1*X2[i],Y2[i],Z2[i]);
// printf("%f %f %f %f\n",X1[i],Y1[i],X2[i],Y2[i]);
}
glBegin(GL_LINES);
for(i=0;i<4;i++){
glVertex3f(sqx[i],sqy[i],0);
if(i==3) j=0;
else j=i+1;
glVertex3f(sqx[j],sqy[j],0);
}
}
int main(int argc,char **argv){
X1[0]=-50;
X1[1]=-150;
X1[2]=-500;
X1[3]=-50;
X1[4]=-400;
Y1[0]=0;
Y1[1]=0;
Y1[2]=400;
Y1[3]=0;
Y1[4]=400;
X2[0]=-50;
X2[1]=-500;
X2[2]=-100;
X2[3]=-400;
X2[4]=-100;
Y2[0]=500;
Y2[1]=400;
Y2[2]=700;
Y2[3]=400;
Y2[4]=600;
int i;
for(i=0;i<5;i++){
Z1[i]=10;
Z2[i]=10;}
sqx[0]=-100;
sqx[1]=-100;
sqx[2]=100;
sqx[3]=100;
sqy[0]=700;
sqy[1]=500;
sqy[2]=500;
sqy[3]=700;
for(i=0;i<4;i++){
sqz[i]=10;
}
/*glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE);
glutInitWindowSize(500, 500);
glutInitWindowPosition(2, 5);
glutCreateWindow("Lab Test 1");
glutDisplayFunc(display);
glutMainLoop();
display();*/
display();
return 0;
}