《计算机图形学教学资料》.pptxVIP

  1. 1、本文档共10页,可阅读全部内容。
  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文档。上传文档
查看更多

1Chapter3

BasicRasterGraphicsAlgorithmsforDrawing2DPrimitives

基本二维图元的生成算法

Scan-conversion(扫描转换):确定图形对应的象素集合及其颜色,用于显示一个图形的过程,也称为图形的光栅化。

本章内容(outline)3直线的扫描转换(SCANCONVERTINGLINES)圆与椭圆的扫描转换(SCANCONVERTINGCIRCLEANDELLIPSE)区域填充(FILLINGREGION)字符生成(GENERATINGCHARACTERS)反走样(ANTIALIASING)二维裁剪(2DCLIPPING)

图形扫描转换(scan-conversion)Scan-conversion:确定图形对应的象素集合及其颜色,用于显示一个图形的过程,称为图形的扫描转换或光栅化。图形扫描转换分为两步:确定有关(组成图形的)象素;用图形的颜色或其他属性对象素进行写操作。第2步通常是通过调用设备驱动程序完成的,不属于计算机图形学的研究范围。计算机图形学研究前者,即如何确定最佳逼近于图形的象素集。

SCANCONVERTINGLINES(直线的扫描转换)给定直线段的两个端点P0(x0,y0)和P1(x1,y1),把其在光栅扫描显示器上显示出来.问题描述理想的直线段:没有线宽,由无数个点构成光栅扫描显示器上:有限个不重叠象素组成

6p0p1●●●●●●最佳表示:用最靠近理想直线的一些网格点(象素)来代表直线(即确定最佳的最近点和最大似点的集合)。直线的表示直线的表示(therepresentationoflines)

X的变化大于y的变化方法:数值微分法(1)(DDA---DigitalDifferentialAnalyzer)最简单方法:利用直线方程直接计算象素集。但方法用到了浮点数的乘法,加法和取整运算,影响效率。

数值微分法(2)

令yir=round(yi)其中,round()表示对yi进行四舍五入。则所求点坐标为(xi+1,round(yi+1))其中,xi+1=xi+1,yi+1=yi+m;数值微分法(3)12

10数值微分法(4)待解决问题若|m|1,则x向每变化1个单位,y向有可能超出1个步长。●●●●●p1p0●●解决方法:此时应令yi为自变量。

数值微分法(5)在算法中若能保证在一个方向上增量为1,在另一个方向的增量≤1,就能保证产生最大似点集,从而克服前述问题。最大步长(步距)步进方向:的方向

数值微分法(6)12voidLine(/*Assumes-1ml,x0x1*/intx0,inty0,/*Leftendpoint*/intx1,inty1,/*Rightendpoint*/intvalue)/*Colorvaluetoplaceinlinespixels*/{intx;/*xrunsfromx0tox1inunitincrements*/doubledy=y1—y0:doubledx=x1-x0;doublem=dy/dx;doubley=y0;for(x=x0;x=x1;x++){PutPixel(x,Round(y),value);/*Setpixeltovalue*/y+=m;/*Stepybyslopem*/}}/*Line*/Theincrementallinescan-conversionalgorithm.

数值微分法(7)13算法优点:简单、自然,消除了最简单方法中的浮点数的乘法法缺点:用到了浮点加法运算和取整运算,计算效率低。自变量的选择可根据斜率确定,以得到最佳的直线效果:0203

中点画线法

(MidpointLineAlgorithm)(1)问题引出为解决DDA算法中需要浮点数进行加运算,且输出时需取整的不利条件,可以用中点画线法。假设直线的斜率m∈[0,1],两个端点分别是(x0,y0),(x1,y1)。

文档评论(0)

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

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

1亿VIP精品文档

相关文档