计算机图形的二维裁剪原理,计算机图形学实验报告-二维裁剪.doc

文档介绍:

计算机科学与技术学院2013-2014学年第一学期《计算机图形学》实验报告班级:学号:姓名:教师:成绩:实验项目(3、二维裁剪)实验目的与要求掌握线段裁剪算法原理,并实现其算法。理解多边形裁剪、字符裁剪算法思想,能编程实现其算法。实验内容设计菜单程序,利用消息处理函数,完成以下要求:实现直线段的标号法(Cohen-Sutherland)、矩形窗口裁剪算法。参考教材中的算法,用矩形窗口实现多边形的Sutherland-Hodgman裁剪算法。重要算法分析以下分析Cohen-Sutherland和Sutherland-Hodgman两个算法,其中Cohen-Sutherland算法的基本思想通过编码的方法快速实现对直线段的裁剪;Sutherland-Hodgman算法基本思想是用窗口的四条边所在的直线依次来裁剪多边形。Cohen-Sutherland算法该算法的基本思想是:对于每条待裁剪的线段P1,P2分三种情况处理:若P1P2完全在窗口内,则显示该线段。若P1P2完全在窗口外,则丢弃该线段。若线段既不满足“取”的条件,也不满足“舍”的条件,则求线段与窗口边界的交点,在交点处把线段分为两段。编码原则具体编码过程为将延长线窗口的四条边线(yT、yB、xR、xL),将二维平面分成九个区域,全为0的区域是裁剪窗口,其中各位编码的定义如下: 按照如上定义,相应区域编码如图1所示。图1区域编码裁剪算法:依据上面的编码原则,可以总结出对一条线段的可见性进行测试:若线段两个端点的四位二进制编码全为0000,即两端点编码逻辑或运算为0,那么该线段完全位于窗口内,可直接保留。对端点的四位二进制编码进行逻辑与运算,若结果不为零,那么整条线段必位于窗口外,可直接舍弃。否则,这条线段既不能保留也不能舍弃,它可能与窗口相交。此时,需要对窗口进行再分割,并对分割后的线段按照一定顺序进行检查,决定保留、舍弃或再分割。重复这过程,直到全部线段均被舍弃或保留为止。Sutherland-Hodgman算法算法的基本思想是利用窗口的四条边所在的直线依次来裁剪多边形。多边形的每条边与裁剪线的位置关系有4种情况,如图2所示。图2多边形边界与裁剪窗口的关系其中a)为从外到内的输出P和I,b)为从内到内输出P,c)为从内到外输出I,d)为从外到外不输出。 假设当前处理的多边形为SP。在图2a的情况中,端点S在外侧,P在内侧,则按顺序将交点I和P都输出到结果多边形的顶点表

内容来自淘豆网www.taodocs.com转载请标明出处.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值