计算机图形学课程设计--圆柱面图像纹理映射算法

上传人:aa****6 文档编号:38387051 上传时间:2018-05-01 格式:DOC 页数:14 大小:322KB
返回 下载 相关 举报
计算机图形学课程设计--圆柱面图像纹理映射算法_第1页
第1页 / 共14页
计算机图形学课程设计--圆柱面图像纹理映射算法_第2页
第2页 / 共14页
计算机图形学课程设计--圆柱面图像纹理映射算法_第3页
第3页 / 共14页
计算机图形学课程设计--圆柱面图像纹理映射算法_第4页
第4页 / 共14页
计算机图形学课程设计--圆柱面图像纹理映射算法_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《计算机图形学课程设计--圆柱面图像纹理映射算法》由会员分享,可在线阅读,更多相关《计算机图形学课程设计--圆柱面图像纹理映射算法(14页珍藏版)》请在金锄头文库上搜索。

1、计算机图形学计算机图形学课程学习报告课程学习报告项目题目:项目题目: 圆柱面图像纹理映射算法圆柱面图像纹理映射算法目录目录1、项目描述项目描述.11.1 圆柱面的建立和二维图像纹理的绑定圆柱面的建立和二维图像纹理的绑定.1 1.2 坐标系的建立坐标系的建立.1 二、项目需求二、项目需求.12.1 几何构造的原理几何构造的原理.12.22.2、动画的设计、动画的设计.22.3 纹理的设计纹理的设计.22.3.1 纹理映射的原理纹理映射的原理.22.3.2 纹理定义纹理定义.2 三、项目设计三、项目设计.33.13.1、窗口设计以及各项功能的实现、窗口设计以及各项功能的实现.33.1.1 窗口设计

2、函数窗口设计函数.33.1.2 点表函数点表函数.43.1.3 面表函数面表函数.43.1.4 绘制圆柱函数绘制圆柱函数.63.1.5 透视变换函数透视变换函数.83.1.6 读入纹理函数读入纹理函数.83.1.7 背景函数背景函数.93.1.8 时间函数时间函数.93.1.9 动画控制函数动画控制函数.10 四、项目效果四、项目效果.104.14.1 构造图形分析以及坐标系变换的效果构造图形分析以及坐标系变换的效果.115、项目总结项目总结.11 6、参考文献参考文献.1211、项目描述项目描述 1.11.1、圆柱的建立和二维图像纹理的绑定、圆柱的建立和二维图像纹理的绑定以屏幕客户区中心为体

3、心建立圆柱面的几何模型。读入二维位图图像纹理,将纹理绑定到圆柱上。使用材质慢反射率设置纹理颜色,光源颜色设置为白色。使用 Phong 明暗处理绘制光照纹理圆柱面动画1.21.2、坐标系的建立、坐标系的建立1、自定义屏幕三维左手坐标,原点位于客户区中心,x 轴水平向右为正,y 轴垂直向上为正,z 轴指向屏幕内部,2、建立三维用户右手坐标系O;x,y,z,原点 O 位于客户区中心,x轴水平向右,y 垂直向上,z 轴指向读者。2 2、项目需求项目需求2.12.1、几何构造的原理几何构造的原理圆柱面采用平面四边形小面逼近,需要根据周向相邻圆柱面采用平面四边形小面逼近,需要根据周向相邻 2 2 个小面的

4、法矢量计个小面的法矢量计算平均法矢量。对于索引号(算平均法矢量。对于索引号(i i,j j)的顶点,其相邻顶点的索引号如图所示。)的顶点,其相邻顶点的索引号如图所示。图中箭头所示为每个小面的边矢量,俩个边矢量的叉积得到小面的法矢量图中箭头所示为每个小面的边矢量,俩个边矢量的叉积得到小面的法矢量 NiNi。小面的平均法矢量小面的平均法矢量 N N 的计算公式为的计算公式为 N=N= 10i10iNiNi2.22.2、动画的、动画的设计设计实现动画的函数实现动画的函数void CMyView:OnPlay() i,ji,j+ 1i-1,j+1i-1,ji-1,j-1i,j-1圆柱面平均法矢量的计算

5、2/ TODO: Add your command handler code herebPlay=bPlay?FALSE:TRUE;if(bPlay)/设置定时器SetTimer(1,150,NULL);ElseKillTimer(1);设定动画时间void CTestView:OnTimer(UINT nIDEvent)/动画时间函数 / TODO: Add your message handler code here and/or call defaultBeta=5;tran.RotateY(Beta);Invalidate(FALSE);CView:OnTimer(nIDEvent);

6、2.32.3、纹理的、纹理的设计设计2.3.12.3.1 纹理映射的原理纹理映射的原理使用使用 MFCMFC 的资源标签页加载二维图像纹理,的资源标签页加载二维图像纹理,DDBDDB 位图的标识取为位图的标识取为IDB_TEXTUREIDB_TEXTURE。将纹理读入二维数组中,将纹理图像绑定到圆柱面的侧面网格顶。将纹理读入二维数组中,将纹理图像绑定到圆柱面的侧面网格顶点上。将图像纹理的颜色值作为材质漫反射率和环境光反射率,镜面反射光设点上。将图像纹理的颜色值作为材质漫反射率和环境光反射率,镜面反射光设置为白光,使用置为白光,使用 PhongPhong 明暗处理绘制光照纹理圆柱面。明暗处理绘制

7、光照纹理圆柱面。2.3.22.3.2 纹理的定义纹理的定义在在 CTestViewCTestView 类内添加成员函数类内添加成员函数 ReadVertexReadVertex()() ,将纹理绑定到圆柱面侧面,将纹理绑定到圆柱面侧面的顶点上,的顶点上,CT2CT2 类定义了纹理坐标的(类定义了纹理坐标的(u u,v v) 。由于底面和顶面采用三角形网格。由于底面和顶面采用三角形网格逼近,所以使用逼近,所以使用 CT2CT2 类定义了类定义了 Texture4Texture4 和和 Texture3Texture3 纹理数组。圆柱的侧面使纹理数组。圆柱的侧面使用周向平均法矢量计算光照。填充底面顶面的三角形面片时,进行了特殊处理。用周向平均法矢量计算光照。填充底面顶面的三角形面片时,进行了特殊处理。然后添加然后添加 ReadImage()ReadImage()读入纹理。读入纹理。33 3、项目设计项目设计3.13.1、窗口设计以及各项功能的实现、窗

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号