网站大量收购独家精品文档,联系QQ:2885784924

计算机图形学讲义(裁减).docVIP

计算机图形学讲义(裁减).doc

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机图形学讲义(裁减)

中点分割裁剪算法 1、基本思想: 从P0点出发找出离P0最近的可见点,和从P1点出发找出离P1最近的可见点。这两个可见点的连线就是原线段的可见部分。(见上图) 与Cohen-Sutherland算法一样首先对线段端点进行编码,并把线段与窗口的关系分为三种情况,对前两种情况,进行一样的处理;对于第三种情况,用中点分割的方法求出线段与窗口的交点。A、B分别为距P0 、 P1最近的可见点,Pm为P0P1中点。 2、中点分割算法-求线段与窗口的交点 1)、从P0出发找距离P0最近可见点采用中点分割方法 先求出P0P1的中点Pm, 若P0Pm不是显然不可见的,并且P0P1在窗口中有可见部分,则距P0最近的可见点一定落在P0Pm上,所以用P0Pm代替P0P1; 否则取PmP1代替P0P1。 再对新的P0P1求中点Pm。重复上述过程,直到PmP1长度小于给定的控制常数为止,此时Pm收敛于交点。 2)、从P1出发找距离P1最近可见点采用上面类似方法。 3、 s对分辩率为2N*2N的显示器,上述二分过程至多进行N次。 主要过程只用到加法和除法运算,适合硬件实现,它可以用左右移位来代替乘除法,这样就大大加快了速度。 对分辩率为2N*2N的显示器,上述二分过程至多进行N次。 主要过程只用到加法和除法运算,适合硬件实现,它可以用左右移位来代替乘除法,这样就大大加快了速度。 梁友栋-Barsky算法 设要裁剪的线段是P0P1。 P0P1和窗口边界交于A,B,C,D四点,见图。算法的基本思想是从A,B和P0三点中找出最靠近的P1点,图中要找的点是P0。从C,D和P1中找出最靠近P0的点。图中要找的点是C点。那么P0C就是P0P1线段上的可见部分。 线段的参数表示 x=x0+t△x y=y0+t△y 0=t=1 △x=x1-x0 △y=y1-y0 窗口边界的四条边分为两类:始边和终边。 求出P0P1与两条始边的交点参数t0, t1 , 令tl=max(t0 ,t1,0),则tL即为三者中离p1最近的 点的参数 求出p0p1与两条终边的交点参数t2, t3, 令tu=min(t2,t3,1) ,则tU即为三者中离p0最近的 点的参数 若tu tl,则可见线段区间 [tl , tu] 始边和终边的确定及交点计算: 令 QL= - △x DL= x0-xL QR= △x DR= xR-x0 QB= - △y DB= y0-yB QT= △y DT= yT-y0 交点为 ti= Di / Qi i=L,R,B,T Qi 0 ti为与始边交点参数 Qi 0 ti为与终边交点参数 Qi =0 Di 0 时,线段不可见 Di 0 时, 分析另一D, 当Qi =0时 若Di 0 时,线段不可见 (如图中AB,有QR=0,DR0) 若Di 0 时, 分析另一D, (如图中的EF就是这种情况,它使QL=0,DL0和QR=0,DR0。这时由于EF和x=xL及x=xR平行,故不必去求出EF和x=xL及x=xR的交点,而让EF和y=yT及y=yB的交点决定直线段上的可见部分。) 参数化算法(Cyrus-Beck) 考虑凸多边形区域R和直线段P1P2 P(t)=(P2-P1)*t+P1 设A是区域R的边界上 一点,N是区域边界在 A点的内法线向量 则对于线段P1P2上任一点P(t) N ·(P(t)-A)0-外侧 N ·(P(t)-A)0-内侧 N ·(P(t)-A)=0-边界 或其延长线上 凸多边形的性质:点P(t)在凸多边形内的充要条件是,对于凸多边形边界上任意一点A和该点处内法向N,都有 N·(P(t)-A)0 k条边的多边形,可见线段参数区间的解: Ni· (p(t)-Ai)=0, i=0,…,k, 0≤t ≤1. 即:Ni· (P1-Ai)+ Ni· (P2-P1) t=0 (1)式 可得: 令ti= Ni· (P1-Ai)/[Ni· (P2-P1) ] Ni· (P2-P1) =0- 平行于对应边。 此时判断Ni· (P1-Ai) 若Ni· (P1-Ai) 0-P1 P2在多边形外侧-不可见, 若Ni· (P1-Ai) 0-P1 P2在多边形内侧-继续其它边的判断 对于t值的选择:首先,要符合0≤t≤1;其次,对于凸窗口来说,每一个线段与其至多有两个交点,即有两个相应的t值

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档