- 1、本文档共53页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 其中,裁剪窗口(xwmin,xwmax,ywmin,ywmax)是世界坐标系的窗口边界或视口边界。虽然点的裁剪不如线或多边形裁剪用得多,但是某些应用还是需要点的裁剪过程,如用于爆炸或海面泡沫的显示,他们通过场景中分散的粒子建模 * 线段的位置和标准矩形裁剪窗口之间的各种可能的位置关系 * 这是一个最早最流行的线段裁剪算法。该算法通过初始测试来减少计算的交点数,从而加快线段裁剪算法的速度。 * * 一旦给所有的线段的端点建立了区域码,就可很快判断哪条线段完全在窗口内,哪条线段完全在窗口外。 判断规则如上所述 * 一旦给所有的线段的端点建立了区域码,就可很快判断哪条线段完全在窗口内,哪条线段完全在窗口外。 判断规则如上所述 * 该算法与Cohen-Sutherland 一样,用于标准矩形窗口的裁剪(边界与坐标轴平行),但它是更快的直线裁剪算法,它基于线段的参数化方程的分析, * * * * Nicholl-Lee-Nicholl裁剪方法的基本想法是通过对二维平面的更详细划分,消除Cohen-Sutherland算法中线段被裁剪时需多次求交的情况,这使得Nicholl-Lee-Nicholl算法的效率在某些场合更优于Cohen-Sutherland。 * Nicholl-Lee-Nicholl算法可分为以下几个步骤。 第一步,窗口四边所在的直线将二维平面划分成9个区域,对区域编号,如图,确定尸P0所在的区域。不失一般性,只考虑P0。落在区域0,4,5的情况。如果P0落在其它区域,总可以通过简单的二维变换(如旋转变换、对称变换)使之落于这三人区域内,当裁剪结束后,再通过逆变换将成剪结果变换回去 第二步,从P0点向窗口的四个角点发出射线,这四条射线和窗口的四条边所在的直线一起将二维平面划分为更多的小区域。 第三步,确定Pl所在区域。根据窗口四边的坐标值以及P0Pl和各射线的斜率可确定P1所在的区域。 第四步,求交点,确定P0P1的可见部分 * * * * * * CS线段裁剪算法 作业 已知线段的两个端点 P1(-3/2, 1/6),P2(1/2, 3/2) 窗口边界x = -1, x = 1, y = -1, y = 1 用CS算法对线段进行裁剪 6.7.2 Liang-Barsky 线段裁剪算法 思想:基于直线段参数方程分析的快速直线裁剪算法 参数方程 直线两端点 P1(x1, y1), P2 (x2, y2) x = x1 + (x2 - x1)u y = y1 + (y2 - y1)u, 0≤u≤1 6.7.2 Liang-Barsky 线段裁剪算法 已知直线端点 : 起点P1(x1, y1),终点P2(x2, y2) 参数方程: x = x1 + (x2 - x1)u y = y1 + (y2 - y1)u P1 P2 u0 0≤u≤1 u1 LB算法推导 如果直线在窗口内, 则 w1 ≤ x1 + dx * u ≤ w2 w3 ≤ y1 + dy * u ≤ w4 统一表示为:Pk * u ≤ Qk k = 1, 2, 3, 4 P1 = - dx, Q1 = x1-w1 P2 = dx, Q2 = w2-x1 P3 = - dy, Q3 = y1-w3 P4 = dy, Q4 = w4-y1 6.7.2 Liang-Barsky 线段裁剪算法 LB算法描述 计算 Pk, Qk, k = 1 ~ 4 判断 Pk = 0,表示直线平行于窗口某边界 Qk 0,(任一小于零)直线完全在窗口外,被裁剪 Qk = 0,直线在窗口内,平行边界内 Pk != 0, 用Qk / Pk计算交点所对应的U值 6.7.2 LB线段裁剪算法 计算方法 对每条线计算参数u1和u2 u1 = Max{ 0, Qk / Pk }, Pk 0 u2 = Min{ 1, Qk / Pk }, Pk 0 如果u1 u2, 则直线在窗口外,否则计算交点坐标 6.7.2 Liang-Barsky 线段裁剪算法 LB线段裁剪算法 举例 已知线段的两个端点P1(3, 4),P2(8, 2) 窗口边界x=1, x=4, y=1, y=3 用LB算法对线段进行裁剪 LB线段裁剪算法 举例1:已知:线段的两个端点(3, 4),(8, 2) 窗口边界x=1, x=4, y=1, y=3 线段的参数方程 x = 3 + 5u y = 4 - 2u P1 = -5, Q1 = 2, R1 = -2/5 P2 = 5, Q2 = 1, R2 =
您可能关注的文档
最近下载
- 油气井管柱完整性管理,SY_T7026-2014.pdf
- 学校党委副书记、副校长2024年度民主生活会个人对照检视发言材料.docx VIP
- 小脑梗塞护理查房.pptx
- 辽宁省2023-2024学年高考物理试题(一模)附答案.pdf VIP
- AI绘画介绍课件(定制版)21页.pptx VIP
- 2023年安徽中医药高等专科学校单招英语考试试题及答案解析.docx
- (新)部编版二年级语文下册导学案(全册).doc
- 英威腾(INVT)DA200伺服驱动器产品说明书.pdf
- 2024年山东劳动职业技术学院单招综合素质考试题库带答案(必威体育精装版).docx
- 人教版数学五年级下册全册单元教材分析学情分析和课时安排.pdf VIP
文档评论(0)