001-(2008-2009-1)CS337(教学班).docVIP

  • 9
  • 0
  • 约2.58千字
  • 约 5页
  • 2018-06-03 发布于河南
  • 举报
001-(2008-2009-1)CS337(教学班)

001-(2008-2009-1)CS337(教学班) 计算机图形学课程设计 教师:何援军yjhe@ 助教:凌睿:evanlingxp@ ftp://cgwork:cgwork@75 上海交通大学计算机系 2008年11月4日 目的 巩固计算机图形学的基本理论和方法。 实现计算机图形学的一些算法,清晰表现算法进行的具体过程。 课程设计形式: 算法与编程实现。 所用语言: 请使用主流程序设计语言。推荐C/C++。 作业要求: 提交1).源代码和2).可执行文件 附1).程序使用说明、2).算法相关函数清单、3).算法实现的简单说明文档和4).程序实现心得。第四个附件将方便我们对同学的程序进行评估,但不是唯一依据。 课程设计内容: 从下述8+1个题目中任选一个: 简单图形的生成(权因子:1) 多边形区域填充(权因子:2) 二维裁剪(权因子:1) 直线的反走样(权因子:3) 图形变换(权因子:3) 简单几何体的消隐(权因子:3) 光照模型(权因子:3) 几何计算(权因子:4) 自选题(权因子:另定) 题目 内容 要求 简单图形的生成 直线的生成 ①DDA法 ②中点画线法 ③Bresenham法 圆的生成 ①中点法 ②Bresenham法 椭圆的生成 ①中点法 ②Bresenham法 将象素网格表现出来,建立网格坐标系 用橡皮筋的形式输入参数 鼠标移动时,显示鼠标当前位置 显示判别式的计算过程和下一点的选择策略 记录生成点的坐标,建议用表的形式 图形生成过程可以重复进行 在一个程序中实现上述算法 多边形区域填充 种子填充算法 扫描线填充算法 扫描线种子填充算法 边填充算法 栅栏填充算法 将象素网格表现出来,建立网格坐标系 用橡皮筋的形式输入多边形 鼠标移动时,显示鼠标当前位置 种子填充算法中用鼠标选择种子点,用表格的形式显示堆栈存储的象素,象素出栈或入栈的过程要显示出来。关键是要将象素填充的顺序表现出来。 扫描线算法中先显示一条自上而下的扫描线,如果不与多边形相交,则直接向下移动,否则需要填充多边形内的交点。多边形形成以后,要显示边表的内容,扫描线移动的时候,要动态改变活性边表的内容,一条边加入活性边表或从活性边表中删除需要给出提示。 二维裁剪 线段裁剪 ①Cohen-SutherLand算法 ②中点分割算法 ③Liang-Barsky 算法 多边形裁剪 将象素网格表现出来,建立网格坐标系 在显示区正中间画一窗口矩形 用橡皮筋的形式输入剪裁线段,输完后此线段的端点编码显示出来,判断线段的类型 线段被窗口的四条边裁剪的过程要显示出来 对于中点分割算法,要显示线段一步步分割的过程 多边形裁剪过程需先输入一多边形,然后用窗口四边裁剪的过程中要显示顶点增删的过程。 直线的反走样 提高分辨率 超采样 连续区域采样 离散区域采样 将象素网格表现出来,建立网格坐标系 用橡皮筋输入一条直线,直线的宽度为一象素 对于提高分辨率方法,首先用网格象素法表示一条直线,然后将网格缩小,观察直线的变化 超采样法需要根据经过的不同子象素的数目决定该象素的亮度 连续区域采样需要根据直线所占象素面积来决定象素的亮度 离散区域采样将所占面积离散化,根据所占象素点的数目决定亮度,可以考虑加权模板,模板的大小为奇数 图形变换 用几何变换实现图形变换 展示绕任意轴的旋转变换。 在动态状态下展示一个立方体(长、宽、高均不相等)在3个坐标平面上的投影图。 实现透视变换 先在平面(空间)上构筑一个标准坐标架,以及一些基本形体,用交互方式构造新的坐标架,在新的坐标架下显示变换后的基本形体。 绕任意轴的旋转变换可动态展现。 3个坐标平面上的投影图可动态展现。 鼓励实现透视变换。 简单几何体的消隐 球,椭球体,圆锥,长方体,四面体等简单形体的生成及所构成场景的消隐 形体用线框形式表示,可以在消隐和未消隐之间切换,用鼠标可以操纵形体的位置的角度。 光照模型 (右列任取一组) 光照模型组 环境光 漫反射和Lambert模型 镜面反射和Phong模型 透明模型 简单局部光照模型 插值算法组 恒定明暗处理 Gouraud明暗处理(光强插值算法) Phong明暗处理(法向插值算法) 光线跟踪组 Whitted整体光照模型 光线跟踪的反走样 阴影组 自身阴影 投射阴影 纹理组 颜色纹理 几何纹理 参数纹理 编制一个综合演示系统,在基本形体构成的场景上实现上述功能。 光线跟踪、阴影和纹理三选一。 选取团队合作者每人选一组(不得重复)。 几何计算 编制以下直线与空间下列几何体的求交算法,并用程序测试(下面的直线均为空间直线): 空间3点决定的平面; 长方体; 楔形体; 楞形体; 扇形体; 棱柱; 圆柱; 圆锥; 圆台; 球; 圆环; 用函数表达的三维曲面; 等 编制算法 编程调试 提供调

文档评论(0)

1亿VIP精品文档

相关文档