Показать сообщение отдельно
  #3  
Старый 24.11.2011, 11:49
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

Я бы ломаную представил в виде массива сегменов, а у сегмента хранить координаты начальной и конечной точек и длину. Потом пройтись в цикле по всей длине.
Код:
type
  TSegment = record
    PBegin, PEnd: TPoint;
    L: LongWord;
  end;

  TLom = array of TSegment;

var
  aLom: TLom;

procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  for i:= Low(aLom) to High(aLom) do
  begin

  end;
end;
Хотя длина сегмента L легко вычисляется по точкам конца, но, чтобы каждый раз не вычислять, лучше сделать это один раз при создании ломаной и хранить в записи.
Ответить с цитированием