运行环境 : C++ 6.0
我在网上看到其他大佬写的,DDA算法的图形仿真,
求大佬解答一下,这两小段程序是什么意思呢?
主要是这个delta_x和delta_y
delta_x = float(1.0*dx / steps);
delta_y = float(1.0*dy / steps);
#include<stdio.h>
#include<graphics.h>
#include<math.h>
#include<conio.h>
void DDA(float x1, float y1, float x2, float y2)
//x1,y1起始点,x2,y2终止点
{
int i, steps;
int x0 = 400, y0 = 300; //坐标轴原点
float x, y, delta_x, delta_y, dx, dy;
dx = x2 - x1;
dy = y2 - y1;
if (fabs(dx) >= fabs(dy))
steps = fabs(dx);
else
steps = fabs(dy);
delta_x = float(1.0*dx / steps);
delta_y = float(1.0*dy / steps);
x = x1;
y = y1;
putpixel((x + x0), (y0 - y), RED); //开始第一个点的描绘
for (i = 1; i <= steps; i++)
{
x = x + delta_x;
y = y + delta_y;
putpixel((x + x0), (y0 - int(y + 0.5)), RED); //y+0.5四舍五入运算
Sleep(50); //两个点间隔50毫秒
}
}