利用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;
}