计算机图像技术第3章.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文档。上传文档
查看更多
计算机图像技术第3章

计算机图形学演示稿 纪玉波制作(C) 第三章 图形常用算法与图形设计 本章内容 目标: 掌握二维图形学的基本思想,理解扫描转换法生成图形的基本原理。 要求: 掌握图形的扫描转换、区域填充、裁剪、反走样等概念。 掌握直线段的扫描转换算法、区域填充的扫描线算法、 多边形裁剪算法、反走样的基本思想。 熟悉多边形的扫描转换算法、区域采样的基本思想。 了解圆弧的扫描转换算法、字符的基本概念。 3.1 点与直线 点和线是计算机图形表示的最简单的基本图元。 点:将应用程序的单个坐标位置转换成输出设备的相应操作,即为画点操作。 直线扫描转换 当我们对直线进行光栅化时,只能在显示器所给定的有限个象素组成的矩阵中,确定最佳逼近于该直线的一组象素,并且按扫描线顺序,对这些象素进行写操作,这就是通常所说的用显示器绘制直线或直线扫描转换。 图形的扫描转换 图形的扫描转换: 在光栅显示器等数字设备上确定一个最佳逼近于图形的象素集的过程。 一般采用整数值表示屏幕位置,因此,绘制的位置只能接近两指定端点的实际线段位置。 如(3,3.6),转换为象素点的位置是 即(int(3 +0.5),int(3.6+0.5))=(3,4) 3.1 点的生成 点是图形中最基本的图素,直线、曲线以及其它的图元都是点的集合。在几何学中,一个点既没有大小,也没有维数,点只是表示坐标系统中一个位置。在计算机图形学中,点是用数值坐标来表示的。在直角坐标系中点由(x,y) 两个数值组成的坐标表示,在三维坐标系中点是由(x,y,z)三个数值组成的坐标表示。 在输出设备上输出一个点,就要把应用程序中的坐标信息转换成所用输出设备的相应位置。对于一个CRT监视器来说,输出一个点就是要在指定的屏幕位置上打开电子束,使该位置上的荧光点亮。 在PC机中,点亮屏幕上一个点是由BIOS控制完成的,各种程序语言中都有描点语句。 例如C语言函数 putpoint(x,y,color)、 putpixel(x,y,color) 输出参数: AH=OCH AL=像素值(见表3-1) CX=像素的列号 X DX=像素的行号 Y BH=指定的视频页 如果AL寄存器D7位等于1,新像素值将和原有背景颜色相互进行OR运算。返回值: 无。 下面给出的源代码是用TurboC写成的。该函数putpoint( )表示写一个像素的功能。 Void putpoint (int x,int y,int color) { Union REGS r; r.h .bh = 0; r.h .ah = 0xc; r.h .al = color; r.x .dx = y; r.x .cx = x; int86 (0x10,r,r ); } 写一个像素函数 putpoint( ) #include dos.h #include stdio.h #include conio.h #include stdlib.h void mode(int mode_code) { union REGS r; r.h.al=mode_code; r.h.ah=0; int86(0x10,r,r); } void putpoint(int x,int y,int color_code) { union REGS r; r.h.ah=12; ‘0ch r.h.al=color_code; r.x.dx=x; r.x.cx=y; int86(0x10,r,r); } main() { ... mode(0x10); ... putpoint(xs,ys,12); ... getch(); mode(0x03); } 写一个像素函数 putpixel(x,y,c) #include stdio.h #include graphics.h main() { ... int x,y,c=4; int gdriver,gmode; gdriver=DETECT; initgraph(gdriver,gmode, ); ... putpixel(x,y,c); ... getch(); closegraph(); } 3.1.2 直线的生成 直线在几何学中的定义为两点之间的最短距离,画一条直线时,实际是由一系列计算出来并与这条直线最靠近的像素绘制而成的

文档评论(0)

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

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

1亿VIP精品文档

相关文档