|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.12.2011, 12:32 | #1 |
Регистрация: 05.04.2011
Сообщений: 3
|
Последовательность Мандельброта на Паскале
Задача:
Множество Мандельброта строится в прямоугольнике с координатами xmin= -2.25, xmax=0.75, ymin=-1.5, ymax=1.5 (т. е. пиксел с координатами (0,0) представляет комплексное число -2.25 + i*1.5 ). Программа должна позволять пользователю менять координаты вершин прямоугольника, чтобы можно было изобразить в увеличенном виде отдельные фрагменты множества Мандельброта. Так как множество Мандельброта строится достаточно медленно, то необходимо предусмотреть возможность записи создаваемого изображения в файл. Такой файл просто хранит цвета всех пикселей экрана. Необходимо так же вспомогательная программа, которая сразу же извлечет предварительно созданное изображение из файла и изобразит на экране. Вот моя прога,спс нету за неё)))(знаю что не правильно но помогите плизз): program SSSsssSSS; uses CRT, Graph; const maxcol = 640; maxrow = 200; max_colors = 16; max_iterations = 512; max_size = 4; var Q : array[0..349] of real; Xmax,Ymax,Ymin,Xmin : real; P,deltaP,deltaQ,X,Y,Xsquare,Ysquare : real; i,color,row,col,GraphDriver,GraphMo de : integer; ch : char; begin Xmax := 0.75; Xmin := -2.25; Ymax := 1.5; Ymin := -1.5; GraphDriver := EGA; GraphMode := EGALo; InitGraph(GraphDriver,GraphMode ,' ' ); deltaP := (Xmax - Xmin)/(maxcol); deltaQ := (Ymax - Ymin)/(maxrow); Q[0] := Ymax; for row := 1 to maxrow do Q[row] := Q[row-1] - deltaQ; P := Xmin; for col := 0 to maxcol do begin if Keypressed then exit; for row := 0 to maxrow do begin X := 0.0; Y := 0.0; Xsquare := 0.0; Ysquare := 0.0; color := 1; repeat Xsquare := X*X; Ysquare := Y*Y; Y := 2*X*Y + Q[row]; X := Xsquare - Ysquare + P; inc(color); until (color>=max_iterations) or (Xsquare + Ysquare >= max_size); PutPixel(col,row,(color MOD max_colors)); end; P := P + deltaP; end; ch := ReadKey; end. Последний раз редактировалось archi1121; 25.12.2011 в 12:37. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Delphi. Множество Мандельброта и Жюлиа | KEnt | Помощь студентам | 8 | 07.12.2011 23:54 |
последовательность | -=Дрюня=- | Помощь студентам | 5 | 15.11.2011 14:27 |
Целочисленный фрактал Мандельброта | Tronix | Мультимедиа в Delphi | 16 | 25.07.2011 12:22 |
Последовательность в Паскале. | Nero77 | Помощь студентам | 5 | 01.11.2010 21:24 |
снежинка Мандельброта | NiCola999 | Общие вопросы C/C++ | 5 | 25.09.2010 16:17 |