注册 登录
编程论坛 C++教室

请高手指点一下以下的DDA算法

yuye851029 发布于 2008-05-01 09:59, 595 次点击
小弟刚学,请高手指点一下以下的DDA算法有没有错误,是否适合任意斜率以及在VC下怎么实现,谢谢!
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;i<k;i++)
                   gl_Point(int (x+0.5),int(y+0.5));
                   x=x+dx;
                   y=y+dy;
                   }
1 回复
#2
diaoxue2008-05-02 23:20
任意斜率要改动下
比如x和y对调,起点和终点对调
1