锥形螺旋曲线的绘制

来源:互联网 发布:淘宝私人定制怎么玩 编辑:程序博客网 时间:2024/04/29 01:05
#include<GL/glut.h>#include <math.h>#define PI 3.14void drawMyLines(){float t;float x,y,z;float a=2,b=3,c=18;glColor3f(1.0,0.5,0.5);glBegin(GL_LINE_STRIP);for(t=0.0;t<=2*PI;t+=0.0002){x=a*t*cos(c*t)+b;y=a*t*sin(c*t)+b;z=c*t;glVertex3f(x,y,z);}glEnd();glColor3f(1.0,1.0,1.0);glBegin(GL_LINES);  //建立坐标轴glVertex3f(0,0,0);glVertex3f(12,0,0);glEnd();glBegin(GL_LINES);  //建立坐标轴         glVertex3f(0,0,0);glVertex3f(0,0,12);glEnd();glBegin(GL_LINES);  //建立坐标轴glVertex3f(0,0,0);glVertex3f(0,12,0);glEnd();}void display(){glClear(GL_COLOR_BUFFER_BIT);drawMyLines();    //调用drawMyLines函数glFlush();}void init(){glClearColor(0.0,0.0,0.0,0.0);glColor3f(1.0,1.0,1.0);gluLookAt(1,1,1,   //更改视角3,3,3,-1,-1,1);glMatrixMode(GL_PROJECTION);  //设置投影模式glLoadIdentity();            //设置单位矩形glOrtho(-12.0,12.0,-12.0,12.0,-12,12);}int main(int argc, char* argv[]){     glutInit(&argc, argv);glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);    glutInitWindowSize(500, 500);glutInitWindowPosition(0, 0);glutCreateWindow("Simple");glutDisplayFunc(display);    init();glutMainLoop();   //使程序一直处在监听状态中           return 0;}
  分别利用点、线图元生成锥形螺旋曲线和环形螺旋曲线,要求可以设置点的大小、线可以设置线形和宽度。锥形螺旋曲线的参数方程为:


原创粉丝点击