Добрый день! Столкнулся с проблемой составления алгоритма прорисовки последовательной линии из массива.
Есть динамический массив mat[x][y]: real;
в него загружены определенные данные (результаты расчета зоны ограничения застройки ПКАЭМО 4.0) эти величины могут изменятся от 0 до определенной величины, причем если эта величина больше 1 то образуются некоторые замкнутые зоны различной формы,
мне необходимо найти и последовательно записать координаты точек перехода где эта величина изменяется с меньше 1 на 1 или больше единицы.
сам попробовал вот что вышло только работает коряво и обрисовывает только одну зону а зон может быть несколько даже в определенной зоне может быть еще одна зона перехода.
Работает мой алгоритм с верху вниз по столбцам перебирает значения если значение подходит то добавляет в список координат мое значение и начинает со следующего столбца, также потом повторяется только уже значения перибераются снизу вверх.
Прошу вашего совета в написании данного алгоритма!
for ix:= 0 to n_x do
begin
for iy:= 0 to n_y do
begin
if iy>0 then
// if ((mat[ix][iy-1]<=1)and(mat[ix][iy]>=1)) or ((mat[ix][iy]>=1)and(mat[ix][iy+1]<=1)) then
if ((mat[ix][iy-1]<=1)and(mat[ix][iy]>=1)) then
if b1 then kp1:=addMassKoord(kp1,form10.setPAC2D(x0+ix*dx,y0+iy*dy))
else begin
b1:=true;
kp1[0]:=x0+ix*dx;
kp1[1]:=y0+iy*dy;
end;
{ with Acb1.addline(form10.setpac(x0+ix*dx,y0+iy*dy,0),form10.setpac(x0+ix*dx,y0+iy*dy,0)) do
begin
color:=acByBlock;
Lineweight:=acLnWtByBlock;
end; }
end;
end;