Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.04.2011, 20:09
cda cda вне форума
Прохожий
 
Регистрация: 23.04.2011
Сообщения: 5
Репутация: 10
По умолчанию Цифровой дифференциальный анализатор

Всем доброго вечера!

Протестируйте у себя, пожалуйста, работу алгоритма ЦДА. У меня компилируется очень долго, но так и не выводит результат(ошибок не выводит)

Код:
function Sign(s: Extended):Integer;
begin
if s>0 then Sign:=1;
if s<0 then Sign:=-1;
if s=0 then Sign:=0;
end;

 procedure drawdda(x1,y1,x2,y2:Integer);
 var deltaX, deltaY, i, lengthX, lengthY, length: Integer;
 var  x, y: Extended;
 begin
  lengthX:=Abs(x2-x1);
  lengthY:=Abs(y2-y1);
  begin
  if lengthX >= lengthY
  then length:=lengthX
  else length:=lengthY;
  end;
  deltaX:=Round( (x2-x1) / length );
  deltaY:=Round( (y2-y1) / length );
  x:=x1 + 0.5*Sign(deltaX);
  y:=y1 + 0.5*Sign(deltaY);


      begin
      i:=1;
      while i <= length do
      Form1.Image1.Canvas.Pixels[Round(x),Round(y)]:=clBlack;
      x:=x + deltaX;
      y:=y + deltaY;
      i:=i+1;
      end;

  end;


procedure TForm1.FormCreate(Sender: TObject);
begin
  with Form1.Image1.Canvas do
drawdda(10,10,300,400);
end;
Ответить с цитированием
  #2  
Старый 25.04.2011, 17:03
icWasya icWasya вне форума
Местный
 
Регистрация: 09.11.2010
Сообщения: 499
Репутация: 10
Вопрос Посмотри внимательно

какие операторы входят в этот цикл?
while i <= length do
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:05.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025