내 슬로프가 1에 대해서는 올바르게 작동하지만 다른 슬로프에는 적합하지 않습니다. 1 이외의 경사면에 대한 수평선 또는 수직선 그리기.이 코드의 문제점. 도움이 될 것입니다.DDA 알고리즘은 일부 좌표의 선을 그리지 않습니까?
#include <graphics.h>
#include <stdio.h>
#include <math.h>
int main()
{
int x,y,x1,y1,x2,y2,dx,dy;
float step;
int i,gd,gm;
printf("Enter the value of x1,y1: ");
scanf("%f%f",&x1,&y1);
printf("Enter the value of x2,y2 : ");
scanf("%f%f",&x2,&y2);
detectgraph(&gd,&gm);
initgraph(&gd,&gm,"");
dx=abs(x2-x1);
dy=abs(y2-y1);
if(dx>=dy)
step=dx;
else
step=dy;
dx=dx/step;
dy=dy/step;
x=x1;
y=y1;
i=1;
while(i<=step)
{
putpixel(x,y,1);
x=x+dx;
y=y+dy;
i=i+1;
delay(100);
}
getch();
}
http://scratchapixel.com/lessons/3d-basic-lessons/lesson-12-acceleration-structures/grid/ 일반적으로 DDA 알고리즘에 대한 정보와 코드는 다음을 참조하십시오. – user18490