- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图形变换与裁剪
齐次坐标
窗口到视区的变换
图形几何变换
三维图形的基本问题
平面几何投影
直线段裁剪
多边形裁剪
第5章
5.1
5. 2 5. 3 5.4 5.5
5.6
5.7
裁剪
· 裁剪:确定图形中哪些部分落在显示区之内, 哪些落在显示区之外,以便只显示落在显示区 内的那部分图形。这个选择过程称为裁剪。
图形裁剪算法,直接影响图形系统的效率。
点的裁剪
· 图形裁剪中最基苯的问题。
·假设窗口的左下角坐标为
(x₁,yg),右上角坐标为
(xq,y₁), 对于给定点
P(x,y),则P点在窗口内的条 件是要满足下列不等式:
X= x= xp
· 并且y8= y=y
否则, P点就在窗口外。
· 问题:对于任何多边形窗口, 如何判别?
(xp₂y
· 直线段裁剪算法是复杂图形裁剪的基础。
复杂的曲线可以通过折线段来近似,从
而裁剪问题也可以化为直线段的裁剪问题。
· 主要的四种算法
- 直接求交算法
- Cohen-Shrln 算法
- 中点算法
- 梁友栋—barskey算法
5.6直线段裁剪
xmin
· 提高裁剪效率:
快速判断情形(1)(2),
对于情形(3),设法减 少求交次数和每次求 交时所需的计算量。
·裁剪线段与窗口的关系:(1)线段完全可见;(2
显然不可见;(3)其它
5.6直线段裁剪
R=P
BI为可见部分
exit
Y
显然不可见
BB 不 可 见
exit
与窗口有交之
γ
求交点Io、I,
IoI即为可见部分
N
品不可见
exit
6
直线与窗口边都
写成参数形式,
求参数值。
直接求交算法
品在窗口内部
驻窗口内部
BB 完全可见
exit
Y
在窗口内部
N
求交点I
P=B
B=E
xmin xm ax
Y
Y
exit
Cohen-Sutherland 裁剪
· 基本思想:
对于每条线段PP, 分为三种情况处理:
(1)若P,P₂完全在窗口内,则显示该线段P,P2。 ( 2 ) 若PP₂ 明显在窗口外,则丢弃该线段。
(3)若线段不满足(1)或(2)的条件,则在交点 处把线段分为两段。其中一段完全在窗口外,可弃 之。然后对另一段重复上述处理。
· 为快速判断,采用如下编码方法:
将窗口边线两边沿长,得到九个区域,每一个区 域都用一个四位二进制数标识,直线的端点都 按其所处区域赋予相应的区域码,用来标识出 端点相对于裁剪矩形边界的位置。
1001
0001
0101
0010
0100
0110
0000
1000
1010
·将区域码的各位从右到左编号,则坐标区
域与各位的关系为:
上 下 右 左
X X X X
任何位赋值为1,代表端点落在相应的位
置上,否则该位为0。若端点在剪取矩形
内,区域码为0000。如果端点落在矩形的
左下角,则区域码为0101。
1001
1000
1010
0001
0000
0010
0101
0100
0110
Cohen-Sutherland 算法
一旦给定所有的线段端点的区域
码,就可以快速判断哪条直线完 全在剪取窗口内,哪条直线完全 在窗口外。所以得到一个规律:
Cohen-Sutherland 算法
1001
1000
1010
0001
0000
0010
0101
0100
0110
Cohen-Sutherland 裁剪
- 若PP₂ 完全在窗口内code1=0, 且code2=0, 则“取”
- 若P-P,明显在窗口外codelcode2≠0, 则“弃”
-在交点处把线段分为两段。其中一段完全在窗口外, 可弃之。然后对另一段重复上述处理。
1
1000
1010
1
0000
0010
1
0100
0110
100
000
010
线段裁剪
编码
如何判定应该与窗口的哪条边求交呢?
编码中对应位为1的边。
· 计算线段P1(x1,y1)P2(x2,y2)与窗口边界的交点
if(LEFTcode !=0)
{ x=XL;y=y1+(y2-y1)*(XL-x1)/(x2-x1);}
else if(RIGHTcode !=0)
{ x=XR; y=y1+(y2-y1)*(XR-x1)/(x2-x1);}
else if(BOTTOMcode !=0)
{ y=YB; x=x1+(x2-x1)*(YB-y1)/(y2-y1);}
else if(TOP code !=0)
{
您可能关注的文档
最近下载
- 质量保证措施之确保工程质量的技术措施.doc VIP
- 2025年鲁美附中考试题及答案 .pdf VIP
- 国家电大 可编程控制器应用实训 形考任务4答案.pdf VIP
- 2025年度专业技术人员继续教育公需科目考试题(附答案).doc VIP
- 新经典日语 第4册 第5課 メディア環境の変化.pptx VIP
- 智能汽车产业未来五年发展趋势分析:2025年商业化应用及十年技术演变.docx
- 重点语法题型梳理(Units 1-7)(知识串讲)-2024-2025学年八年级英语上学期期末考点大串讲(牛津上海版).pptx VIP
- 谷物食品与深加工技术.doc VIP
- 国家开放大学电大Android智能手机编程终结性考试第四步:上传报告文档与软件说明答案.docx
- 最新商店建筑设计规范.doc VIP
原创力文档


文档评论(0)