计算机图形学第2章资料.ppt

第2章 光栅图形学 2.1直线段的扫描转换算法 2.2圆弧的扫描转换算法 2.3多边形的扫描转换与区域填充 2.4字符 2.5裁剪 2.6反走样 2.7消隐 2.1 直线段的扫描转换算法 直线的扫描转换: 确定最佳逼近于该直线的一组象素,并且按扫描线顺序,对这些象素进行写操作。 三个常用算法: 2.1.1数值微分法(DDA) 2.1.2中点画线法 2.1.3Bresenham算法。 2.1.1 数值微分(DDA)法 基本思想 已知过端点P0 (x0, y0), P1(x1, y1)的直线段L y=kx+b 直线斜率为 从x的左端点x0开始,向x右端点步进。步长=1(个象素),计算相应的y坐标y=kx+B;取象素点(x, round(y))作为当前点的坐标。 计算yi+1= kxi+1+B = k1 xi+B+k?x = yi+k?x 当?x =1; yi+1 = yi+k 即:当x每递增1,y递增k(即直线斜率); 注意上述分析的算法仅适用于?k? ≤1的情形。在这种情况下,x每增加1,y最多增加1。 当 ?k? ?1时,必须把x,y地位互换 例:画直线段p(0,0)--P1(5,2) x int(y+0.5) y+0.5 0 0

文档评论(0)

1亿VIP精品文档

相关文档