- 1、本文档共32页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《开发动态的几种技术.pptx《开发动态的几种技术.pptx《开发动态的几种技术.pptx
1、Cohen-Sutherland算法
本算法又称为编码裁剪算法,算法的基本思想是对每条直线段p1(x1,y1),p2(x2,y2)分三种情况处理:
a、若点p1和p2完全在裁剪窗口内,则该直线段完全可
见, “简取”之。
b、若点p1和p2均在窗口外,且满足下列4个条件之一,
直线段完全不可见,“简弃”之。
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
c、直线段既不满足“简取”的条件,也不满足“简弃”
的条件,需要对直线段按交点进行分段,分段后
重复上述处理。
算法具体实现是:每条线段的端点都赋以四位二进制码D3D2D1D0 ,称为区域码,用来标识出端点相对于裁剪矩形边界的位置。编码规则如下:
若xwxl,则D0=1,否则D0=0;
若xwxr,则D1=1,否则D1=0;
若ywyb,则D2=1,否则D2=0;
若ywyt,则D3=1,否则D3=0。
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
区域码的各位指出端点对于裁剪窗口的四个相对坐标位置:左、右、下、上。将区域码各位从右到左编号,则坐标区域与各位的关系为:
位1:左
位2:右
位3:下
位4:上
任何位赋值为1,代表端点落在相应的位置上,否则该位置为0。
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
根据该编码规则,窗口及其延长线所构成的9个区域的编码如图所示。
裁剪一条线段时,先求出端点p1和p2的编码code1和code2,然后进行处理:
(1)若code1|code2=0,对直线段应简取之。
(2)若code1code2≠0,对直线段可简弃之。
这是因为若code1和code2经按位与运算后的结果不为0,说明两个端点同在窗口的上方、下方、左方或右方。
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
(3)若上述两条件均不成立。则需求出直线段与窗口边界的交点。在交点处把线段一分为二,其中必有一段完全在窗口外,可以弃之。再对另一段重复进行上述处理,直到该线段完全被舍弃或者找到位于窗口内的一段线段为止。
实现时,一般按固定顺序检查直线段端点的编码位是否为0。这里按左、右、下、上的顺序。与窗口边界求交的顺序也可以任意选择,这里也按左(x=wxl)、右(x=wxr)、下(y=wyb)、上(y=wyt)的顺序进行。
对于端点坐标为(x1,y1)和(x2,y2)的直线,与左、右边界交点的y坐标可以这样计算:
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
其中,x为wxl或wxr,线段的斜率为:
与上、下边界交点的x坐标可以这样计算:
其中,y为wyb或wyt。
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
下面写出Cohen-Sutherland直线段裁剪算法的步骤:
(1)输入直线段的两端点坐标: P1(x1,y1),P2(x2,y2),以及窗口的四条边界坐标:wyt、wyb、wxl和wxr。
(2)对P1、P2编码:点P1的编码为code1,点P2的编码为code2。
(3)若code1|code2=0,对直线段应简取之,转(6);否则,若code1code2≠0,对直线段可简弃之,转(7);当上述两条均不满足时,进行步骤(4)。
(4)确保P1在窗口外部:若P1在窗口内,则交换P1和P2的坐标值和编码。
Evaluation only.
Created with Aspose.S
您可能关注的文档
- 《建设法规课件A.ppt
- 《建设特色社会主义政治 .ppt
- 《建设用地置换审批规定和要求.pptx
- 《建设监理第四章.ppt
- 《建设社会主义精神文明.ppt
- 《建设银行个人柜面业务培训.ppt
- 《建设银行供应链金融分析及组合产品.ppt
- 《建设银行全面金融解决方案-荆门分行.ppt
- 《建设项目与项目档案工作 .ppt
- 《建设项目可行性研究.pptx
- 2020版 沪科技版 高中生物学 必修2 遗传与进化《第4章 生物的进化》大单元整体教学设计[2020课标].docx
- 情绪价值系列报告:春节消费抢先看-国证国际证券.docx
- 精品解析:北京市东直门中学2023-2024学年高二下学期3月阶段性考试(选考)物理试题(解析版).docx
- 2020版 沪科技版 高中生物学 必修2 遗传与进化《第4章 生物的进化》大单元整体教学设计[2020课标].pdf
- 2020版 沪科技版 高中生物学 选择性必修1 稳态与调节《第1章 人体的内环境和稳态》大单元整体教学设计[2020课标].pdf
- 2020版 沪科技版 高中生物学 选择性必修1 稳态与调节《第1章 人体的内环境和稳态》大单元整体教学设计[2020课标].docx
- 液冷盲插快接头发展研究报告-全球计算联盟.docx
- 精品解析:北京市东直门中学2023-2024学年高二下学期3月阶段性考试(选考)物理试题(原卷版).docx
- 精品解析:北京市东直门中学2024届高三考前练习数学试卷(解析版).docx
- 2020版 沪科技版 高中生物学 选择性必修1 稳态与调节《第2章 人体的神经调节》大单元整体教学设计[2020课标].docx
文档评论(0)