#c #opengl #draw
#c #opengl #рисовать
Вопрос:
Следующий код создаст новый круг в OpenGL, но как я могу заставить его рисовать спираль вместо круга?
glBegin(GL_POINTS);
for (float angle = 0; angle < 360; angle = 1)
{
x = 50 * cos(angle);
y = 50 * sin(angle);
glVertex2f(x, y);
}
glEnd();
Ответ №1:
Вам нужно увеличить радиус в цикле. например:
float radius = 0.0f;
glBegin(GL_POINTS);
for (float angle = 0; angle < 1440; angle = 1)
{
x = cos(angle * M_PI / 180) * radius;
y = sin(angle * M_PI / 180) * radius;
radius = 0.1f;
glVertex2f(x, y);
}
glEnd();
Обратите внимание на единицу угла sin
и cos
радианы.