- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.裁剪 直线段裁剪 多边形的裁剪 三维线段的裁剪 曲线的裁剪 字符的裁剪 观察参照坐标系窗口到视口的坐标变换中,需要去掉视口外的图形部分叫做裁剪。有下述几种裁剪: 线段的裁剪 多边形的裁剪 其他裁剪 窗口到视口的坐标变换 性质 仅当sx=sy时,物体保持相似性 当字符映射到视口上时,或保持大小,或视为图元,随视口的大小而改变大小 同一个窗口可在多个显示设备进行从窗口到视口的变换,成为工作站变换 裁剪操作 裁剪算法: 识别指定区域内或外的图形部分的过程 裁剪窗口: 用来裁剪对象的区域 图元的裁剪 点的裁剪 线段的裁剪 区域的裁剪 曲线的裁剪 文字的裁剪 4.1线段的裁剪 端点为(x1,y1)和(x2,y2)的线段 x = x1 + u(x2 – x1), y = y1 + u(y2 – y1), 0 ? u ? 1. 需要计算它与视口的边的交点来裁剪线段 对垂直边: y = y1 + m(x – x1), 其中 x = xwmin or xwmax 对水平边: x = x1 + (y – y1)/m, 其中 y = ywmin or ywmax 4.1.1 Cohen-Sutherland线段裁剪算法 分成两步:第一步是判断线段是否完全不在视口内或者完全在视口内,并去掉那些完全不在视口内的线段。第二步是对于那些在第一步不能完全断定的线段进行处理,这时需要求出线段与一条边的交点,把线段分成两段,并去掉在视口外的一段。 线段的裁剪需要变量u满足不等式组 左右:xwmin ? x1 + u ?x ? xwmax 下上:ywmin ? y1 + u ?y ? ywmax 变量u需要同时满足的四个不等式 xwmin ? x1 + u ?x ? xwmax ywmin ? y1 + u ?y ? ywmax 可以写成统一的形式: upk ? qk, k=1,2,3,4. 例如在左边xwmin ? x1 + u ?x可以写成 -u?x ? x1 – xwm,记常数p1 = - ?x, q1 = x1- xwmin,那么变量u需要满足 up1 ? q1, (k=1 对应于左边up1 ? q1) 类似地,记常数 p2 = ?x, q2 = xwmax – x1 (up2 ? q2) p3 = - ?y, q3 = y1 – ywmin (up3 ? q3) p4 = ?y, q4 = ywmax –y1 (up4 ? q4) 因为pk=正负?x(或?y),所以,当pk = 0时,线段平行于裁剪边界之一。此时不等式upk ? qk 变成0 ? qk。若发现qk0, 则知线段在边界外。否则在窗口内。 当pk 0时,随u从0变到1,upk 从0变小;如果在u=0时不等式upk ? qk还不成立,那么在u=1时有可能成立,即线段从边界所在的直线外部延伸到内部。 当pk 0时,随u从0变到1,upk从0变大;如果upk ? qk在u=0时成立,那么在u=1时有可能不成立,即线段从边界所在的直线内部延伸到外部。交点处u=qk/pk. L-B方法比C-S方法更有效 L-B方法:每次(k=1,2,3,4)更新u1或u2需要一次除法,但是, 线段与窗口的交点只计算一次. C-S方法: 即使线段全在窗口外,也要多次求交点. 它们都可以扩展成三维裁剪算法 Nicholl-Lee-Nicholl(NLN)线段裁剪算法 避免对线段进行多次裁剪。 1. 对于线段P1P2,先确定P1相对于裁剪窗口的位置,P1在下述三种情况之一,其余类推。 2. 再判断P2的位置. 2.1 若P1在内, 而P2在外,就建立如下几个区域, P2可能在其中的一个,并求出交点; 若P1和P2都在内,需存储全线段. 否则存储P1到边界的一段 2.2 若P1在左,就建立四个区域 P2可能在其中的一个,并求 出交点。假若P2在L内,保留从左边的交点到P2 的一段。为了确定P2所在的区域,计算P1P2的斜率。如果P2不在L内,而且 斜率P1PTR斜率P1P2斜率P1PTL 则P2在LT中。此时,保留从左边的交点到顶边的交点间的一段。 假若P2不在四个区域内,则去掉P1P2 2.3若P1在左上方,有两种可能情况。如果P2在有标志的区域内,可以确定用作裁剪的边界。否则舍弃整个 线段。为了确定P2所在的区域,计算P1P2的斜率。 最后用参数方程求交点 4.1.3 多边形的裁剪 Sutherland-Hodgeman多边形裁剪 多边形是用有序的顶点表来存储的。 在裁剪时,窗口的左右下上四条边界是四条裁剪边,应分别进行裁剪。 每次裁剪时,一条裁剪边把窗口分成内側和外側,多边形所在的一
您可能关注的文档
最近下载
- 腹透腹膜炎的护理.pptx VIP
- 肌电图设备可行性报告.docx
- 网络短剧推广方案策划.pptx VIP
- 2020年中央空调市场报告-艾肯网.pdf VIP
- 人工智能赋能中学化学教学的探索.pptx VIP
- 高中化学新人教版必修一离子方程式正误判断及离子共存课件.ppt VIP
- 解放上海红色戏剧小品《我记得你,你就活着》台词剧本手稿.doc VIP
- 生成式人工智能应用实战课件 第7章 AIGC信息获取与数据分析.pptx VIP
- 2024—2025学年河南省开封高级中学高一上学期第一次月考物理试卷.doc VIP
- 2025下半年全国房地产经纪人考试(房地产交易制度政策)综合试题及答案.docx VIP
文档评论(0)