多边形的画法演示"/>
openGL圆及多边形的画法演示
#include <GL/glut.h>#include <math.h>
const int n = 1000; //多边形的边数,当边数超过一定限度之后,就近似的形成一个圆
const GLfloat R = 0.5; //圆的半径
const GLfloat Pi = 3.1415926536;
void init()
{
glClearColor(1.0,1.0,1.0,0.0); //底板颜色为白色
}
void DrawCircle()
{
int i;
glBegin(GL_LINE_LOOP);
for(i=0; i<n; ++i)
glVertex2f(R*cos(2*Pi/n*i), R*sin(2*Pi/n*i)); //利用for循环输出各个点的位置,从而进行连线画图
glEnd();
glFlush();
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,0.0,0.0) ; //所画线条为红色
DrawCircle();
}
void myDisplay()
{
}
void main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowPosition(100, 100);
glutInitWindowSize(400, 400);
glutCreateWindow("Draw a circle");
glutDisplayFunc(DrawCircle);
init();
glutMainLoop();
}
其中根据边数N的不同有不同的形状N=2
N=1000
更多推荐
openGL圆及多边形的画法演示
发布评论