opengl求圆坐标glVertex2f(R*cos(2*Pi/n*i), R*sin(2*Pi/n*i))中2*Pi/n*i的原理是什么,哪位高手能讲解上

opengl求圆坐标glVertex2f(R*cos(2*Pi/n*i), R*sin(2*Pi/n*i))中2*Pi/n*i的原理是什么,谁能讲解下?
C/C++ code

#include <windows.h>
#include <glut.h>
#include <glext.h>
#include <time.h>
#include<math.h>
const int n = 1000;
const GLfloat R = 0.5f;
const GLfloat Pi = 3.1415926536f;

void DrawCircle()
{
    int i;
    glBegin(GL_LINE_LOOP);
    for(i=0; i<n; ++i)
        [color=#FF0000]glVertex2f(R*cos(2*Pi/n*i), R*sin(2*Pi/n*i));[/color]
    glEnd();

    glBegin(GL_LINES);
        glColor3f(1, 0, 0);
        glVertex3f(0, 0, 0);
        glVertex3f(1.2*R, 0, 0);

        glColor3f(0, 1, 0);
        glVertex3f(0, 0, 0);
        glVertex3f(0, 1.2*R, 0);
    glEnd();
    glFlush();
}
void myDisplay()
{
    glClear(GL_COLOR_BUFFER_BIT);
    DrawCircle();
}

int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
    glutInitWindowPosition(100, 100);
    glutInitWindowSize(400, 400);
    glutCreateWindow("Draw a circle");
    glutDisplayFunc(myDisplay);
    glutMainLoop();
    return 0;
}



大家看红色标注的代码:
glVertex2f(R*cos(2*Pi/n*i), R*sin(2*Pi/n*i))
这个函数我知道什么意思,R*cos(2*Pi/n*i)代表X的坐标,R*sin(2*Pi/n*i)代表Y的坐标,
我对这个算法搞不明白,尤其是2*Pi/n*i这个是啥意思啊?
各位知道的,可否点明一二呢,在此不胜感激啊。

------解决方案--------------------
1、圆可以通过圆上首尾相接的线段去逼近,当线段足够多时看上去就是圆了
2、(R*cos(2*Pi/n*i),R*sin(2*Pi/n*i)),代表向量(R,0)旋转2*Pi/n*i弧度后的坐标
3、n表示使用的线段数量,用不着1000,一般100就足够了
------解决方案--------------------
以前我不懂得时候我就把R*cos(2*Pi/n*i)和sin的结果用计算器算出来,在本子上画个坐标大致看这个点在哪,然后在算下一个点在哪,把两个点连起来你就知道圆是怎么画出来了,你在把1000改小一点,你就能明白了,当你明白后会用就够了!