用C语言设计实光照模型课程设计报告.docVIP

用C语言设计实光照模型课程设计报告.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用C语言设计实光照模型课程设计报告

学号 《》 课程设计报告 用C语言设计实体光照模型 专业: 班级: 姓名: 指导教师: 成绩: 计算机学院 2017年4月25日 目录 课程设计题目:实体光照模型 一 需求分析 2 二 总体设计 2 三 详细设计 3 四 源代码 11 一 需求分析 如对长方体,建立一个点光源,采用环境光和点光源漫反射光的光照模型,应用FLAT明暗处理方法,显示平行投影后的长方体光照效果。 二 总体设计 图形介绍 三 详细设计 1、原理 光照模型是真实感图形技术的重要组成部分,它主要研究的是如何根据光学物理的有关定律,采用计算机来模拟自然界中光照明的物理过程。本文通过对光源特性和物体表面特性、局部光照模型和整体光照模型的具体分析,完成对光照模型的 系统阐述。 关键词:光源特性、局部光照模型、全局光照模型、真实感图形 2、详细分支 定义三维齐次坐标结构和面的结构;定义顶点表和面表,对长方体绕X轴旋转和绕Y轴旋转。 对每一个面计算其外法向量及可见性 对每个可见面计算其光线向量,并判断其是否为背光面。 计算每个见光面的环境光和点光源的漫反射分量。 用该面的光强显示该可见面 3、设计介绍 (1)旋转变换 绕X轴旋转变换的坐标表示 绕Y轴旋转变换的坐标表示 (2) 平行投影 在XOY平面投影后坐标 (3) 环境光模型 物体没有受到光源的直射,但其表面仍有一定亮度,这是由于环境光的作用。 表示环境光反射强度 表示环境光反射率 表示环境光入射强度 (4)漫反射光模型 漫反射光可认为是在点光源的照射下,光被物体表面吸收后,然后重新反射出来的光。 表示漫反射光强度 表示漫反射反射率 表示点光源入射强度大小 入射光与物体表面法矢量夹角 4、定义结构及分析 (1)定义三维齐次向量结构体 typedef struct Vector3D { float x; float y; float z; int f; //f表示所在的平面的编号 VECTOR; }; (2) 定义三维齐次坐标结构 typedef struct tagHOMOCOORD { float x; float y; float z; float w; HOMOCOORD; }; (3)定义面的结构 typedef struct tagPLANE { int v0, v1, v2, v3; VECTOR n; //外法向量 HOMOCOORD center; //中心点 float Id; //漫反射光强 int flag; //标识符 float kd; //漫反射率 float ka; //环境光反射率 float Ie; //环境光反射光强 float I; //光强 PLANE; }; (4)定义点的结构 typedef struct tagMYPOINT { float x,y; MYPOINT; }; (5)长方体顶点定义及初始化 ptsnew HOMOCOORD[ptn] { pts[0].x 1; pts[0].y 2; pts[0].z 1; pts[0].w1; pts[1].x -1; pts[1].y 2; pts[1].z 1; pts[1].w1; pts[2].x -1; pts[2].y -2;pts[2].z 1; pts[2].w1; pts[3].x 1; pts[3].y -2;pts[3].z 1; pts[3].w1; pts[4].x 1; pts[4].y 2; pts[4].z -1; pts[4].w1; pts[5].x -1; pts[5].y 2; pts[5].z -1; pts[5].w1; pts[6].x -1; pts[6].y -2;pts[6].z -1; pts[6].w1; pts[7].x 1; pts[7].y -2;pts[7].z -1; pts[7].w1; }; (6)面表 fn6; facesnew PLANE[fn]; faces[0].v00; faces[0].v11; faces[0].v22; faces[0].v3

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档