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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2017, 16:21   #1
Оля1185242
Новичок
Джуниор
 
Регистрация: 28.04.2017
Сообщений: 2
По умолчанию Фрактальные множества

Помогите с реализацией фрактального множества Жюлиа. Очень надо
Есть код, но выдает ошибку

Код:
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;
 
type
  TForm1 = class(TForm)
    Image1: TImage;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  Image1:TImage;
  gd,gm: integer;
const
  min=1;
 
implementation
 
{$R *.dfm}
 
 procedure Tree(x,y,l,u:real; t:integer);
      begin
        if t>0 then
        begin
          l:=l*0.5;
          Image1.Canvas.MoveTo(round(x),round(y));
          Image1.Canvas.Lineto(Round(x + l * cos(u)),Round(y - l * sin(u)));
          x := Round(x + l * cos(u));
            y := Round(y - l * sin(u));
          Tree(x, y, l, u, t-1);
              Tree(x, y, l, u+pi/4, t-1);
              Tree(x, y, l, u-pi/4, t-1);
        end;
      end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
 
 
      Tree(20, 30, 150, pi/2,   6);
        Tree(20, 30, 150, 3*pi/4, 6);
        Tree(20, 30, 150, pi/4,   6);
end;
 
 
procedure TForm1.Button2Click(Sender: TObject);
begin
  halt;
end;
 
end.
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 28.04.2017 в 17:25.
Оля1185242 вне форума Ответить с цитированием
Старый 28.04.2017, 17:07   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Ошибка конечно секретная ))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 13.12.2018, 11:23   #3
ko568
Новичок
Джуниор
 
Регистрация: 13.12.2018
Сообщений: 1
По умолчанию

Скажите пожалуйста как исправить ошибки?
ko568 вне форума Ответить с цитированием
Старый 13.12.2018, 11:55   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
Скажите пожалуйста как исправить ошибки?
Цитата:
Код:
 procedure Tree(x,y,l,u:real; t:integer);
1.
Код:
procedure Tree(canvas: Tcanvas; x,y,l,u:real; t:integer);
2.
Код:
procedure TForm1.Tree(x,y,l,u:real; t:integer);
выбирай любой вариант и открывай СВОЮ тему с перечислением СВОИХ ошибок.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 13.12.2018, 14:33   #5
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Код:
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;
 
type
  TForm1 = class(TForm)
    Image1: TImage;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
   Image1: TImage;
  gd,gm: integer;
const
  min=1;

implementation

{$R *.dfm}
 
 procedure Tree(x,y,l,u:real; t:integer);
      begin
        if t>0 then
        begin
          l:=l*0.5;
          Form1.Image1.Canvas.MoveTo(round(x)+200,round(y)+200);
          Form1.Image1.Canvas.Lineto(Round(x + l * cos(u))+200,Round(y - l * sin(u))+200);
          x := Round(x + l * cos(u));
            y := Round(y - l * sin(u));
          Tree(x, y, l, u, t-1);
              Tree(x, y, l, u+pi/4, t-1);
              Tree(x, y, l, u-pi/4, t-1);
        end;
      end;

procedure TForm1.Button1Click(Sender: TObject);
begin
      Tree(20, 30, 150, pi/2,   6);
        Tree(20, 30, 150, 3*pi/4, 6);
        Tree(20, 30, 150, pi/4,   6);
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
  halt;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
var bmp : TBitmap;
begin
  bmp  := TBitmap.Create;
  bmp.Width  := Image1.Width;
  bmp.Height := Image1.Height;
  Image1.Picture.Bitmap  := bmp;
end;

end.
95% сбоев и ошибок приложений, находится в полу метрах от монитора

Последний раз редактировалось JUDAS; 13.12.2018 в 14:37.
JUDAS вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal ABC. Множества. Сформировать два множества из M и N элементов случайным образом. powersej Паскаль, Turbo Pascal, PascalABC.NET 0 13.12.2012 21:08
Pascal ABC. Множества. Сформировать два множества из M и N элементов случайным образом. powersej Помощь студентам 0 13.12.2012 20:58
Фрактальные изображения tashe Помощь студентам 0 07.11.2012 15:44
Через множества заданы сорта роз,выращиваемых цветоводами. Ввод множества с клавиатуры,сравнение множеств BAMbarBIO Паскаль, Turbo Pascal, PascalABC.NET 5 31.05.2011 13:17
Фрактальные алгоритмы в QBasic student2008 Помощь студентам 0 05.04.2010 14:15