第三讲基本图元输出ppt课件.ppt

第三讲基本图元输出ppt课件.ppt

ID:59488713

大小:485.50 KB

页数:37页

时间:2020-09-13

第三讲基本图元输出ppt课件.ppt_第1页
第三讲基本图元输出ppt课件.ppt_第2页
第三讲基本图元输出ppt课件.ppt_第3页
第三讲基本图元输出ppt课件.ppt_第4页
第三讲基本图元输出ppt课件.ppt_第5页
资源描述:

《第三讲基本图元输出ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三讲:基本图元的光栅化(1)OutputPrimitives2008.9.16图像可以有多种方式来描述,在光栅设备上,任何的图形都可以用一个指定亮度的各位置点的集合来表示。另一方面我们也可以用一系列基本的图形对象来表示,这些图形对象的的颜色和形状可以用像素点阵或一系列基本的几何结构来描述。例如线段和内部填充颜色的多边形,显示场景的时候,可以将像素点阵装入贞缓存,或者将定义的基本几何结构扫描转换为像素的形式写入贞缓存。一些图形软件包提供了一些基本函数用于描述输出基本几何结构,这样的基本几何结构叫做基本输出图元。利用这些基本输出图元可以组成复杂物体的显示。

2、最简单的基本图元是点和线,基本图元的是通过指定图元的坐标、颜色等要显示的信息来定义的。将这样定义的基本图元按照其属性转换为像素点阵的过程称为光栅化3.1点和线在CRT显示器中,点的绘制是将程序中点的坐标转化为屏幕上确定的位置,当扫描至该位置点时,开启电子枪点亮该点荧光。在随即扫描显示器中,点在显示列表中定义,根据点的坐标产生偏转电压,控制电子枪的偏转并点亮该点的荧光。线的绘制是根据定义线的两个端点,插值计算中间点的位置,并点亮这些中间点。在随即扫描设备中,可以产生连续的中间点绘制出光滑的线段。在CRT设备中,需要将直线离散化成若干个点,根据线段的直线方程

3、计算出这些离散的中间点位置,并在扫描这些点的位置上开启电子枪点亮荧光屏。3.1点和线线的离散化表示点在屏幕上的位置坐标用像素为单位,点的像素坐标只能是整数。所以,通过计算得到的中间点在屏幕上的坐标都要取整数,如在线段上某点上计算的坐标是(10.48,20.51),则点在屏幕上的位置是(10,21)。3.2画线算法任何图元的绘制算法都要遵循的一个原则:尽量使绘制速度加快,加快绘制速度的一个途径就是尽量减少浮点运算和乘除运算。绘制线的基本思想是沿水平或垂直方向,依次增加一个像素的长度,计算出相应的另一个方向个上的增量,从而确定线上的某一个点的屏幕坐标,电子枪

4、点亮该点。3.2.1DDA算法(digitaldrflerentialanalyzer)假设定义直线段的两个端点的坐标为(x1,y1),(x2,y2),直线的斜截方程为y=mx+b3.2画线算法得:m=(y2-y1)/(x2-x1)b=y1-mx1设在x方向上的增量为⊿x,则⊿y=m⊿x①⊿x=⊿y/m②若

5、m

6、<=1则以⊿x作为步进的基础,取⊿x=1,计算相应的y坐标,由①得yk+1=yk+m

7、m

8、<=1,按x轴方向采样xy3.2画线算法若

9、m

10、>1,则以⊿y为步进的基础,取⊿y=1,计算相应的x坐标,由②得xk+1=xk+1/m假设已经定义了底层函数

11、Setpixel(x,y),此函数用于向贞缓存中坐标为(x,y)处按指定的颜色写入颜色值,则DDA算法可描述如下。

12、m

13、>1,按y轴方向采样3.2画线算法voidlineDDA(intxa,intya,intxb,intyb){intdx=xb-xa,;intdy=yb-ya,;intsteps,k;floatxincrement,yincrement;floatx=xa,;floaty=ya;if(abs(dx)>abs(dy)steps=abs(dx);elsesteps=abs(dy);xIncrement=dx/(float)steps;yInc

14、rement=dy/(float)steps;setpixel(xa,ya);for(k=0;k

15、,当我们沿x轴每次递增1采样像素,在绘制第二个点时,需要选择是(2,2)还是(2,1),Bresenham算法就是计算一个决策参数用于判断哪一个像素点离直线最近。3.2画线算法以m<1为例,如下图所示。在Xk+1处y=mXk+1+b=m(Xk+1)+b;d1=y-yk=m(xk+1)+b-yk;d2=yk+1–y=yk+1-m(xk+1)-b;⊿d=d1-d2=2m(xk+1)-2yk+2b-1;d1d2xkXk+1Xk+2ykyk+1y当m<1时3.2画线算法如果△d>0则在处选择点(Xk+1,yk+1),否则选择(Xk+1,yk)。取△x=xb-xa

16、△y=yb-ya则m=△y/△x(xa,ya)和(xb,yb)是线段的两个端点。

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

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

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