Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2010, 20:18   #1
Кос
Новичок
Джуниор
 
Регистрация: 02.04.2010
Сообщений: 2
По умолчанию Реализация фрактальных объектов в Delphi

Ребят, если кому-то интересен такой вопрос: Реализация фрактального объекта "лист папоротника" в Delphi? как мне это сделать? Это возможно? У меня такая тема курсовой((((((

Если кто-то может помочь, вот есть файл, в нем описание алгоритмов и некоторые программы, но только в матлаб((((( http://soft.mail.ru/journal/pdfversions/48127.pdf

Последний раз редактировалось Кос; 02.04.2010 в 20:22.
Кос вне форума Ответить с цитированием
Старый 02.04.2010, 20:27   #2
Google2010
Форумчанин
 
Регистрация: 16.02.2010
Сообщений: 316
По умолчанию

Код:
procedure TForm1.Timer1Timer(Sender: TObject);
var r : double;
    y2, x2 : integer;
    z : integer;
begin
for z := 0 to 10000 do
begin
  r := random;
  a := 0;
  b := 0;
  c := 0;
  d := 0.16;
  f := 0;

  if r > 0.01 then
  begin
   a := 0.85;
   b := 0.04;
   c := -0.04;
   d := 0.85;
   f := 1.6;
  end;

  if r > 0.86 then
  begin
   a := 0.2;
   b := -0.26;
   c := 0.23;
   d := 0.22;
   f := 1.6;
  end;

  if r > 0.93 then
  begin
   a := -0.15;
   b := 0.28;
   c := 0.26;
   d := 0.24;
   f := 0.44;
  end;

  newx := (a * x) + (b * y);
  newy := (c * x) + (d * y) + f;
  x := newx;
  y := newy;
  y2 := 480-round((y+0.5)*45);
  if (y2 > 0) and (y2 < 480) then
  begin
    x2 := round((x+4.5) * 64);
    if (x2 > 0) and (x2 < 640) then
    begin
      pic[x2,y2] := pic[x2,y2]+1;
    end;
  end;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
go := false;
picture := TBitmap.Create;
picture.Width := form1.ClientWidth;
Picture.Height := form1.ClientHeight;
picture.PixelFormat := pf32Bit;
image1.picture.bitmap := picture;
randomize;
end;

procedure TForm1.Timer2Timer(Sender: TObject);
var scan : ^scanline;
    y,x : integer;
    col : integer;
begin
for y := 0 to 480 do
begin
  scan := image1.Picture.Bitmap.ScanLine[y];
  for x := 0 to 639 do
  begin
    col := pic[x,y];
    if col > 255 then col := 255;
    scan[x].r := col;
    scan[x].g := col;
    scan[x].b := col;
  end;
end;
image1.refresh;
application.ProcessMessages;
end;

Последний раз редактировалось Google2010; 03.04.2010 в 08:03.
Google2010 вне форума Ответить с цитированием
Старый 04.04.2010, 15:06   #3
Кос
Новичок
Джуниор
 
Регистрация: 02.04.2010
Сообщений: 2
По умолчанию

Спасибо большое
Кос вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализация многопоточностив Delphi BloodMaX Помощь студентам 3 20.03.2010 19:21
Перетаскивание объектов в Delphi Dennis777 Помощь студентам 2 06.11.2009 15:34
Движение 2-x объектов (Delphi) VadEr Помощь студентам 2 06.06.2009 17:19
Реализация BlowFish на Delphi Unconnected Общие вопросы Delphi 2 19.02.2009 12:52