#include<GL/glut.h>
#include<math.h>
float i=3,c=28,k;
void mykey(unsigned char key,int x,int y)
{
if(key=='q'){i+=0.5;glutPostRedisplay();}//使线条变粗
if(key=='w'){i-=0.5;glutPostRedisplay();}//使线条变细
if(key=='e'){c+=0.5;glutPostRedisplay();}//改变形状
if(key=='r'){c-=0.5;glutPostRedisplay();}
}
void display(void)
{
float x,y,z,t=0;
float a=2,b=3;
glClear(GL_COLOR_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(4,4,8,0,0,0,0,1,0);
glEnable(GL_LINE_STIPPLE);
glLineStipple(4,0xcccc);
glLineWidth(i);
glBegin(GL_LINE_STRIP);
for(t=0;t<2*3.14;t+=0.01)
{
x=(a*sin(c*t)+b)*cos(t);
y=(a*sin(c*t)+b)*sin(t);
z=a*cos(c*t);
glVertex3f(x,y,z);
}
glEnd();
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余2页未读,立即下载