第三章 直线圆、椭圆生成算法.pptVIP

  • 4
  • 0
  • 约9.68千字
  • 约 50页
  • 2018-10-17 发布于江苏
  • 举报
第三章 直线圆、椭圆生成算法

第三章 直线、圆、椭圆 生成算法 3.1直线段的扫描转换算法 数值微分法(DDA) 假定直线的起点、终点分别为:(x0,y0), (x1,y1),且都为整数。  数值微分(DDA)法 基本思想 已知过端点P0 (x0, y0), P1(x1, y1)的直线段L y=kx+b 直线斜率为 这种方法直观,但效率太低,因为每一步需要一次浮点乘法和一次舍入运算。 数值微分(DDA)法 计算yi+1= kxi+1+b = kxi+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地位互换 数值微分(DDA)法 增量算法:在一个迭代算法中,如果每一步的x、y值是用前一步的值加上一个增量来获得,则称为增量算法。 DDA算法就是一个增量算法。 数值微分(DDA)法 void DDALine(int x0,int y0,int x1,int y1,int color) ? int x; float dx, dy, y, k;

文档评论(0)

1亿VIP精品文档

相关文档