图形学课程设计报告书-精品.docx

上传人:lao****ou 文档编号:887190 上传时间:2024-07-14 格式:DOCX 页数:15 大小:56.46KB
下载 相关 举报
图形学课程设计报告书-精品.docx_第1页
第1页 / 共15页
图形学课程设计报告书-精品.docx_第2页
第2页 / 共15页
图形学课程设计报告书-精品.docx_第3页
第3页 / 共15页
图形学课程设计报告书-精品.docx_第4页
第4页 / 共15页
图形学课程设计报告书-精品.docx_第5页
第5页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《图形学课程设计报告书-精品.docx》由会员分享,可在线阅读,更多相关《图形学课程设计报告书-精品.docx(15页珍藏版)》请在第一文库网上搜索。

1、课程设计报告学生姓乐刘名凤学号:0809290102学院:理学院班级:信计081题目:奥运五环指导教师:常志文职称:教授邓冠男职称助教2011年5月31日目录-2-一、选题背景-1-1.1 奥运五环设计的问题-1-1.2 奥运五环设计指导思想-1-二、算法设计-1-2.1 设计原理-1-2.2 算法设计的方案-2-2.2.1 圆环求交算法-2-2.2.2 三维旋转变换算法-2-三、程序及功能说明-2-3.1程序说明-2-四、结果分析-5-4.1、显示结果-5-五总结-6-六、课程设计心得体会-7-参考文献-8-源程序1一、选题背景1.1 奥运五环设计的问题计算机图形学是计算机科学最活跃的分支之

2、一,它伴随着计算机技术的发展而发展。它研究的对象是能够在人的的视觉系统中形成视觉印象的客观对象的图形。它包括人眼所观察到的自然界的景物,用照相机等装置所获得的图片,用绘图工具绘制的工程图,各种人工美术绘画和用数学方法描述的图形等。利用图形学知识设计奥运五环会遇到许多问题,如五个圆环的生成,颜色的填充,光照明模型的形成,如何使图形具有三维立体感,在图形形成的过程中怎样使其具有动态画面,怎样在五环后加入背景,还有怎样使用VC+中的高级图形工具OPENG1。为此在此设计中需要掌握OPENG1中的各种绘图功能,并能达到熟练运用。掌握图形生成算法,颜色模型形成,简单光照明模型的形成与应用。1.2 奥运五

3、环设计指导思想奥运五环代表五大洲。黄色是亚洲,黑色是非洲,蓝色是欧洲,红色是美洲I,绿色是大洋洲。五环环环相扣,象征着五大洲人民的团结,共振奥运精神!朴素的白色背景寓意着和平。计算机图形学利用VC+中的高级图形工具OpenG1,绘制各种三维动态图形,利用填充图形填充各种图形及颜色。图形学中所要表示、处理和生成的物体,不仅包括客观存在的物体,还包括构造出来的虚拟物体。还可依据光照明模型,绘制算法具体计算对应屏幕上各像素的物体表面的颜色,并最终显示图形。可利用这些图形学知识实现奥运五环。二算法设计2.1 设计原理圆环与圆环求教算法,颜色的交互指定与颜色插值中的Gouraud着色方法,反混淆算法以及

4、制作动画时需要的图像融合,三维坐标系中旋转变换,光照明模型方程,漫反射和镜面反射原理等,生成具有动态旋转功能,带有五种颜色的五个相交环,并在光照下具有真实感的图形。2.2 算法设计的方案2.2.1 圆环求交算法将圆环面看成中心在大圆上的一族圆,从而将球面圆环面求交的问题转化为球面与一族圆的求交问题.该算法不需要跟踪交线.首先利用点圆最近距离的理论,直接判断是否无交、相切于一点、交于一个圆或交于两个圆等简单的情况;其他情况下,通过求解关于圆环面大圆的参数的一元四次方程的根,然后对该参数区间0,2兀进行划分,并通过简单的符号判断来确定有交的参数子区间,在这些有交的子区间上直接给出所有交曲线段的参数

5、表示形式.2.2.2 三维旋转变换算法如果要绕空间任意轴瓶旋转。角,可按照如下步骤为实现:(1)以PO为原点6,瓶为6Z轴建立新的坐标系6石W;(2)求出从坐标系OAyZ到坐标系OXyZ的变换M;(3)将图形对象变换到坐标系6中;(4)在新坐标系OXyZ中;(5)将图形对象变换回原坐标系OXyZ中,变换为犷二这样绕血旋转。角的变换为:M-IR(O)M三、程序及功能说明3.1程序说明1.枚举个元素enumB1ACK=0,RED,GREEN,YE11OW,B1UE,MAGENTA,CYAN,WHITE;2定义各种类型typedefshortPOinU2;G1enumdirectRender;uns

