1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| double r;// rayon de l'objet affiché
static double eyex=-r,eyey=-r,eyez=-r;
void GLUTRedraw(void)
{
......
.......
gluLookAt((GLfloat)eyex,(GLfloat)eyey,(GLfloat)eyez,gx,gy,gz,ux,uy,uz);
....
r=sqrt((carre(gx))+(carre(gy))+(carre(gz)));
.....
}
static void idle(void)
{
eyex +=r;
if (eyex > (2*r)) {
eyex=-r;eyey +=r;
if (eyey > (2*r)) {
eyex=-r; eyey=-r;eyez +=r;
if (eyez>(3*r)) {
fprintf(f,"%s\t",myObjet);fprintf(f,"\n");
exit(0);
}
}
}
glutPostRedisplay();
} |