目 录
一、 实验内容: 4
二、实现方法: 5
1、几何建模功能 5
1.1 DDA画线 5
1.2 中点画线 6
1.3 Bresenham画线 8
1.4 中点画圆 10
1.5 B样条画曲线 12
1.6 Liang-Barsky 线段裁剪算法 16
1.7 Sutherland-Hodgman多边形裁剪算法 23
1.8 多边形扫描填充算法 30
2、几何变换功能 32
2.1 时钟 32
2.2 小球移动缩放 36
3、光照、材质和纹理映射功能 38
3.1 单光源 38
3.2 多光源叠加 40
3.3 纹理映射 41
4、可视化功能 47
4.1 天空盒+几何模型+视点变换+坐标变换+纹理映射(立方体+球体) 47
5、菜单功能 66
三、结果分析: 75
1、几何建模功能 75
1.1 DDA画线 75
1.2 中点画线 76
1.3 Bresenham画线 77
1.4 中点画圆 78
1.5 B样条画曲线 79
1.6 Liang-Barsky 线段裁剪算法 80
1.7 Sutherland-Hodgman多边形裁剪算法 81
1.8 多边形扫描填充算法 82
2、几何变换功能 83
2.1 时钟 83
2.2 小球移动缩放 85
3、光照、材质和纹理映射功能 86
3.1 单光源 86
3.2 多光源叠加 87
3.3 纹理映射 88
4、可视化功能 89
4.1 天空盒+几何模型+视点变换+坐标变换+纹理映射(立方体+球体) 89
5、菜单功能 93
四、结论与展望: 94
一、实验内容:
综合运用所学,开发一个小型图形软件系统,开发的图形软件系统可通过菜单实现以下功能:
1、 几何建模功能:利用简单的动画和交互技术演示基本图元绘制算法(直线、曲线)所学算法、多边形填充算法和裁剪算法(不能用OpenGL 自带函数)的实现过程;
2、 几何变换功能:利用简单的动画和交互技术实现复杂几何模型(两个或两个以上图元的有机合成)的平移、旋转和缩放,要求实现模型的全局运动和局部相对独立运动;
3、 光照、材质和纹理映射功能:利用简单的动画和交互技术实现单个光源的独立运动和多个光源的相互切换和叠加、单个纹理映射和多个纹理映射以及不同纹理的切换,体会光源之间、光源与材质、光源材质与纹理之间的相互作用;
4、可视化功能:绘制观察坐标系,利用简单的动画和交互技术实现任意选择平行投影或透视投影显示几何模型以及改变视点位置。