Мне нужно нарисовать солнце, которое продолжает вращаться (вращаться) в исходной позиции/точке поворота, которая находится в позиции (450, 450), но теперь оно не вращается в исходной точке, а продолжает вращаться на 360 градусов по отношению к исходной точке. экран и снова и снова возвращайтесь в исходное положение. Кто-нибудь знает, как решить эту проблему и сохранить вращение солнца в исходном положении, пожалуйста, измените код. Благодарим за помощь.
Код для Sun
Код: Выделить всё
#include // for MS Windows
#include // GLUT, include glu.h and gl.h
#include
float sunAngle = 0.0f; // Angle for sun rotation
// Drawing Circle
void circle(GLfloat rx, GLfloat ry, GLfloat cx, GLfloat cy)
{
glBegin(GL_POLYGON);
glVertex2f(cx, cy);
for (int i = 0; i 360) {
sunAngle -= 360;
}
// tell GLUT to call update again in 20 milliseconds
glutTimerFunc(20, update, 0);
}
void display (void){
glClear(GL_COLOR_BUFFER_BIT);
//Sky Color
glColor3ub(30, 144, 255);
glBegin(GL_POLYGON);
glVertex2d(0, 0);
glVertex2d(500, 0);
glVertex2d(500, 500);
glVertex2d(0, 500);
glEnd();
sun();
glFlush();
glutSwapBuffers();
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(900, 500);
glutInitWindowPosition(100, 100);
glutCreateWindow("Sun");
init();
glutDisplayFunc(display);
glutTimerFunc(16, update, 0);
glutMainLoop();
return 0;
}
Источник: https://stackoverflow.com/questions/781 ... raditional