- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
归纳以上四种情况,可以得出这样一个结论: 对于任意一条直线段,它要么被完全排斥在窗口之外,如上述的情况(1);要么在窗口内留下一个可见段,并且只能有一个可见段,如上所述的情况(2)、(3)和(4)。因为一条直线段可以由它的两个端点来唯一地确定,所以,要确定一条直线段上位于窗口以内的可见段,仅需求得它的两个可见端点就行了。 下面我们介绍几种直线剪裁法 3.编码裁剪法 (1)编码规则 这一方法是由库恩和萨瑟兰德(Cohen和Sutherland)提出的,该方法是把包含窗口的平面区域沿窗口的四条边线分成九个区域. 每个区域用一个四位代码来表示,代码中每一位分别是0或1,是按照窗口边线来确定的,下面给出编码规则,其中 最右边的位是第一位,依次第 二、三、四位。 第一位置 l:该端点位于窗口左侧 第二位置 l:该端点位于窗口右侧 第三位置 1:该端点位于窗口下面 第四位置 l:该端点位于窗口上面 否则,相应位置置0。 由编码规则可知,若线段两端点编码均为零,则两点均在窗口内,线段完全可见。因此,要判断两端点线段与窗口对应关系,可用两个端点编码逐位取逻辑“与”,若线段两端点逻辑“与”不为0,必在窗口外,根据图形中直线两端点p1,p2按其所在区域赋予相应代码,以C1和C2表示,然后再根据端点对直线进行可见和不可见判断 (2)算法步骤 下面给出直线段裁剪编码算法步骤: ①当两端点P1 (x1,y1)和P2 (x2,y2),在区域0000中,即满足点的裁剪不等式。 Wxl ≤(x1,x2) ≤Wxr Wyb ≤(y1,y2)≤Wyt 则两端点代码C1=C2=0 表示均在窗口内,应全部保留 ②当两个端点在窗口边线外的同侧位置,则它们的四位代码中,有一相同位,同时为“1”,显然两个端点代码的逻辑乘不等于零。即C1∧C2 ≠0。此检查判断直线在窗口外,应全部舍弃。 ③如果直线两端点不符合上述两种情况,不能简单地全部保留或全部舍弃直线时,则需计算出直线与窗口边线的交点,将直线分段后继续进行检查判断。这样可以逐段地舍弃位于窗口外的线段,保留剩在窗口内的线段。 如图所示,用编码裁剪算法对 P1P2线段裁剪,可以在C点分割,对P2C,CP1进行判别,舍弃P2C,再分割CP1于D点,对CD,DP1作判别,舍弃CD,而DP1全部位于窗口内,算法即告结束。 ? 应该指出的是,分割线段是从C点还是D点开始,这是难以确定的,因此只能随机的,但是最后结果是相同的。 (3)交点的求法 下面介绍交点的求法。 设直线的两端点坐标为P1 (x1,y1)和P2 (x2,y2)如图所示,直线与窗口四条边线的交点坐标,可分别由下列公式确定:(利用相似直角三角形比例关系) 左交点: 右交点: 下交点: 上交点: 4. 矢量裁剪法 矢量裁剪法与上面所介绍的算法相类似,只是判别端点是否落在窗口框内所采用的过程不同。如图4.78所示,我们同样用四条窗口边框直线把平面分割成九个区域,每一个区域分别标上相应的编号。 我们以图4.78中线段AB为例,对线段的两点同时判断,如线段与四边有交点时,则求其交点,进行有选择的连接。设线段始点、终点坐标为(x1,y1)和(x2,y2),而窗口左下角,右上角分别为(xm,yb)和(xr,yt),0区为窗口区,矢量裁剪法算法步骤为: (1)线段AB满足下述四个条件之一,即 xm max (x1, x2); xr min (x1,x2) yb max (y1, y2); yt min (y1, y2) 则线段AB不会处于窗口内,过程就此结束,且无输出线段。 (2)若AB满足xm ≤ x1 ≤ xr且yb ≤ y1 ≤ yt 则AB始点A在0区内,那么窗口内可见线段的新始点坐标即为: xs = x1 ys = y1。 否则,AB与窗口的关系及新始点(xs,ys)坐标的求解公式可讨论如下。 (3)若x1 xm 则 xs=xm ys = y1+(xm – x1 )(y2 – y1 )/(x2 – xl ) 若求得ys满足yb ≤ ys ≤ yt ,则求解有效;否则: ① 若(x1,y1)在4区,则线段AB与窗口无交点,过程结束,且无输出线段;
您可能关注的文档
最近下载
- 思想政治学科教学新论七章 思想政治学科评价论.ppt VIP
- 2025江西南昌青山湖区城市管理和综合执法局招聘工作人员10人笔试参考题库附答案解析.docx VIP
- 04S519:小型排水构筑物.pdf VIP
- GB50017钢结构设计规范.pdf VIP
- 武汉文化投资发展集团有限公司招聘5名工作人员笔试备考试题及答案解析.docx VIP
- 2023全钒液流电池可靠性评价方法.pdf VIP
- [乐高LEGO 9686动力机械]第14课 摩天轮.pdf VIP
- 英语视听说4英语视听说IV教学大纲.pdf VIP
- 基根-《全球营销(第8版)》英文教辅-第4章.pptx VIP
- 基根-《全球营销(第8版)》英文教辅-第3章.pptx VIP
文档评论(0)