计算机图形学实验报告-二维裁剪_第1页
计算机图形学实验报告-二维裁剪_第2页
计算机图形学实验报告-二维裁剪_第3页
计算机图形学实验报告-二维裁剪_第4页
计算机图形学实验报告-二维裁剪_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机科学与技术学院20132014学年第一学期计算机图形学实验报告班级: 学号: 姓名: 教师: 成绩:实验项目(3、二维裁剪)一、 实验目的与要求(1) 掌握线段裁剪算法原理,并实现其算法。(2) 理解多边形裁剪、字符裁剪算法思想,能编程实现其算法。二、 实验内容设计菜单程序,利用消息处理函数,完成以下要求:(1) 实现直线段的标号法(Cohen-Sutherland)、矩形窗口裁剪算法。(2) 参考教材中的算法,用矩形窗口实现多边形的Sutherland-Hodgman裁剪算法。三、 重要算法分析以下分析Cohen-Sutherland和Sutherland-Hodgman两个算法,其中

2、Cohen-Sutherland算法的基本思想通过编码的方法快速实现对直线段的裁剪;Sutherland-Hodgman算法基本思想是用窗口的四条边所在的直线依次来裁剪多边形。(一) Cohen-Sutherland算法该算法的基本思想是:对于每条待裁剪的线段P1,P2分三种情况处理:(1) 若P1P2完全在窗口内,则显示该线段。(2) 若P1P2完全在窗口外,则丢弃该线段。(3) 若线段既不满足“取”的条件,也不满足“舍”的条件,则求线段与窗口边界的交点,在交点处把线段分为两段。1. 编码原则具体编码过程为将延长线窗口的四条边线(yT、yB、xR、xL),将二维平面分成九个区域,全为0的区域

3、是裁剪窗口,其中各位编码的定义如下: 按照如上定义,相应区域编码如图1所示。 图1 区域编码2. 裁剪算法:依据上面的编码原则,可以总结出对一条线段的可见性进行测试:1) 若线段两个端点的四位二进制编码全为0000,即两端点编码逻辑或运算为0,那么该线段完全位于窗口内,可直接保留。2) 对端点的四位二进制编码进行逻辑与运算,若结果不为零,那么整条线段必位于窗口外,可直接舍弃。3) 否则,这条线段既不能保留也不能舍弃,它可能与窗口相交。此时,需要对窗口进行再分割,并对分割后的线段按照一定顺序进行检查,决定保留、舍弃或再分割。重复这过程,直到全部线段均被舍弃或保留为止。(二) Sutherland

4、-Hodgman算法算法的基本思想是利用窗口的四条边所在的直线依次来裁剪多边形。多边形的每条边与裁剪线的位置关系有4种情况,如图2所示。图2 多边形边界与裁剪窗口的关系其中a)为从外到内的输出P和I,b)为从内到内输出P,c)为从内到外输出I,d)为从外到外不输出。假设当前处理的多边形为SP。1) 在图2a的情况中,端点S在外侧,P在内侧,则按顺序将交点I和P都输出到结果多边形的顶点表中。2) 在图2b的情况中,端点S和都在内侧,则输出P到结果多边形的顶点表中。3) 在图2c的情况中,端点S在内侧,P在外侧,则输出交点I到结果多边形的顶点表中。4) 在图2d的情况中,端点S和 P在外侧,没有输出。四、 程序运行截图1. 用Cohen-Sutherland算法实现线段的裁剪,如图3所示,其中a)图中的线段为裁剪前的,b)图将超出裁剪多边形的线段部分裁剪后的结果。图3 Cohen-Sutherland算法裁剪前和后a)裁剪前 b)裁剪后2. Sutherland-Hodgman算法实现多边形裁剪,如图4所示。图4 Sutherland-Hodgman算法裁剪多边形前和后a)裁剪多边形前 b)裁剪多边形后五、 总结与调试经验(1) 通过这次实验,加深了对图形学的理解,尤其对线段裁剪和多边形裁剪有了更加深入的理解。(2) 我学会了多边形裁剪算法,从刚开始的不知道到现在的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论