可与我的之前写的相对应
主函数中调用:
glutDisplayFunc(display21);
函数详情:
实际上通过画点函数进行绘制的
void display21(void)
{//int i;
int X = 50,Y = 50;
int R = 40;
double x,y;
double x1,y1,y2;
double PI = 3.1415926;
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
//画点程序
glPointSize(4); // 绘制前设置下点的大小和颜色
glColor3f(1, 0, 0);
glBegin(GL_POINTS);
for(x=-360;x<=360;x++){
x1=x/360.0;
y1 = 360*(pow(x1,1.5)+pow(1-x1*x1,0.5));
y2 = 360*(pow(x1,1.5)-pow(1-x1*x1,0.5));
glVertex3f(X+x/18, Y+y1/9, 20);
glVertex3f(X+x/18, Y+y2/9, 20);
glVertex3f(X-x/18, Y+y1/9, 20);
glVertex3f(X-x/18, Y+y2/9, 20);
}
glEnd();
glutSwapBuffers();
// 只flush没用的,直接swap就好了
//glutSwapBuffers();
}