计算机图形学第二讲直线和圆的生成.ppt

计算机图形学第二讲直线和圆的生成.ppt

ID:52395250

大小:2.25 MB

页数:46页

时间:2020-04-05

计算机图形学第二讲直线和圆的生成.ppt_第1页
计算机图形学第二讲直线和圆的生成.ppt_第2页
计算机图形学第二讲直线和圆的生成.ppt_第3页
计算机图形学第二讲直线和圆的生成.ppt_第4页
计算机图形学第二讲直线和圆的生成.ppt_第5页
资源描述:

《计算机图形学第二讲直线和圆的生成.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、15岁觉得游泳难,放弃游泳,到18岁遇到一个你喜欢的人约你去游泳,你只好说“我不会耶”。18岁觉得英文难,放弃英文,28岁出现一个很棒但要会英文的工作,你只好说“我不会耶”。人生前期越嫌麻烦,越懒得学,后来就越可能错过让你动心的人和事,错过新风景。—蔡康勇《给残酷社会的善意短信》*一、回答下列问题:什么是计算机图形学?请描述图形与图像的关系。二、解释下列术语:像素、光栅扫描、刷新、分辨率、真色彩、RGB三、计算:当一种显示器有600×800像素的分辨率,每个像素能显示65536种颜色,刷新率是每秒60次时,每秒钟有多少比特传送给显示器?*计算机图形学研究的核心内容包

2、括:客观现实对象的模型生成;模型在显示设备上的显示输出。图形:以矢量形式储存于计算机中;图像:以点阵形式储存于计算机中;像素:屏幕或图像能够显示的最小单位计算机显示屏或数字图像所能显示的单位是有限的分辨率:单位长度上像素或点的个数分辨率越高,单位长度上像素的个数越多;同样大小(行、列像素相同)的数字图像,在分辨率高的显示器上实际显示的尺寸更小。光栅扫描:电子束按照从左到右、从上到下的顺序对像素栅格进行扫描(绘制)的过程其本质是进行画点操作帧缓存器:光栅扫描完整完成一次所形成的图像称为帧,待扫描的帧图像存放于帧缓存器中扫描转换:对任一想要在光栅扫描显示器上显示的图形,

3、在显示屏幕上找到最接近该待画图形的各个像素,这一过程称为扫描转换。任何图形在送入帧缓冲器进行显示前,必须先要经过扫描转换这一步骤;又称为图形的生成。A教学基本要求:1.1直线的生成算法;1.2圆的生成算法;1.3区域填充算法;1.4裁剪算法;*教学基本要求:1.1直线的生成算法;1.2圆的生成算法;1.3区域填充算法;1.4裁剪算法;**在数学上,理想的直线是一条由无穷多个无限小的连续的点组成。*但在光栅显示平面上,我们只能用二维光栅网格上尽可能靠近这条直线的像素点的集合来表示它。每个像素具有一定的尺寸,是显示平面上可被显示的最小单位,它的坐标x和y只能是整数,也就

4、是说相邻象素的坐标值是阶跃的而不是连续的。直线的扫描转换,就是要找出显示平面上最佳逼近理想直线的那些像素的坐标值;直线的扫描转换算法就是计算这些坐标值的方法;`常见算法:DDA算法(DigitalDifferentialAnalyzer,数值微分法)Bresenham算法直线的生成(扫描转换)*两种定义方法:1)像素理想化为点2)像素有一定面积`*倘若已知直线段两端点的坐标(x1,y1)(x2,y2),如何求得屏幕上显示的各点的坐标?直线DDA算法描述设(x1,y1)和(x2,y2)分别为所求直线的起点和终点坐标,由直线的微分方程得可通过计算由x方向的增量△x引起y

5、的改变来生成直线:也可通过计算由y方向的增量△y引起x的改变来生成直线:直线DDA算法思想选定x2-x1和y2-y1中较大者作为步进方向(假设x2-x1较大),取该方向上的增量为一个象素单位(△x=1),然后利用公式计算另一个方向的增量(△y=△x·m=m)。通过递推公式,把每次计算出的(xi+1,yi+1)经取整后送到显示器输出,则得到扫描转换后的直线。之所以取x2-x1和y2-y1中较大者作为步进方向,是考虑沿着线段分布的象素应均匀,这在下图中可看出。另外,算法实现中还应注意直线的生成方向,以决定Δx及Δy是取正值还是负值。直线DDA算法实现VoidDDALin

6、e(intx1,inty1,intx2,inty2,intcolor){intx;floatk,y=y1;k=1.0*(y2-y1)/(x2-x1);for(x=x1;x<=x2;x++){putpixel(x,(int)(y+0.5),color);y=y+k;}}按照从(x1,y1)到(x2,y2)方向不同,分8个象限。对于方向在第1a象限内的直线而言,取增量值Δx=1,Δy=m。对于方向在第1b象限内的直线而言,取增量值Δy=1,Δx=1/m。直线方向的8个象限象限△x>△y?dxdy1atrue1m1bfalse1/m12atrue-1m2bfals

7、e-1/m13atrue-1-m3bfalse-1/m-14atrue1-m4bfalse1/m-18个象限中的坐标增量值直线DDA算法实现voidddaline(intx1,inty1,intx2,inty2){inti,length;floatdx,dy,x=x1,y=y1;if(abs(x2-x1)>=abs(y2-y1))length=abs(x2-x1);elselength=abs(y2-y1);dx=1.0*(x2-x1)/length;dy=1.0*(y2-y1)/length;for(i=1;i<=length;i++){putpixel((i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。