Прошу в помощи в составлении алгоритма
От: azetown  
Дата: 21.02.12 08:55
Оценка:
Добрый день! Столкнулся с проблемой составления алгоритма прорисовки последовательной линии из массива.
Есть динамический массив 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;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.