- 1、本文档共143页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
对于透视裁剪体来说,此时需要采用判别函数来确定。其中,为投影中心,为裁剪体后面在Z轴上的截距,,,,将要确定端点编码的点的x和y坐标代入,如果点在裁剪体右侧面右方点在裁剪体右侧面上点在裁剪体右侧面左方左侧面的判别函数是:,点在裁剪体左侧面右方,点在裁剪体左侧面上,点在裁剪体左侧面左方其中顶面的判别函数是:点在裁剪体顶面上方点在裁剪体顶面上点在裁剪体顶面下方其中,底面的判别函数是:点在裁剪体底面上方点在裁剪体底面上,点在裁剪体底面下方,其中,前面的判别函数是:点在裁剪体前面前方点在裁剪体前面上点在裁剪体前面后方后面的判别函数是:点在裁剪体后面前方点在裁剪体后面上点在裁剪体后面后方裁剪体后面的四个边界值,裁剪体前、后面在Z轴上的截距设直线段的起点和终点分别为和,直线方程可以表示成如下的参数方程形式:计算线段与裁剪体的面相交当裁剪体为长方体时,其右侧面方程为可由下式求出交点的参数,从而求出直线与裁剪体边界面的交点坐标:当裁剪体为棱锥体时,根据裁剪体的右侧面方程可以求出交点的参数其中同理可求得裁剪体为长方体或棱锥体时,直线与其它五个边界面的交点坐标梁友栋-Barsky算法也可以推广到三维情况下。当视域为立方体时,这种推广是直接的。当视域为棱台时,对于,四个平面来说,对应于二维裁剪时的值和值可如下取值:对z=ZH和z=ZY两个平面,相应的值和值可如下取值:其中,,和。可知,相应平面与的交点的参数值为voidT_Barsky(doublex0,y0,z0,x2,y2,z2){doublet0,t1,deltax,deltay,deltaz;t0=0.0;t1=1.0;deltax=x2-x0;deltaz=z2-z0;if(!cansee(-deltax-deltaz,x0+z0,t0,t1))return;if(!cansee(deltax-deltaz,z0-x0,t0,t1))return;deltay=y2-y0;if(!cansee(-deltay-deltaz,y0+z0,t0,t1))return;if(!cansee(deltay-deltaz,z0-y0,t0,t1))return;if(!cansee(-deltaz,z0-zh,t0,t1))return;if(!cansee(deltaz,zy-z0,t0,t1))return;x2=x0+t1*deltax;y2=y0+t1*deltay;z2=z0+t1*deltaz;x0=x0+t0*deltax;y0=y0+t0*deltay;z0=z0+t0*deltaz;showline(x0,y0,z0,x2,y2,z2);(显示可见线段)}2、中点分割裁剪算法基本思想:与前一种Cohen-Sutherland算法一样首先对线段端点进行编码,并把线段与窗口的关系分为三种情况:1)完全可见,绘制线段2)完全不可见,线段不绘制,舍弃3)求中点pm,分割成p0pm,pmp1,再分别进行判断,直到会不会无限循环、不断二分?中点分割算法可分成两个过程平行进行,从p0点出发找出离点p0最近的可见点,从p1点出发找出离点p1最近的可见点。这两个最近可见点的连线就是原直线段的可见部分。从P0出发找最近可见点的方法梁友栋-Barsky算法设要裁剪的直线段为。P0P1和窗口边界交于A、B、C和D四个点。基本思想:从A、B(始边交点)和P0三点中找出最靠近P1的点,该点是P0。从C、D(终边交点)和P1点中找出最靠近P0的点,该点是点C。那么P0C就是线段上的可见部分。ABP0P1CD在具体计算时,可以把写成参数方程:把窗口边界的四条边分成两类,一类称为始边,另一类称为终边。当时,称为始边,为终边。当
文档评论(0)