- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机图形学课程设计报告--简单图形绘制软件的设计与实现_精品
滁州学院
图形学设计报告
课程名称: 计算机机图形学
设计题目: 简单图形绘制软件的设计与实现
系 别: 计算机科学与技术系
专 业:
姓 名:
起止日期:2011年5月20日 ~ 2011年6月20日
指导教师:
计算机科学与技术系二00九年制
目录
⒈引言 1
⒉需求分析 1
⒊概要设计 1
3.1概要设计实现的内容 1
3.2函数的功能描述 1
⒋详细设计 2
⒌调试与操作说明 4
⒍课程设计总结与体会 6
⒎致谢 6
⒏参考文献 6
⒐附录 7
课程设计的主要内容
⒈引言
本学期系统的学习了计算机图形学,在学期末按课程要求对其进行设计,本课程主要内容包括以图形学算法为目标,深入研究。续而策划设计实现一个能够表现计算机图形学算法原理的或完整过程的演示系统,并能从某些方面做出评价和改进意见。通过完成一个完整程序,经历策划、设计、开发、总结。达到通过本,使自己掌握基本图形显示程序设计方法,及二维和三维图形变换程序设计方法⑴初始化OPENGL的灯光,材质,雾,投影方式的函数:void initview();
⑵绘制图形基于操作函数:void draw();
⑶绘制图形berzer曲面函数:void berzer_surface(float control_point[],int m,int n);
⑷绘制图形berzer曲线函数:void berzer_curve(float control_point[],int n,int f);
⑸设置一维纹理函数:void set_texture1d(GLubyte image[],int width);
⑹对OPENGL图像的材质操作的函数:void initMaterial
⒋详细设计
1对图形的操作。
void EnableOpenGL (HWND hWnd, HDC *hDC, HGLRC *hRC); //初始化设备
void DisableOpenGL (HWND hWnd, HDC hDC, HGLRC hRC); //还原绘图设备
void initview(); //初始化OPENGL的灯光,材质,雾,投影方式等
void draw(); //绘制图形如曲线,曲面,圆柱,球,点,线,多边形等
void berzer_surface(float control_point[],int m,int n);//绘制图形berzer曲面
void berzer_curve(float control_point[],int n,int f);//绘制图形berzer曲线
void set_texture1d(GLubyte image[],int width);//设置一维纹理
void initMaterial(); //初始化OPENGL的材质
2通过方向键,Z,X,W,A,S,D来控制旋转,移动,放大等。
if(GetAsyncKeyState(VK_UP)0)
rx += 1;
if(GetAsyncKeyState(VK_DOWN)0)
rx -= 1;
if(GetAsyncKeyState(VK_LEFT)0)
ry += 1;
if(GetAsyncKeyState(VK_RIGHT)0)
ry-=1;
if(GetAsyncKeyState(Z)0)
scale += 0.02;
if(GetAsyncKeyState(X)0)
scale-=0.02;
if(GetAsyncKeyState(D)0)
tx += 0.05;
if(GetAsyncKeyState(A)0)
tx-=0.05;
if(GetAsyncKeyState(W)0)
ty += 0.05;
if(GetAsyncKeyState(S)0)
ty-=0.05;
glPushMatrix ();//保存
3绘制berzer曲线和曲面。
void berzer_surface(float control_point[],int m,int n);//绘制图形berzer曲面
void berzer_curve(float control_point[],int n,int f);//绘制图形berzer曲线
//berzer曲线的控制点
float cpoint[5][3]={{-1.5, -1.5,1.0},
文档评论(0)