6、ignedcharrgb-co1orsRINGS3;intmapped_co1orsRINGS;f1oatdestsRINGS3;f1oatOffsets1RINGS3;f1oatangsRINGS;f1oatrotAxis1RINGS3;intitersRINGS;G1uinttheTorus;3 .画出球,环面求交voidFi11rbrus(f1oatrc,intnumc,f1oatrt,intnumt)(inti,j,k;f1oats,t;f1oatx,y,z;f1oatpi,twopi;pi=M_PI;twopi=2*pi;for(i=O;inumc;i+)g1Begin(G1_QUA

7、D_STRIP);/*开始画球*/for(j=O;j=O;k-)s=(f1oat)(i+k)%numc+0.5f);t=(f1oat)(j%numt);x=cosf(t*twopi/numt)*cosf(s*twopi/numc);y=sinf(t*twopi/numt)*cosf(s*twopi/numc);z=sinf(s*twopi/numc);g1Norma13f(x,y,z);/*定义法线方向*/x=(rt+re*cosf(s*twopi/numc)*cosf(t*twopi/numt);y=(rt+re*cosf(s*twopi/numc)*sinf(t*twopi/numt);z

8、=rc*sinf(s*twopi/numc);g1Vertex3f(x,y,z);/*设置顶点坐标*/)g1End();/*绘制结束*/)4 .对绘制图形进行旋转变换voidCA11BACKDrawScene(void)inti;g1PushMatrix();/*保存移动或旋转变换后的位置和角度*/g1C1ear(G1_CO1OR_BUFFER_BITG1_DEPTH_BUFFER_BIT);for(i=O;iRINGS;i+)g1Co1or3ubv(rgb_co1orsi);g1PushMatrix();/*保存W前位置*/g1Trans1atef(destsiOoffsetsi0,dest

9、si1+offsetsi1,destsi2+offsetsi2);g1Rotatef(angsi1,rotAxisi0,rotAxisi1,rotAxisi2)*JM*/g1Ca111ist(theTorus);g1P。PMatriX();/*回复刚刚保存的位置和角度*/)g1PopMatrix();auxSwapBuffers();/*交换两个颜色缓冲区的内容*/5 .初始化圆环,定义光源,设置光照模型voidInit(Void)/*创建一个存储圆环的显示列表并初始化状态*/(inti;f1oattop_y=1.0f;f1oatbottom_y=0.0f;f1oattop_z=0.15f;f

10、1oatbottom_z=0.69f;f1oatspacing=2.5f;staticf1oat1mode1_ambient=0.0f,0.0f,0.0f,0.0f;srand(time(NU11);ReInit();/*重新初始化*/for(i=0;iRINGS;i+)rgb_co1ors1i0=rgb_co1ors1i11=rgb_co1ors1i12=0;(rgb_co1orsB1UERINGH2=255;mapped_co1orsB1UERING=B1UE;dests1B1UER!NGO=-spacing;g1C1earCo1or(0.5,0.5,0.5,0.0);g11ightfv(

11、G1_1IGHTO,G1_AMBIENT,Iight(1ambient);/*定义光源*/g11ightfv(G1_1IGHTO,G1_DIFFUSE,Iight(1diffUSe);/*定义光源漫射光*/g11ightfv(G1_1IGHTO,G1_SPECU1AR,1ight.specu1ar);g11ightfv(G1_1IGHTO,G1_POSITION,1ightO.position);g1Enab1e(G1JUGHT0);/*是光源有效*/g11ightMode1fv(G1_1IGHT_MODE1_1OCA1_VIEWER,Imode1Joca1);g11ightMode1fv(G

12、1_1IGHT_MODE1_TWO_S1bE,Imode1twoside);g11ightMode1fv(G1_1IGHT_MODE1_AMBIENT,Imode1ambient);g1Enab1e(G1_1IGHTING);gIMateria1fv(G1_FRONT,G1_AMBIENT,beve1_mat_ambien。;/*定义环境光反射率*/g1Materia1fv(G1_FRONT,G1_SHININESS,beve1_mat_shininess);/*定义高光指数*/g1Materia1fv(G1_FRONT,G1_SPECU1AR,beve1_ma1SPeCUIar);/*定义镜

13、面反射率*/g1Materia1fv(G1_FRONT,G1_DIFFUSE,beve1_mat_diffuse);/*定义漫射光反射率*/g1Co1orMateria1(G1_FRONT_AND_BACK,G1.DIFFUSE);g1Enab1e(G1_CO1OR_MATERIA1);g1ShadeMode1(G1_SMOOTH);)6 .设置视点voidCA11BACKReshape(intwidth,intheight)(g1Viewport(0,0,width,height);g1MatrixMode(G1_PROJECTION);g1uPerspective(45,1.33,0.1,

14、100.0);g1u1ookAt(0,0,10,0,0,0,0,1,0);g1MatrixMode(G1_MODE1VIEW);)四、结果分析4.1显TF结果分析:程序能显示一个动态的三维实体,立体感比较真实,从不同的视觉角度都能观察到动态的旋转变换的五个不同颜色的环。而且能感受到光照。只有背景不是很好。在设计好圆环后,对其进行填充颜色,利用三维坐标变换进行旋转变换,将其在进入画面时具有动态的感觉,在对其进行光照设置时使其具有真实感。最后形成一个较形象的奥运五环。在此用到了计算机图形学中的圆环求交算法,三维变换算法优点:旋转变换到画面上,具有动感,颜色鲜艳,具有光照真实感强。没有繁多的数据,表

15、现的画面挺形象。缺点:显示的画面比较单调,背景比较暗淡,没有设置快捷键,程序复杂,需要的运行工具较多。结论:在视觉和立体感上该图形设计的挺成功的,展现了五环紧密相连的特性。计算机图形学中的三维坐标变换,光照模型,颜色着色法,曲线的生成得到了充分的应用。但也有缺点,所以还应进一步进行改进,如设置一个丰富多彩背景,传递一下设计主题的含义。设置快捷键让其更简捷的运行出来。五、总结计算机图形学的内容范围是比较广的,研究的方向也挺多,它的用途也是比较多的。从线面变换,到曲线曲面。从二维坐标变换到三维坐标变换,从静态到动态变换。展现了图形学的绘图功能。图形学中颜色,如单色模型,彩色模型,光栅系统中的颜色模型为绘图填上了亮丽的色彩

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 工作总结

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服