计算机图形学 第2版 教学课件 作者 徐长青 第2章 图形基元的显示.ppt

计算机图形学 第2版 教学课件 作者 徐长青 第2章 图形基元的显示.ppt

ID:50211052

大小:651.00 KB

页数:69页

时间:2020-03-10

计算机图形学 第2版 教学课件 作者 徐长青 第2章 图形基元的显示.ppt_第1页
计算机图形学 第2版 教学课件 作者 徐长青 第2章 图形基元的显示.ppt_第2页
计算机图形学 第2版 教学课件 作者 徐长青 第2章 图形基元的显示.ppt_第3页
计算机图形学 第2版 教学课件 作者 徐长青 第2章 图形基元的显示.ppt_第4页
计算机图形学 第2版 教学课件 作者 徐长青 第2章 图形基元的显示.ppt_第5页
资源描述:

《计算机图形学 第2版 教学课件 作者 徐长青 第2章 图形基元的显示.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第二章图形基元的显示扫描转换将图形描述转换成用象素矩阵表示的过程图形基元(输出图形元素)图形系统能产生的最基本图形线段、圆、多边形第一节直线扫描转换算法第二节圆的扫描转换算法第三节区域填充第一节直线扫描转换算法DDA直线扫描转换算法中点画线法Bresenham画线算法设待画线段两端点的坐标值(x1,y1)和(x2,y2),假定x1

2、dy=y2-y1;e=(fabs(dx)>fabs(dy))?fabs(dx):fabs(dy);dx/=e;dy/=e;x=x1;y=y1;for(inti=1;i<=e;i++){SetPixel((int)(x+0.5),(int)(y+0.5));x+=dx;y+=dy;}}假定直线斜率在0、1之间x=xi时已选(xi,yi)象素x=xi+1与直线最近的象素P1(xi+1,yi)、P2(xi+1,yi+1)M表示P1与P2的中点M=(xi+1,yi+0.5)。Q是直线与垂直线x=xi+1的交点若M在Q的下方,则P2离直线近,应取为下一个象素中点画线法的实现起点和终点分

3、别为(x0,y0)和(x1,y1)。F(x,y)=ax+by+c其中,a=y0-y1,b=x1-x0,c=x0y1-x1y0。直线上的点,F(x,y)=0;直线上方的点,F(x,y)>0;直线下方的点,F(x,y)<0。将M代入F(x,y)d=F(M)=F(xi+1,yi+0.5)=a(xi+1)+b(yi+0.5)+c当d<0时,M在直线下方(即在Q的下方),应取右上方的P2。而当d>0,则取正右方的P1。当d=0时,二者一样合适,取P1。对每一个象素计算判别式d,根据它的符号确定下一象素。d≥0时,取正右方象素P1,判断再下一个象素应取哪个,应计算d1=F(xi+2,yi

4、+0.5)=a(xi+2)+b(yi+0.5)+c=d+a故d的增量为a。而若d<0,则取右上方象素P2。要判断再下一个象素,则要计算d2=F(xi+2,yi+1.5)=a(xi+2)+b(yi+1.5)+c=d+a+b故在第二种情况,d的增量为a+b再看d的初始值。显然,第一个象素应取左端点(x0,y0),相应的判别式值为d0=F(x0+1,y0+0.5)=a(x0+1)+b(y0+0.5)+c=ax0+by0+c+a+0.5b=F(x0,y0)+a+0.5b由于(x0,y0)在直线上,故F(x0,y0)=0。因此,d的初始值为d0=a+0.5b考虑用2d来代替d的计算vo

5、idMidpointLine(intx0,inty0,intx1,inty1){inta,b,delta1,delta2,d,x,y;a=y0-y1;b=x1-x0;d=2*a+b;delta1=2*a;delta2=2*(a+b);x=x0;y=y0;SetPixel(x,y);while(x

6、)(0,0)、(5,2)a=y0-y1=-2,b=x1-x0=5d0=2*a+b=1斜率m在0到1之间,并且设在第i步已经确定第i个象素点是,它是直线上点的最接近位置()现在看第i+1步如何确定第i+1个象素点的位置。d1d2,下一个象素点取,下一个象素点取,取两象素点中的任意一个,应取,应取确定P1,令i=1,可计算求出:voidBresenhamLine(intx1,inty1,intx2,inty2){intx,y,dx,dy,p;x=x1;y=y1;dx=x2-x1;dy=y2-y1;p=2*dy-dx;for(;x<=x2;x++){SetPixel(x,y);if

7、(p>=0){y++;p+=2*(dy-dx);}else{p+=2*dy;}}}第二节圆的扫描转换算法x2+y2=R2中点画圆法讨论如何从点(0,R)至(,)的1/8圆周x坐标为xi的象素(xi,yi)下一个象素只能是(xi+1,yi)的P1点或(xi+1,yi-1)的P2点M构造函数:F(x,y)=x2+y2-R2圆上的点,F(x,y)=0圆外的点,F(x,y)>0圆内的点,F(x,y)<0P1和P2的中点为M=(xi+1,yi-0.5)F(M)<0时,M在圆内,取P1F(M)>0时,M在圆外,取P

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

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

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