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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2012, 00:59   #1
Andrey770
Пользователь
 
Регистрация: 11.03.2011
Сообщений: 83
По умолчанию Аттрактор Лоренца

доброго времени суток
помогите пожалуйста
Код:
Const
 x: Real = 3.051522;
  y: Real = 1.582542;
  z: Real = 15.62388;
  dt = 0.0001;
  a = 5;
  b = 15;
  c = 1;
Var
  gd, gm: Integer;
  x1, y1, z1: Real;  
Begin

      x1 := x + a*(-x+y)*dt;
      y1 := y + (b*x-y-z*x)*dt;
      z1 := z + (-c*z+x*y)*dt;
    
      x := x1;
      y := y1;
      z := z1;
iMAGE1.Canvas.Pixels[(Round(19.3*(y - x*0.292893) + 320)),
               Round(-11*(z + x*0.292893) + 392)];
только ничего не выводит:
только выдает ошибку
Код:
     x := x1;
               y := y1;
                z := z1;
Andrey770 вне форума Ответить с цитированием
Старый 04.03.2012, 01:03   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
только выдает ошибку
какую ошибку?
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 04.03.2012, 01:04   #3
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

блин
Вы же константам новые значения присваиваете!
Цитата:
Код:
  x := x1;
      y := y1;
      z := z1;
Так делать нельзя!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 04.03.2012, 01:04   #4
Andrey770
Пользователь
 
Регистрация: 11.03.2011
Сообщений: 83
По умолчанию

left side cannot be ssigned to
Andrey770 вне форума Ответить с цитированием
Старый 04.03.2012, 01:05   #5
Andrey770
Пользователь
 
Регистрация: 11.03.2011
Сообщений: 83
По умолчанию

В паскале все работает
Andrey770 вне форума Ответить с цитированием
Старый 04.03.2012, 01:06   #6
Andrey770
Пользователь
 
Регистрация: 11.03.2011
Сообщений: 83
По умолчанию

Код:
Program Lorenz;
Uses CRT, Graph;
Const
  x: Real = 3.051522;
  y: Real = 1.582542;
  z: Real = 15.62388;
  dt = 0.0001;
  a = 5;
  b = 15;
  c = 1;
Var
  gd, gm: Integer;
  x1, y1, z1: Real;
Begin
  gd:=Detect;
  InitGraph(gd, gm, 'c:\bp\bgi');
  While not KeyPressed Do Begin
      x1 := x + a*(-x+y)*dt;
      y1 := y + (b*x-y-z*x)*dt;
      z1 := z + (-c*z+x*y)*dt;
      x := x1;
      y := y1;
      z := z1;
      PutPixel(Round(19.3*(y - x*0.292893) + 320),
               Round(-11*(z + x*0.292893) + 392), 9);
    End;
    CloseGraph;
    ReadKey;
End.
это в Паскале, я пробую сделать это в Делфи
Andrey770 вне форума Ответить с цитированием
Старый 04.03.2012, 01:08   #7
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
В паскале все работает
Попробуйте так
Код:
Const
 x: Real = 3.051522;
  y: Real = 1.582542;
  z: Real = 15.62388;
  dt = 0.0001;
  a = 5;
  b = 15;
  c = 1;
Var
  gd, gm: Integer;
  x1, y1, z1: Real;  
Begin

      x1 := x + a*(-x+y)*dt;
      y1 := y + (b*x-y-z*x)*dt;
      z1 := z + (-c*z+x*y)*dt;
iMAGE1.Canvas.Pixels[(Round(19.3*(y1 - x1*0.292893) + 320)),
               Round(-11*(z1 + x1*0.292893) + 392)];
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303

Последний раз редактировалось Hacker19_90; 04.03.2012 в 01:13.
Hacker19_90 вне форума Ответить с цитированием
Старый 04.03.2012, 01:23   #8
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

А всё понял вы цвет пикселя не меняли
Вот допустим так работает в делфи
Код:
While true do
      begin
      x1 := x + a*(-x+y)*dt;
      y1 := y + (b*x-y-z*x)*dt;
      z1 := z + (-c*z+x*y)*dt;

      x := x1;
      y := y1;
      z := z1;
Form1.Canvas.Pixels[(Round(19.3*(y - x*0.292893) + 320)),
               Round(-11*(z + x*0.292893) + 392)] := clRed;
      end;
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 04.03.2012, 01:24   #9
Andrey770
Пользователь
 
Регистрация: 11.03.2011
Сообщений: 83
По умолчанию

ошибки не выдает, но ничего не рисует
просто с канвой первый раз
Andrey770 вне форума Ответить с цитированием
Старый 04.03.2012, 01:26   #10
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Учтите что у меня он на форме рисует!
А так как у вас Image
то измените

Код:
Form1.Canvas.Pixels[(Round(19.3*(y - x*0.292893) + 320)),
               Round(-11*(z + x*0.292893) + 392)] := clRed;
на вот ттакое
Код:
Image1.Canvas.Pixels[(Round(19.3*(y - x*0.292893) + 320)),
               Round(-11*(z + x*0.292893) + 392)] := clRed;
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
аттрактор Лоренса. Не пойму, каким фигом делается проекция из 3D в 2D Rin Мультимедиа в Delphi 1 05.01.2011 13:29