1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Liang_Barsky

线段裁剪就是将指定窗口作为图形边界,将窗口内的线段保留,而窗口外的线段则被舍弃。   裁剪处理涉及:   (1)线段在窗口内外的判别; (2)线段与窗口的求交。    2.Liang--Barsky 算法 (1)算法背景 经典算法 ---写入图形学教科书的唯一中国人算法 1935年7月出生,福建福州人. 1956年毕业于复旦大学数学系,1960年复旦大学数学系研究生毕业 1960年分配到浙江大学数学系任教,1979年至1981年在美国Utah大学计算机系作访问学者 获国家教委科技进步一等奖,1987 获国家自然科学三等奖,1991 (2) 算法思想 (3)The Liang-Barsky Algorithm 1 If pk=0 and qk0 for any k,discard the line and stop.Otherwise proceed to the next step. 2 For all k such that pk0,calculate rk=qk / pk. Let u1=max{rk ,0}. 3 For all k such that pk0,calculate rk=qk / pk. Let u2=min{rk ,1}. 4 If u1 u2,discard the line since it is completely outside the clipping window. Otherwise, use u1 and u2 to calculate endpoints of the clipped line. (4)算法演示 讲课结束,谢谢! * * 直线段裁剪的 Liang--Barsky算法 计算机科学学院 赵景秀 线段裁剪的意义 Liang-Barsky算法 0 问题的提出 1.线段裁剪的意义 Before clipping After clipping Sutherland 梁友栋 苏步青 Barsky 梁友栋的贡献: ––Liang-Barsky算法 ––几何连续理论 ––Communication of ACM 论文(83’) 60s’Cohen-Sutherland的编码方法: Cohen Sutherland 0000 1000 1100 0010 0100 0110 1001 0001 0011 78年Cyrus和Beck的参数化方法---更有效的算法: 84年梁友栋和Barsky提出了更快的参数化线段裁剪算法。 Liang-Barsky算法的几何含义:入边、出边和端点 u2 u1 xmin xmax ymin ymax Parameterized line segment: x = x1 + u(x2 – x1) = x1 + uDx y = y1 + u (y2 – y1) = y1 + uDy 0 ? u ? 1 If a point on the line is inside the clipping window, then: xmin ? x1 + uDx ? xmax ymin ? y1 + uDy ? ymax u2 u1 xmin xmax ymin ymax xmin ? x1 +uDx = (– Dx) u ? x1 – xmin We rewrite the inequalities in the form upk ?qk Left Border, k= 1: pk = – Dx, qk= x1 – xmin Right Border, k= 2: pk = Dx, qk= xmax – x1 Bottom Border, k=3: pk = – Dy, qk= y1 – ymin Top Border, k=4: pk = Dy, qk= ymax – y1 x1 + uDx ? xmax = (Dx) u ? xmax – x1 ymin ? y1 + uDy = (– Dy) u ? y1 – ymin y1 + uDy ? ymax = (Dy) u ? ymax – y1 u2 u1 Case 1: pk ? 0 If pk 0, then the extension of the line segment goes from outside to inside the extended boundary (when moving in direction of incr

文档评论(0)

cbf96793 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档