第6章二维裁剪
课堂练习;第六章二维裁剪;知识点;要求;6.1直线段裁剪;待裁剪线段和窗口的关系;6.1.1点裁剪 ;6.1.2 直接求交算法 ;6.1.3 Cohen-Sutherland 算法 ;编码方法;端点编码:也就是它所在区域的编码。结论:
当端点的编码值全0时,该端点必在窗口内部,完全可见。
当线段的两个端点的编码的逻辑“与”非零时 ,线段为显然不可见的。
当线段两个端点的编码不同时,比如两个端点的Cl编码一个为1,一个为0,则线段与窗口左边有交点,求出该交点。进行下一步判断。;裁减算法:见P110页。
示例:裁减过程(以线段AD,EJ为例)。;编码方法适用场合:大窗口与小窗口
问题:裁剪一条直线段需要多次求交点
PD:在最坏情况下,Cohen-Sutherland裁剪算法中,一条线段需要求交4次。P110第08次课结束;6.1.4 Nicholl-Lee-Nicholl算法;(1)窗口四边所在的直线将二维平面划分成9个区域,假定P1落在区域0、4、5;(2)从P0点向窗口的四个角点发出射线,这四条射线和窗口的四条边所在的直线一起将二维平面划分为更多的小区域 。;(3)确定P1所在的区域(根据斜率计算) 。求交点,确定P0P1的可见部分 。;6.1.5 中点分割算法 ;算法过程:同时从P0 ,P1出发找最近可见点;6.1.6 梁友栋-Barskey算法;6.1.6 梁友栋-Barskey算法 ; 一维裁剪问题:
定义数轴: P0 为坐标原点,P0P1 的长度为单位长度。坐标点的参数表示成:
Q0、Q1对应的参数为 、 ,假定
P0、P1 、Q0、Q1的位置关系,见下一页;情况1; P0、P1 、Q0、Q1的位置参数分别为:
因此裁剪的结果也就是满足条件的参数t的区间。
接下来就是找到这个满足条件的参数区间。;生成诱导窗口;P0P1和竖直方向始边终边的交点的参数记为:
和
P0P1和水平方向始边终边的交点的参数记为:
和 。
LR和TB所对应参数区间分别为;结论:当 时,P0P1有可见部分,且对应参数区间为 ;否则P0P1完全不可见。;具体计算时,把P0P1写成参数方程
x = x0 + Δx t
y = y0 + Δy t
其中Δx=x1 - x0,Δy=y1 - y0。把窗口边界的四条边分成两类,一类称为始边,另一类称为终边。
当Δx≥0(Δy≥0)时,称x=xL(y=yB)为始边,x=xR(y=yT)为终边。
当Δx0(Δy0)时,???x=xL(y=yB)为终边, x=xR(y=yT)为始边。;这样可以根据Qi来判断始边,终边,以及交点的参数t;点的参数为 ti = Di/Qi, i= L,R,B,T
当Qi0时(比如QLQB小于0),求得的ti必是P0P1和始边的交点的参数。
当Qi0时,ti必是P0P1和终边的交点的参数。
当Qi=0时,直线段与窗口水平或者垂直,可以特殊情况特殊处理
若Di0,则P0P1是完全不可见的。如图4中AB,有QR=0,DR0)。
Di≥0时则是另一种情况,图中的EF就是这种情况,它使QL=0,DL0和QR=0,DR0。这时由于EF和x=xL及x=xR平行,故只要求出EF和y=yT及y=yB的交点即可决定直线段上的可见部分。;3、梁友栋-Barsky算法的C程序实现:;Boolean ClipT(float q, float d, float *t0, float *t1)
If (q0){
r=d/q;
if (rt1) return false;
else if (rt0) {t0=r;return true;}
}
else if (q0){
r=d/q;
if (rt0) return false;
else if (rt1) {t1=r;return true;}
else if (d0) return flase;
else return true;
};6.2 多边形裁剪;;6.2.1 Suthlerland-Hodgman算法 ;;;多边形:V0 V1 V2 … Vn-1
内侧空间与外侧空间:裁剪窗口所在的一边为内侧,另一侧为外侧。
多边形的任一条边SP关于窗口某一条边的裁剪:如下图;关于裁剪窗口某一条边的裁剪算法流程;示例:;s;关于下边裁减;推广:关于任意凸多边形窗口的裁剪。;6.2.2 Weiler-Athenton算法 ;约定多边形顶点的排列顺序(使多边形区域位于有向边的左侧 )
外环:逆时针
内环:顺时针
四个区域 :
内裁剪结果:
外裁剪结果:;成对出现的两类交点(假设矩形环是裁剪多边形)
进点:主多边形边界由此进
您可能关注的文档
最近下载
- 雕塑维护方案养护.docx VIP
- 四川省成都市树德实验中学2024-2025学年七年级上学期期末考试道德与法治试题.docx VIP
- 对照不同光质补光对转色期葡萄品质和成分影响的初步探究.docx VIP
- 金属切削原理与刀具 配套课件.ppt
- T∕JNBDA 0009-2025 生殖医学高质量数据集建设规范.pdf VIP
- 上海高考:地理高频考点汇总.doc VIP
- 卫生部手术分级目录(2025年1月份修订).doc VIP
- DB11T 1087-2025公共建筑装饰装修工程质量验收标准.docx VIP
- 小学快乐体育教学活动的研究与实践课题研究报告.docx VIP
- 02S515 排水检查井图集建筑工程图集.docx VIP
原创力文档

文档评论(0)