第三章直线、圆、椭圆的生成解析.ppt

第三章直线、圆、椭圆的生成解析

第三章 直线、圆和椭圆 扫描转换 3.1直线段的扫描转换算法 一、数值微分法(DDA) 假定直线的起点、终点分别为:(x0,y0), (x1,y1),且都为整数。  数值微分(DDA)法 基本思想 (1)已知过端点P0 (x0, y0), P1(x1, y1)的直线段L y=kx+b (2)直线斜率为 :k=(y1-y0)/(x1-x0) (3)Xi+1=Xi+ε*ΔX Yi+1=Yi+ε*ΔY 其中, ε=1/max(|ΔX|,|ΔY|) max(|ΔX|,|ΔY|)= |ΔX| (|k|=1) |ΔY| (|k|1) 数值微分(DDA)法 增量算法:在一个迭代算法中,如果每一步的x、y值是用前一步的值加上一个增量来获得,则称为增量算法。 DDA算法就是一个增量算法。 数值微分(DDA)法 void DDALine(int x0,int y0,int x1,int y1,int color) ? int x; float dx, dy, y, k; dx = x1-x0; dy=y1-y0; k=dy/dx ; y=y0; for (x=x0; x?x1; x++) ? drawpixe

文档评论(0)

1亿VIP精品文档

相关文档