计算机图形学-第二章 光栅图形学.pptxVIP

  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文档。上传文档
查看更多
2023/6/171第二章 光栅图形学(1) 2023/6/172图形的描述方法有多种,对于光栅图形系统而言,图形则完全由显示器上的像素位置的亮度指定。与此相反,也可将图形描述成诸如树木、地形、家具、墙壁等位于场景内指定坐标位置上的一组复杂物体。本质上,物体的形状和颜色可用像素矩阵或直线和多边形填色区域等基本几何结构来描述。场景既可以通过将像素矩阵装入帧缓冲器,也可以通过将基本几何结构说明转换为像素图案来显示。光栅扫描图形设备需要采用专门算法来显示直线、圆、多边形填充区域、字符串等基本几何结构,本章讨论这些基本几何结构的设备级算法。对此,假定物体的位置直接以整数坐标给出,像素位置按照扫描线行数和 2023/6/173列数指定,编址方案如图所示。扫描线从屏幕底部从零开始编号,像素列则沿每条扫描线从左至右从零开始编号,每个像素区域由左下角的整数网格坐标来指定。 此外,我们将假设有以下形式的底层函数: DrawPixel (x, y, value), GetPixel (x, y) yx00123456102312347677 2023/6/1742.1 图形程序 计算机图形的生成有两种方法:程序绘图和交互绘图。所谓程序绘图,就是先用程序设计语言(如 C 语言)编写好绘图程序,然后运行该程序并绘出图形。交互绘图则是应用交互图形软件,通过交互命令(键盘命令、菜单命令等)由计算机生成图形。程序绘图是交互式绘图的基础,所有的交互式图形软件均是基于程序绘图算法或函数而开发的。我们这里结合一些典型的算例,介绍图形绘图程序的设计方法。 2023/6/1751. 图案程序 金刚石图案 将半径为 R 的圆周分成 n 等分,然后用直线将各等分点两两相连,这样生成的图案称之为“金刚石”,如图所示。绘制该图形的 C 程序如程序 2.1.1。 2023/6/176#include graphics.h #include math.h main(){ float t; int x0 = 320, y0 = 240; int x0 = 320, y0 = 240; int n, i, j, r, x[50], y[50]; int gdriver = DETECT,gmode; printf(input n(20-30) and r(100-200)\n); scanf(%d, %d, n, r); initgraph(gdriver, gmode, c:\\tc); cleardevice(); 程序 2.1.1 绘制“金刚石”图案 setbkcolor(MAGENTA); setcolor(WHITE); t = 6.28318/n; for(i = 0; i n; i++) { x[i] = r*cos(i*t) + x0; y[i] = r*sin(i*t) + y0; } for(i = 0; i = n-2;i++) for(j = i+1; j = n-1;j++) line(x[i], y[i], x[j], y[j]); getch(); closegraph();} 2023/6/177用程序 2.1.1 绘制金刚石图案时,只是简单地调用了直线绘制函数 line ,通过两点连线绘成。这里的绘直线函数 line 是由 Turbo C 提供的。对于计算机图形学而言,所做的工作之一就是建立绘制直线等基本图形的算法,以便开发绘制复杂图形的软件系统。该例程同时也给出了利用 Turbo C 编写绘图程序的一般程序框架。 2023/6/178#include graphics.hmain (){ int gdriver=DETECT, gmode; initgraph(gdriver, gmode, c: \\ tc); cleardevice(); setbkcolor (背景色代码); /* 代码数字或大写的颜色英文名称 */ setcolor(图形颜色代码 ); /* 用户编写的绘制图形的源代码 */ closegraph();} 2023/6/179肾形图案 “肾形图案”是由按某种规律变化的圆形成的:将一个半径为 R 的圆周等分成 2n 等份,然后以等分点为圆心,以等分点到该圆的垂直直径的距离为半径画圆,则形成如图所示的肾形图案。绘制该图形的 C 程序见程序 2.1.2。 2023/6/1710#includegraphics.h#includemath.h #define PI 3.1415926

文档评论(0)

浙江工程信息通 + 关注
实名认证
服务提供商

网络工程师持证人

本人已从事浙江省工程咨询5年,对浙江省内工程信息非常熟悉,可获取新建工程相关联系人、设计院、业主等关键信息。另外从事楼宇自控专业已10年,考取了一建二建等资格证书,有关考试方面的问题(考试心得、方法、学习资料等)都欢饮来咨询交流。

领域认证该用户于2023年05月11日上传了网络工程师

1亿VIP精品文档

相关文档