C언어로 구현된 코드를 C#으로 변경한 코드입니다. 출처는 https://www.geeksforgeeks.org/dda-line-generation-algorithm-computer-graphics/ 입니다.
private void DrawLine(
int X0, int Y0, int X1, int Y1,
XrMapLib.GridCells cells,
double Value)
{
int dx = X1 - X0;
int dy = Y1 - Y0;
int steps = Math.Abs(dx) > Math.Abs(dy) ? Math.Abs(dx) : Math.Abs(dy);
float Xinc = dx / (float)steps;
float Yinc = dy / (float)steps;
float X = X0;
float Y = Y0;
for (int i = 0; i <= steps; i++)
{
cells.SetValue((int)Math.Round(Y), (int)Math.Round(X), Value);
X += Xinc;
Y += Yinc;
}
}
그리드 분석에서 특정 지점에 대해 값을 지정하는 방식이 아닌 값을 지정하는 대상을 선(Line)으로 정의하기 위한 코드입니다.

