版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2022/7/28Graphics Lab.PKU1第五讲 二维裁剪基本目的:判断图形元素是否落在窗口区域之内。显示部分画面,指定图形内容,窗口系统。地图显示。图形编辑图形裁剪算法,直接影响图形系统的效率。2022/7/28Graphics Lab.PKU2二维裁剪两个步骤:图元在窗口区域内外的判别;图形元素与窗口的求交;裁剪扫描转换:点阵图形在设备坐标系中进行,算法效率不高,适合求交难度大的图形。裁剪扫描转换:点、线、多边形等简单图形,在世界坐标系中进行。分析裁剪。2022/7/28Graphics Lab.PKU35.1直线段裁剪是基础。裁剪线段与窗口的关系:(1)线段完全可见;(2)显然
2、不可见;(3)其它提高裁剪效率:快速判断情形(1)(2),对于情形(3),设法减少求交次数和每次求交时所需的计算量。点裁剪。2022/7/28Graphics Lab.PKU45.1.2 直接求交算法直线与窗口边都写成参数形式,求参数值。2022/7/28Graphics Lab.PKU55.1.3Cohen-SutherLand算法(编码算法)裁剪过程是递归的。由窗口四条边所在直线把二维平面分成9个区域,每个区域赋予一个四位编码CtCbCrCl,上下右左;各位编码含义:上面:if yymax, Ct=1, else, 0;下面:if yxmax, Cr=1, else, 0;左面:if xx
3、max, Cl=1, else, 0;2022/7/28Graphics Lab.PKU6线段端点编码,区域的编码值,端点在窗口内部,只要编码值为0。两个端点的编码的逻辑“与”非0时,落在窗口某边外侧。窗口与线段求交,验证两端点各位编码值,相异则求交。2022/7/28Graphics Lab.PKU7最坏情形,线段求交四次。求次测试顺序固定,由交点编码可判断线段的可见性。2022/7/28Graphics Lab.PKU8特点:用编码方法可快速判断线段的完全可见和显然不可见。特别适用二种情形:大窗口场合;窗口特别小场合(光标拾取图形),光标看作小的裁剪窗口。2022/7/28Graphics
4、 Lab.PKU95.1.4 Nicholl-Lee-Nicholl算法消除C-S算法中多次求交的情况。基本想法:对2D平面的更细的划分。2022/7/28Graphics Lab.PKU10假定P0点落在区域0,4,52022/7/28Graphics Lab.PKU11步骤:1.区域细分(9个区域),只考察P0在0,4,5情形,其它类似。2.P0点向窗口的四角点引射线,把平面区域分成4个有意义的区域。判断P1所在区域位置,可判定P0、P1与窗口那条边求交。3.用斜率判P1所在区域4.求交点,确定线段可见部分。特点:效率较高,但仅适合二维矩形窗口。2022/7/28Graphics Lab.
5、PKU122022/7/28Graphics Lab.PKU135.1.5中点分割法想法:从P0点出发找出距P0最近的可见点,从P1点出发找出距P1最近的可见点。取中点Pm=(P1+P2)/2。(算法见框图)2022/7/28Graphics Lab.PKU142022/7/28Graphics Lab.PKU15对分辩率为2N*2N的显示器,上述二分过程至多进行N次。主要过程只用到加法和除法运算,适合硬件实现。适合平行计算。2022/7/28Graphics Lab.PKU165.1.6 Liang-Barsky算法看作点集之间的交集,即为裁剪结果。Q0Q1为诱导窗口,一维窗口,二维裁剪简化
6、成一维裁剪。2022/7/28Graphics Lab.PKU17一维裁剪问题P0P1至少部分可见的充要条件是Max(0,t0)02022/7/28Graphics Lab.PKU21AP1P2R2022/7/28Graphics Lab.PKU22k条边的多边形,可见线段参数区间的解:Ni (p(t)-Ai)=0, i=0,k, 0t 1.即:Ni (P1-Ai)+ Ni (P2-P1) t=0可得:ti=线段可见的交点参数:t1=max0,maxti: Ni (P2-P1) 0t2=min1,minti: Ni (P2-P1)0若 t1=t2, t1,t2是可见线段的交点参数区间,否则,线
7、段不可见。2022/7/28Graphics Lab.PKU23算法的几何意义:下限上限P1P2当凸多边形是矩形窗口且矩形的边与坐标轴平行时,算法退化为Liang-Barsky算法。2022/7/28Graphics Lab.PKU245.2 多边形裁剪直线段裁剪的组合?封闭的二维区域,裁剪后的封闭性?不封闭,如何封闭? 凹多边形裁剪后可能出现多个小的多边形,如何确定其边界?2022/7/28Graphics Lab.PKU252022/7/28Graphics Lab.PKU265.2.1 Sutherland-Hodgman算法分割处理:将多边形关于矩形窗口的裁剪分解为多边形关于窗口四边所
8、在直线的裁剪。流水线处理:上边的结果是左边的开始。2022/7/28Graphics Lab.PKU27逐边裁剪2022/7/28Graphics Lab.PKU28多边形的边与半空间的关系裁剪结果的顶点构成:裁剪边内侧的原顶点;多边形的边与裁剪边的交点。顺序连接。2022/7/28Graphics Lab.PKU29几点说明:裁剪算法采用流水线方式,适合硬件实现。可推广到任意凸多边形,三维凸多面体。凸的?2022/7/28Graphics Lab.PKU305.2.2 Weiler-Atherton算法裁剪窗口,被裁剪多边形可以是任意多边形:凸、凹、带内环。地位对等。被裁剪多边形为主多边形,裁剪窗口为裁剪多边形。2022/7/28Graphics Lab.PKU31主多边形和裁剪多边形把二维平面分成两部分。内裁剪:AB外裁剪:A-BA2022/7/28Graphics Lab.PKU32进点:主多边形边界由此进入裁剪多边形区域内:I1 I3 I5 I7 I9 I11出点:I0 I2 I4 I6 I8 I102022/7/28Graphics Lab.PKU33(内裁剪)算法步骤:建顶点表;求交点;裁剪;奇异情形处理。2022/7/28Graphics
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 卫生院员工培训
- 一病情观察一病情观察的意义为诊断疾病和制定治疗护理方案
- 《员工培训讲义》课件
- 外科妊娠甲亢治疗方案
- 保全工相关技能培训
- 冰雪气候资源评估方法(报批稿)
- 事业部财务培训
- 培训机构动员大会
- GPT产业复盘报告
- 口腔纤维桩护理配合
- 公安笔录模板之询问嫌疑人(书面传唤治安案件)
- 小学作文假如我是(课堂PPT)
- 混凝土配合比检测报告
- 高等学校英语应用能力考试B级真题作文及参考范文
- 鄂尔多斯盆地地层划分表
- 重要医疗器械经营质量管理制度及目录、工作程序
- CT报告单模板精编版
- 全国重点文物保护单位保护项目安防消防防雷计划书
- 学校食堂家长陪餐制度
- 《梯形的面积》(课堂PPT)
- 肾内科疾病诊疗常规
评论
0/150
提交评论