计算机图形学03:基本图形生成ppt课件.ppt

计算机图形学03:基本图形生成ppt课件.ppt

ID:59268251

大小:921.50 KB

页数:50页

时间:2020-09-27

计算机图形学03:基本图形生成ppt课件.ppt_第1页
计算机图形学03:基本图形生成ppt课件.ppt_第2页
计算机图形学03:基本图形生成ppt课件.ppt_第3页
计算机图形学03:基本图形生成ppt课件.ppt_第4页
计算机图形学03:基本图形生成ppt课件.ppt_第5页
资源描述:

《计算机图形学03:基本图形生成ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计算机图形学ComputerGraphics第三讲:基本图形生成第三章:基本图形生成直线的生成圆与椭圆的生成区域填充(x1,y1)3.1直线的生成直线的斜率截距k表示斜率,b是y轴的截距xby0k·x(x2,y2)(xi,yi)3.1.1数值微分法数值微分法DigitalDifferencetialAnalyzer(xi,(int)(yi+0.5))(xi+1,(int)(yi+0.5))(xi+1,yi)3.1.1数值微分法给定x的增量△x计算y的增量△y=k·△x如果△x=±1,则△y=±k如果

2、k

3、<1,设上一点为(xi,yi)随后

4、一点为(xi+1,yi+1)则xi+1=xi±1,yi+1=yi±k。3.1.1数值微分法voidDDALine(intx1,inty1,intx2,inty2,intcolor){floatk,y=y1;k=(float)(y2-y1)/(x2-x1);for(intx=x1;x<=x2;x++){putpixel(x,(int)(y+0.5f),color);y+=k;}}//[注](int)(y+0.5)是为了四舍五入。3.1.2中点画线法中点画线法MidPointP=(xp,yp)MP1P2Q设P1(xp+1,yp),P2(xp

5、+1,yp+1)M为P1和P2的中点M=(xp+1,yp+0.5)设直线方程为:F(x,y)=ax+by+c=0判别式:d=F(M)=F(xp+1,yp+0.5)=a(xp+1)+b(yp+0.5)+c1)如果d<0时,M在直线下方,取P2;2)如果d>0时,应取正右方的P1。3)当d=0时,可随便取,约定取正右方的P1。采用增量算法:d0=a+0.5b初始值如d≥0,d1=d+a增量为a如d<0,d2=d+a+b增量为a+bvoidMPLine(intx1,inty1,intx2,inty2,intcolor){inta=y1–y2;in

6、tb=x2–x1;intx=x1;inty=y1;intd=2*a+b;intd1=2*a;intd2=2*(a+b);putpixel(x,y,color);for(x=x1;x<=x2;x++){if(d<0){y++;d+=d2;}else{d+=d1;}putpixel(x,y,color);}}3.1.3Bresenham画线算法Bresenham画线算法xkd2xk+1yk+1d1yk3.1.3Bresenham画线算法d1=y-yk=(k(xk+1)+b)-ykd2=(yk+1)-y=yk+1-(k(xk+1)+b)则:d1

7、-d2=2k(xk+1)-2yk+2yk+2b-1dk=△x(d1-d2)=2△y·xk-2△x·yk+cdk+1=dk+2△yd0=2△y-△x当x递增时,如果dk+1>0时,y就增1,然后重新计算d:dk+1=dk-2△x3.1.3Bresenham画线算法Bresenham画线算法(递推法)根据数值微分的增量算法:设dx=x2-x1;dy=y2-y1;k=dy/dx;x=x1;y=y1;dk=0;for(i=0;i=0.5){y+=1;dk=dk-1;}}然后将k扩大2*dx倍,再

8、偏移-dx,即k=2*dy-dx,这样就可得到Brensenham算法。3.1.3Bresenham画线算法Bresenham画线算法(递推法)voidBHLine(intx1,inty1,intx2,inty2,intcolor){intx,y,dx,dy,dk;dx=x2-x1;dy=y2-y1;dk=2*dy-dx;y=y1;for(x=x1;x<=x2;x++){putpixel(x,y,color);dk=dk+2*dy;if(dk>=0){y++;dk=dk–2*dx;}}}3.1.3Bresenham画线算法Bresenham

9、直线算法的巧妙之处在于:1.采用增量算法,减少运算量2.采用整数算法,提高运算效率1.圆的特性圆的方程表达式:参数极指标方程:为了简化起见,先考虑中心在原点情况。3.2圆与椭圆的生成1.圆的特性3.2圆与椭圆的生成(x,y)(y,x)(-x,y)(-y,x)(-y,-x)(-x,-y)(x,-y)(y,-x)2.中点画圆法构造函数:F(x,y)=x2+y2-r2圆外的点F(x,y)>0;圆内的点F(x,y)<0;判别式:dp=F(M)=F(xp+1,yp-0.5)=(xp+1)2+(yp-0.5)2-r2若dp<0取P1为下一个像素d

10、p+1=dp+2xp+3否则取P2为下一个像素dp+1=dp+2(xp-yp)+53.2圆与椭圆的生成P=(x,y)P1P2Mdp的初始值d0=F(1,R-0.5)=1.25-r

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

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

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