华拓科技网
您的当前位置:首页利用OpenGL,分别用点和折线模式实现正弦和余弦曲线的绘制.

利用OpenGL,分别用点和折线模式实现正弦和余弦曲线的绘制.

来源:华拓科技网


利用OpenGL,分别用点和折线模式实现正弦和余弦曲线的绘制

一、 实验目的

(1) 掌握用OpenGL实现点和折线模式;

(2) 在OpenGL用点和折线模式实现正弦和余弦曲线的绘制。

二、 实验内容

利用OpenGL,分别用点和折线实现正弦和余弦曲线的绘制

三、 实验步骤

(1) 实验原理

利用第五章所学内容,学会相关曲线的绘制,并掌握基本的算法原理,进一步理解OpenGL的成像原理

(2) 程序设计

四、 实验结果:

如下图所示:

五、实验心得

通过本次实验,基本上对数学函数及相关的三角函数在OpenGL的函数调用有了基本的了解,并且自己调试成功了自己的程序,虽然编程技术一塌糊涂,但最终还是自己搞出来的,哈哈,开心啊!!(+﹏+)~狂晕

六、附录

程序源代码

#include

#include

int winWidth=400,winHeight=300;

void Initial(void)

{

glClearColor(0,0,0,0);

}

void ChangeSize(int w,int h)

{

winWidth=w,winHeight=h;

glViewport(0,0,w,h);

glMatrixMode(GL_PROJECTION);

glLoadIdentity();

gluOrtho2D(0.0,winWidth,0.0,winHeight);

}

void Display()

{

//glClear(GL_COLOR_BUFFER_BIT);

glColor3f(1.0f,1.0f,1.0f);

glBegin(GL_LINE_STRIP);

int i,x=0,y=0;

for(i=0;i<400;i++)

{

x=x+1;

y=10*sin(((float)x/10))+100;

glVertex2i(x,y);

}

glEnd();

glBegin(GL_LINE_STRIP);

x=0,y=0;

for(i=0;i<400;i++)

{

x=x+1;

y=20*cos(((float)x/10))+250;

glVertex2i(x,y);

}

glEnd();

glutSwapBuffers();

}

int main(int argc,char *argv[])

{

glutInit(&argc,argv);

glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);

glutInitWindowSize(400,300);

glutInitWindowPosition(100,100);

glutCreateWindow(\"何智龙-2008082269\");

glutDisplayFunc(Display);

glutReshapeFunc(ChangeSize);

Initial();

glutMainLoop();

return 0;

}

因篇幅问题不能全部显示,请点此查看更多更全内容