欢迎来到天天文库
浏览记录
ID:822579
大小:372.52 KB
页数:29页
时间:2017-09-08
《长方体体的光照效果_计算机图形学课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、西安科技大学计算机图形学课程设计题目:长方体体的光照效果专业班级:信计1102班小组成员:陈维多1108060216邹世林1108060224左力1108060225李优1108060229日期:2013年1月2日29目录一课程设计题目…………………………………………………31.题目要求…………………………………………………32.任务………………………………………………………3二任务分析算法介绍……………………………………………31.任务分析…………………………………………………32.算法介绍…………………………………………………4三总体设计……………………………………………
2、…………51.定义三维齐次向量结构体………………………………52.定义三维齐次坐标结构…………………………………53.定义面的结构…………………………………………64.定义点的结构…………………………………………65.长方体顶点定义及初始化………………………………76.面表……………………………………………………77.定义点光源、视线方向、光照方向……………………88.各面可见性计算和判断…………………………………99.窗口-视区变换…………………………………………1110.路径填充………………………………………………12四流程图………………………………………………………13
3、五源程序………………………………………………………14六程序运行效果图……………………………………………27七总结…………………………………………………………28参考文献…………………………………………………………2929一、课程设计题目长方体体的光照效果1.题目要求对长方体,建立一个点光源,采用环境光和点光源漫反射光的光照模型,应用FLAT明暗处理方法,显示平行投影后的长方体光照效果。2.任务本题目主要包括五个任务,1)长方体表面模型的建立2)长方体的可见面判断3)可见面的背光性判断4)可见面光照计算5)可见面光照效果显示附加:通过键盘上下左右按键对图形进行旋转二、任务分析
4、算法介绍1.任务分析任务1)中,定义三维齐次坐标结构和面的结构;定义顶点表和面表,对长方体绕X轴旋转和绕Y轴旋转。任务2)中对每一个面计算其外法向量及可见性任务3)中对每个可见面计算其光线向量,并判断其是否为背光面。任务4)计算每个见光面的环境光和点光源的漫反射分量。29任务5)用该面的光强显示该可见面附加:人机交互2.算法介绍1)旋转变换绕X轴旋转变换的坐标表示绕Y轴旋转变换的坐标表示2)平行投影在XOY平面投影后坐标3)环境光模型物体没有受到光源的直射,但其表面仍有一定亮度,这是由于环境光的作用。表示环境光反射强度表示环境光反射率表示环境光入射强度4)漫反射光模型漫反射光
5、可认为是在点光源的照射下,光被物体表面吸收后,然后重新反射出来的光。29表示漫反射光强度表示漫反射反射率表示点光源入射强度大小入射光与物体表面法矢量夹角三、总体设计1.定义三维齐次向量结构体typedefstructVector3D{floatx;floaty;floatz;intf;//f表示所在的平面的编号}VECTOR;2.定义三维齐次坐标结构typedefstructtagHOMOCOORD{floatx;floaty;floatz;floatw;29}HOMOCOORD;3.定义面的结构typedefstructtagPLANE{intv0,v1,v2,v3;VEC
6、TORn;//外法向量HOMOCOORDcenter;//中心点floatId;//漫反射光强intflag;//标识符floatkd;//漫反射率floatka;//环境光反射率floatIe;//环境光反射光强floatI;//光强}PLANE;4.定义点的结构typedefstructtagMYPOINT{floatx,y;}MYPOINT;295.长方体顶点定义及初始化pts=newHOMOCOORD[ptn];pts[0].x=1;pts[0].y=2;pts[0].z=1;pts[0].w=1;pts[1].x=-1;pts[1].y=2;pts[1].z=1;p
7、ts[1].w=1;pts[2].x=-1;pts[2].y=-2;pts[2].z=1;pts[2].w=1;pts[3].x=1;pts[3].y=-2;pts[3].z=1;pts[3].w=1;pts[4].x=1;pts[4].y=2;pts[4].z=-1;pts[4].w=1;pts[5].x=-1;pts[5].y=2;pts[5].z=-1;pts[5].w=1;pts[6].x=-1;pts[6].y=-2;pts[6].z=-1;pts[6].w=1;pts[7].x=1;pts[
此文档下载收益归作者所有