- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图形学chap2-4
2.5 裁剪 裁剪:确定图形中哪些部分落在显示区之内,哪些落在显示区之外,以便只显示落在显示区内的那部分图形。这个选择过程称为裁剪。 2.5.1 直线段裁剪 2.5.2 多边形裁剪 2.5.1 直线段裁剪 直线段裁剪算法是复杂图元裁剪的基础。复杂的曲线可以通过折线段来近似,从而裁剪问题也可以化为直线段的裁剪问题。 2.5.1.1 Cohen-Sutherland算法 2.5.1.2 中点分割算法 2.5.1.3 梁友栋-Barskey算法 2.5.1.1 Cohen-Sutherland裁剪 基本思想:对于每条线段P1P2分为三种情况处理: (1)若P1P2在窗口内,则显示该线段P1P2,简称“取”之。 (2)若P1P2在窗口外,则丢弃该线段P1P2 ,简称“弃”之。 (3)若线段不满足“取”或 “弃”的条件,则在交点处把线段分为两段。其中一段完全在窗口外,弃之。然后对另一段重复上述处理。 为快速判断,采用如下编码方法: 每个区域赋予4位编码CtCbCrCl 这一编码的特点是:窗口某一条边的外侧的三个区域的编码有一位全为1。对于要被裁剪的线段,确定其两个端点的编码code1和code2: 若P1P2完全在窗口内code1 = 0,且code2 = 0,则“取” 若P1P2完全在窗口外code1 code2 ≠ 0,则“弃” 在交点处把线段分为两段。其中一段完全在窗口外,可弃之。然后对另一段重复上述处理。 2.5.1.2 中点分割裁剪算法 基本思想:与前一种Cohen-Sutherland算法一样首先对线段端点进行编码,并把线段与窗口的关系分为三种情况: 全在、完全不在和线段和窗口有交。对前两种情况,进行一样的处理。 对于第三种情况,用中点分割的方法求出线段与窗口的交点。即从P0点出发找出距P0最近的可见点A和从P1点出发找出距P1最近的可见点B,两个可见点之间的连线即为线段P0P1的可见部分。 求线段与窗口的交点 从P0出发找最近可见点采用中点分割方法 先求出P0P1的中点Pm 若P0Pm不是完全不可见的,则距P0最近的可见点一定落在P0Pm上,所以用P0Pm代替P0P1 否则取PmP1代替P0P1 再对新的P0P1求中点Pm。重复上述过程,直到PmP1长度小于给定的控制常数为止,此时Pm收敛于交点 从P1出发找最近可见点采用与上面类似方法。 2.5.1.3 梁友栋-Barskey算法 梁友栋和Barskey提出了更快的参数化裁剪算法。过线段P1P2的直线的参数方程为: 参数化形式写出裁剪条件: 当pk = 0且qk 0,则线段完全在边界外,qk ≥ 0,则该线段平行于裁剪边界并且在内部 当pk0, 线段从裁剪边界延长线的外部延伸到内部。 当pk 0, 线段从裁剪边界延长线的内部延伸到外部。 For each k, calculate rk=qk/pk u1=max(0, rk) for all k where pk0 [outside to inside] u2=min(1, rk) for all k where pk 0 [inside to outside] If (pk=0) and (qk=0) reject line If u1 u2 then discard line, else use u1 and u2 to calculate end points of the line △x = 13-3 = 10 △y = 8-1 = 7 Left (k =1) p1=-△x =-10 q1=x1-XL =3-4=-1 r1=-1/-10=1/10 u1=max(0,1/10)=1/10 Right (k =2) p2=△x=10 q2=XR-x1=11-3=8 r2=8/10 u2=min(1,8/10)=8/10=0.8 Bottom(k =3) p3= -△y=-7 q3=y1- YB=1-2=-1 r3=-1/-7=1/7 u1=max(1/10,1/7) = 1/7 Top(k =4) p4= △y=7 q4=XT-y1=7-1=6 r4=6/7=0.85 u2=min(0.8,0.85) = 0.8 u1=1/7 u2 = 0.8 = 3+(1/7)*10=3+1.42=4.42 = 1+(1/7)* 7 = 2 = 3+(8/10)*10=3+8=11 = 1+(8/10)* 7 = 1+5.6=6.6 void LB_LineClip(float x1, float y1
您可能关注的文档
- 双语教学-常用灸取穴法.ppt
- 反对校园欺凌 护平安校园.pptx
- 发展中的城市(教案).doc
- 发展城市经济、营造城市活力.docx
- 发展经济学拉尼斯费景汉.doc
- 古文观止——魏南北朝、唐篇.doc
- 台州市黄岩区科学技术局领导班子 贯彻落实科学发展观情况分.doc
- 各位老师,根据学校安排,由我来开班组织大家进行这一轮的.doc
- 各种汽车标志的历和意思.doc
- 合作区域不进则退.ppt
- 2024年中国钽材市场调查研究报告.docx
- 2024年中国不锈钢清洗车市场调查研究报告.docx
- 2024年中国分类垃圾箱市场调查研究报告.docx
- 2024年中国水气电磁阀市场调查研究报告.docx
- 2024年中国绿藻片市场调查研究报告.docx
- 2010-2023历年初中毕业升学考试(青海西宁卷)数学(带解析).docx
- 2010-2023历年福建厦门高一下学期质量检测地理卷.docx
- 2010-2023历年初中数学单元提优测试卷公式法(带解析).docx
- 2010-2023历年初中毕业升学考试(山东德州卷)化学(带解析).docx
- 2010-2023历年初中毕业升学考试(四川省泸州卷)化学(带解析).docx
文档评论(0)