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)으로 정의하기 위한 코드입니다.