目录
一 课程设计题目………………………………………………… 3
1.题目要求………………………………………………… 3 2.任务……………………………………………………… 3 二 任务分析算法介绍…………………………………………… 3 1.任务分析………………………………………………… 3 2.算法介绍………………………………………………… 4 三 总体设计……………………………………………………… 5 1.定义三维齐次向量结构体……………………………… 5 2.定义三维齐次坐标结构………………………………… 5
3.定义面的结构………………………………………… 6 4.定义点的结构………………………………………… 6 5.长方体顶点定义及初始化……………………………… 7 6. 面表…………………………………………………… 7
7.定义点光源、视线方向、光照方向…………………… 8 8.各面可见性计算和判断………………………………… 9 9.窗口-视区变换………………………………………… 11 10.路径填充……………………………………………… 12 四 流程图……………………………………………………… 13 五 源程序……………………………………………………… 14 六 程序运行效果图…………………………………………… 27 七 总结………………………………………………………… 28 参考文献………………………………………………………… 29
一、 课程设计题目
长方体体的光照效果 1.题目要求
对长方体,建立一个点光源,采用环境光和点光源漫反射光的光照模型,应用FLAT明暗处理方法,显示平行投影后的长方体光照效果。 2.任务
本题目主要包括五个任务, 1)长方体表面模型的建立 2)长方体的可见面判断 3)可见面的背光性判断 4)可见面光照计算 5)可见面光照效果显示
附加:通过键盘上下左右按键对图形进行旋转 二、 任务分析算法介绍 1.任务分析
任务1)中,定义三维齐次坐标结构和面的结构;定义顶点表和面表,对长方体绕X轴旋转和绕Y轴旋转。
任务2)中对每一个面计算其外法向量及可见性
任务3)中对每个可见面计算其光线向量,并判断其是否为背光面。
任务4)计算每个见光面的环境光和点光源的漫反射分量。
2
任务5)用该面的光强显示该可见面 附加: 人机交互 2.算法介绍 1)旋转变换
?X??X?绕X轴旋转变换的坐标表示?Y??Ycos??Zsin?
?Z??Ysin??Zcos???X??Zsin??Xcos??绕Y轴旋转变换的坐标表示?Y??Y
?Z??Zcos??Xsin??2) 平行投影
?X??X?在XOY平面投影后坐标?Y??Y
?Z??0?3) 环境光模型
物体没有受到光源的直射,但其表面仍有一定亮度,这是由于环境光的作用。
Ie?ka*Ia,0??ka??1
Ie表示环境光反射强度
ka表示环境光反射率
Ia表示环境光入射强度
4)漫反射光模型
漫反射光可认为是在点光源的照射下,光被物体表面吸收后,然后重新反射出来的光。
3