环形螺旋曲线的绘制

#include<GL/glut.h>
#include <math.h>
#define PI 3.14
void 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;
}

   环形螺旋曲线的参数方程为:

  其中,t为参数且。a,b和c是常数,比如可取a=2.0,b=3.0,c=18.0。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值