OpenGL рисует спираль

#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 радианы.