[工学]第4章1 基本光栅图形生成算法.ppt

[工学]第4章1 基本光栅图形生成算法

第4章 基本光栅图形生成算法 4.1 直线生成算法 图形的扫描转换或光栅化 生成直线(段)的方法 4.1.1 生成直线的DDA算法 一、算法思想 数字微分法(DDA)的本质用数值方法解微分方程,通过同时对 和 各增加一个小增量,计算下一步的 , 值 当ΔX ΔY0,即直线斜率小于1,应使x方向每次 增加1,y方向最多增加1,此时取Δt=1/ΔX; 当ΔYΔX0,即直线斜率大于1,应使y方向每次增加1,x方向每次最多增加1,此时应取Δt=1/ΔY; 二、DDA算法程序 void dda(int x1,int y1,int x2,int y2) //直线DDA { int k,i; float x, y, dx, dy; k = abs(x2-x1); if (abs(y2-y1)k) k = abs(y2-y1); dx = float(x2-x1)/k; dy = float(y2-y1)/k; x=float(x1); y=float(y1); for (i=0;ik;i++){ gl_Point(int(x+0.5), int(y+0.5)); x = x+dx; y = y+dy; } }// end DDA 利用数值微分法判断逼近点的位置 为快速很好地求出表示直线的像素,采用参数方程的表达形式 为了提高速度,用等步长来计算

文档评论(0)

1亿VIP精品文档

相关文档