《光栅图形学》PPT课件

《光栅图形学》PPT课件

ID:36717896

大小:2.91 MB

页数:108页

时间:2019-05-10

《光栅图形学》PPT课件_第1页
《光栅图形学》PPT课件_第2页
《光栅图形学》PPT课件_第3页
《光栅图形学》PPT课件_第4页
《光栅图形学》PPT课件_第5页
资源描述:

《《光栅图形学》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1光栅图形学2本章主要内容2.1直线的生成2.2圆的生成2.3椭圆的生成2.4多边形扫描转换与区域填充2.5字符的生成3光栅化扫描转换——确定像素集基本图形的生成与显示图元属性——颜色、宽度42.1直线光栅化显示算法①线条应该显得笔直:由连续点组成的直线要显示在离散网格的平面上,一定会有不经过网格的点。在这种情况下,必须选择靠近直线的网格点来逼近这条直线。绘制直线的要求理想的绘制5②绘制直线的要求◎直线端点位置应该准确:画出的线段如果不准确,往往会使两条线之间不能很好的镶接◎直线浓度应该均匀:线段的浓度与单

2、位线段中所显示的点数成正比。要保持线段的灰度均匀端点应该等距分布。要取得均匀的线段灰度,应该保持每单位长度的点数是个常数6直线的扫描转换:确定最佳逼近于该直线的一组像素,并且按扫描线顺序,对这些像素进行写操作。三个常用算法:数值微分法(DDA)中点画线法Bresenham算法。直线的微分方程:直线的方程:7直线的方程:直线增量的方程:1.数值微分法(DDA)栅格交点表示像素点位置已知过端点Ps(xs,ys),Pe(xe,ye)的直线段L:y=kx+b,直线斜率为:①基本思想:当△x=1时算法的实质是:每一步

3、的x,y值是用前一个的值加上一个增量获得的;为了在显示器上显示,需要对其作取整处理。计算yi+1=yi+kx当x=1;yi+1=yi+k◎即:当x每递增1,y递增k(即直线斜率);注意上述分析的算法仅适用于k≤1的情形。在这种情况下,x每增加1,y最多增加1。◎当k1时,y每增加1,x增加1/k。②算法分析增量算法:在一个迭代算法中,如果每一步的x、y值是用前一步的值加上一个增量来获得,则称为增量算法。DDA算法特点这种方法直观,但效率太低,因为每一步需要一次浮点乘法和一次舍入运算,不利于用硬

4、件实现。③算法实现voidCMyView::OnDdaline(){CDC*pDC=GetDC();//获得设备指针intx0=100,y0=100,x1=300,y1=200,c=RGB(255,0,0);//定义直线两端点和直线颜色(红色)floatx,y,i;floatdx,dy,k;dx=(float)(x1-x0);dy=(float)(y1-y0);k=dy/dx;y=y0;x=x0;if(abs(k)<1){for(;x<=x1;x++){pDC->SetPixel(x,int(y+0.5),

5、c);y=y+k;}}if(abs(k)>=1){for(;y<=y1;y++){pDC->SetPixel(int(x+0.5),y,c);x=x+1/k;}}ReleaseDC(pDC);//释放设备指针}例1:画直线段P0(0,0)--P1(5,2)xy+0.5int(y+0.5)00+0.5010.4+0.5020.8+0.5131.2+0.5141.6+0.5252.0+0.52优点:在同一坐标上,不可能连续停留两次。缺点:在此算法中,y、k必须是float,且每一步都必须对y进行舍入取整,不利于

6、硬件实现。算法特点:◎非整数端点的修正③任意方向直线的算法分析◎

7、k

8、≤1,

9、xe-xs

10、≥

11、ye-ys

12、,则:◎

13、k

14、>1,

15、xe-xs

16、<

17、ye-ys

18、,则:2.中点画线法①原理:假定直线斜率0

19、xs,ys),终点为Pe(xe,ye)的直线方程为:F(x,y)=ax+by+c=0,其中a=ys-ye,b=xe-xs,c=xsye-xeys,则:∴欲判断M点是在Q点上方还是在Q点下方,只需把M代入F(x,y),并检查它的符号。16构造判别式:d=F(M)=F(xi+1,yi+0.5)=a(xi+1)+b(yi+0.5)+c当d<0,M在直线(Q点)下方,取上方Pu;当d>0,M在直线(Q点)上方,取下方Pd;当d=0,选Pu或Pd均可,约定取Pd;能否采用增量算法呢?17◎若d0;取Pd;则再取下一

20、个像素的判别式为:d1=F(xi+2,yi+0.5)=a(xi+2)+b(yi+0.5)+c=a(xi+1)+b(yi+0.5)+c+a=d+a;增量为a18◎若d<0;取Pu;则再取下一个像素的判别式为:d2=F(xi+2,yi+1.5)=a(xi+2)+b(yi+1.5)+c=a(xi+1)+b(yi+0.5)+c+a+b=d+a+b;增量为a+b19◎确定判断式初值:设:画线从(x0,y0)开始,d的初值d

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

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

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