北航计算机图形学课件解析.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二维图形的运算 基本运算 1.交点计算 1.1两直线段的交点 上述方程可以写成: 如果两条直线相交,则满足 当 (1)Δ=0 方程组无解。说明两条直线段所在直线相互平行或重合,所以不相交,没有交点产生。 (2)Δ?0 方程组有唯一解。如果0?u ?1则说明交点P位于线段S1上。否则,交点P位于线段S1延长线上。 如果0?v?1则说明交点P位于线段S2上。否则,交点P位于线段S2延长线上。 所以,只有当0?u?1和0?v?1同时成立时,交点P既位于线段S1上又位于线段S2上。 1.2直线与圆弧的交点 设直线AB的方程为 圆心为C(xc,yc)半径为R的圆弧的参数方程为 如果直线段和圆弧相交,则有: 当Δ=B2-4AC ? 0时,直线和圆弧不相交。 当Δ=B2-4AC>0时,前面的一元二次方程有两个不相等的实根t1和t2。当满足0? t1 ?1或0? t2?1时,直线段才有可能与圆弧相交。此时?可以通过 来计算 当求得的?满足?s? ???e时,直线段才与圆弧相交。 2.关系判断  1.1.点的包含性检验 点的包含性检验是指:判断一个点是否被包含在某一个区域内。区域通常是多边形。  通常有两种方法:  (1)夹角和检验法  (2)交点数检验法    夹角和检验法 (a)被测点p在多边形外 (b)被测点p在多边形内 点与多边形的包含性检测 射线法 由被测点P处向 y = - ?方向作射线 交点个数是奇数,则被测点在多边形内部 否则,偶数,在多边形外部。 若射线正好经过多边形的顶点,当共享顶点的两边在射线的同一侧,则交点计数加2,否则加1。  1.2多边形重叠性检验   其思想是用包含多边形的最小矩形来检测。 3.窗口运算  1.1.定义窗口和视区  1.2.窗口-视区转换 假设在用户坐标系xoy中定义一个窗口,其左下角坐标为(xl,yb),右上角坐标为(xr,yt);在设备坐标系x*o*y*中定义一个窗口,其左下角坐标为(xl*,yb*),右上角坐标为(xr*,yt*);则有: 从窗口到视口的转换 1.直线的生成算法  1.1.逐点比较法  (1)算法流程 算法说明: ①偏差判别:按偏差来判断画笔的当前位置与规定图形的位置的偏差符号,以确定画笔下一步方向。 ②画笔作图:给出x向或y向的走步信号,使画笔在该方向上移动一个步距。 ③终点判断:判断当前画笔是否到终点。 ④偏差计算:在新位置上计算作图偏差,作为偏差判别的依据。  如果把直线的起点设置在坐标原点,则规定直线处于4个不同的象限中时,画笔的走向如图所示。  (2)偏差计算  ①一般公式   设直线的终点为A(xa,ya),当前位置为M (xm,ym)。oA,oM与x轴的夹角分别为?和?。则偏差为 由于上述公式的分母在所有的象限为正,故偏差判别式可简化为 Fm=ymxa-xmya 第一象限为例  当?<0时,表示画笔在oA线的下方,应该走+y一步;当??0,表示画笔在oA线上或上方,此时则应该走+x一步。   ②简化公式  当Fm<0时,应该走+y一步,即xm+1=xm,ym+1=ym+1。则 Fm+1= ym+1xa-yaxm+1= Fm+xa  当Fm ? 0时,应该走+x一步,即xm+1=xm+1,ym+1=ym。则 Fm+1= ym+1xa-yaxm+1= Fm-ya 起始时,设F1=0,即假设画笔在直线段的起点。   ③其它象限中的偏差计算公式   第二象限  当Fm<0时,应该走-x一步,即xm+1=xm-1,ym+1=ym。则 Fm+1= ym+1xa-yaxm+1= Fm+ya = Fm+|ya| 当Fm ? 0时,应该走+y一步,即xm+1=xm,ym+1=ym+1。则 Fm+1= ym+1xa-yaxm+1= Fm+xa= Fm-| xa |  三、四象限是类似的。 ④终点判断   设绘图机的步长为t,直线段在x,y两个方向上的增量分别为?x和?y,则绘图笔从直线的起点走到直线的终点,在x方 向应走?x/t步,在y方向应走?y/t步。两个方向上的总步数为(?x/t+?y/t)。 直线的扫描转换: 确定最佳逼近于该直线的一组象素,并且按扫描线顺序,将这些象素存入到帧缓存的相应单元中。 三个常用算法: 数值微分法(DDA) 中点画线法 Bresenham算法。 数值微分(DDA)法 基本思想 已知过端点 的直线段L: 直线斜率为 从 的

文档评论(0)

挺进公司 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档