Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.86/91: Рейтинг темы: голосов - 91, средняя оценка - 4.86
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1

Построение фрактала Мандельброта

20.01.2013, 18:45. Показов 22099. Ответов 220
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добавил поток для построения, но рано обрадовался: прога как зависала, так виснет и сейчас.
И как использовать все ядра процессора на все 100? Кто-нибудь знает?
Вложения
Тип файла: zip Mandelbrot.zip (847.5 Кб, 103 просмотров)
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.01.2013, 18:45
Ответы с готовыми решениями:

Построение фрактала Коха (основа - правильный треугольник)
помогите пожалуйста надо сделать так, что бы производилось построение фрактала Коха основа правильный триугольник исходя из различных...

Масштабирование фрактала Мандельброта
Помогите, пожалуйста, есть программа рисующая фрактал Мандельброта, которое выполняет масштабирование, там используются комплексные числа. ...

Генерация фрактала Мандельброта. NASM + OpenGL
Всем здравия! Помогите мне, нужна помощь опытных людей. Замучился совсем. Вроде делаю всё как надо, но выводит непонятно что. Основная...

220
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,978
29.04.2013, 22:18
Студворк — интернет-сервис помощи студентам
Сделал вариант на базе "Длинной" арифметики (160-bit). Теперь можно сделать до 90 зумов (Extended - 55). Правда работает на порядок медленнее, если не хуже.
Вложения
Тип файла: rar Project1_.rar (231.4 Кб, 13 просмотров)
0
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
29.04.2013, 23:16  [ТС]
gorfil, Отлично работает, но построение лучше производить из центра. И как мне это сделать? Я даже код предлагал, но я так и не врубился в SSE
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,978
30.04.2013, 09:09
Из центра конечно лучше, только реализовать это будет непросто.
0
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
30.04.2013, 17:11  [ТС]
gorfil, помоги вытянуть число из кода SSE! Пожалуйста... При попытке у меня рисует белый экран. А для создания видео надо сохранять не BitMap, как делает это Fractal Extreme, а количество итераций и число Z на каждый пиксел. Потом реализовать для IterDat'ы операции StretchDraw и быструю работу с графикой, а также интерполяцию. Быструю-быструю. Потом визуализация - Как в одной из наших тем.
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,978
30.04.2013, 18:59
Цитата Сообщение от SeryZone Посмотреть сообщение
помоги вытянуть число из кода SSE!
А код-то где?
0
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
30.04.2013, 20:34  [ТС]
gorfil, на прошлой странице этой темы. Там у меня симметрия не получилась ещё
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,978
30.04.2013, 21:17
Там на SSE вообще ничего нет.
0
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
30.04.2013, 22:29  [ТС]
gorfil, код на построение не видит числа Z

Добавлено через 1 минуту
Как нет????
0
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
03.05.2013, 10:05  [ТС]
gorfil, По поводу построения из центра:
1) Надо преобразовать плоскость BitMap, на котором мы строим в обычные Декартовы координаты, т. е. чтобы центре была точка (0,0), а не (1280/2,720/2). Как в школе! Я вот формулы подзабыл, как сделать, но всё же:
Delphi
1
2
x := x - 640 // 1280/2 - 640 аналогично
y = -y + 360 //вроде так...
2) А на обычной плоскости декартовых координат, где 0 в центре, можно начинать строить:
От -128 до 128 по о. Х
И от -72 до 72 по оси Y аналогично.
В общем, движение по спирали будет из центра! Вот только надо будет ещё один поток добавлять для преобразований...
Миниатюры
Построение фрактала Мандельброта  
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,978
03.05.2013, 11:24
SeryZone, это все понятно.
Проблема в другом:
Битмап представляет собой одномерный массив строк пикселей. И при рисовании из центра придется прыгать из одной части этого массива в другую по некой формуле (а может и не одной), что неизбежно приведет к значительному замедлению построения картинки.
0
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
03.05.2013, 14:15  [ТС]
gorfil, Тогда также - из центра, но начиная с линии 720/2 идём в два потока - один вверх, друго вниз. Получается какбы появление картинки не по спирали, а чисто из центральной линии. Если BitMap - набор строк, то начнём с 720/2 - с 360-й строки и до границ.
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,978
03.05.2013, 19:36
Так в моем коде, который я тут когда-то выкладывал, так и сделано.
0
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
03.05.2013, 23:46  [ТС]
Вот мой код. Там на SSE первая наша версия. Как вывести число Z? У меня не выводит. Прошу о помощи!
Вложения
Тип файла: zip The Mandelbrot Set.zip (3.07 Мб, 7 просмотров)
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,978
04.05.2013, 00:06
SeryZone, это называется FPU (с SSE ничего общего).
И Z там уже выведено в переменную ZZ.
0
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
04.05.2013, 00:24  [ТС]
FIL, надо ещё пара идей:
1) Чтобы число Z каждого пикcела сохранялось в массив NumZ[x,y]. А при визуализации можно было использовать Smooth Coloring (Index = iter + 1 - log(log(Zn))/log(2)).
2) Для того, чтобы делать видео, надо научится сохранять в файл не BitMap - картинку, а количество итераций на каждую точку, а то и число Z. Как сжато записать сию инфу? Ведь пикселей 1280х720, а при увеличении может быть больше!
3) Как и в Fractal Extreme, прийдётся отдельно писать визуализатор. Но! Если мне помогут, как записать Iter dat'у, то визуализатор будет не сложно сделать.

Добавлено через 1 минуту
FIL, как сделать первое? Помогите с кодом! Что надо и куда дописать??? Чтобы потом ZZ каждой точки записать в массив NumZ[x,y]?
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,978
04.05.2013, 00:30
Так в чем проблема? Добавляешь 2 массива размером 1280х720 (одномерный или двухмерный): один для Z, другой - для Iter, и пишешь туда инфу вместо Битмапа или параллельно с ним.
0
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
04.05.2013, 00:32  [ТС]
FIL, Я так и сделал. Но при визуализации Smooth coloring'a из встравки то ли не записывается, то ли я не пойму, но белый экран. Убираю число Z из расцветки - всё норм!
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,978
04.05.2013, 11:06
Строится одинаково, что с Z, что без нее.
Только в 320 строчке ошибка, надо индексы указать у NumIter:
Delphi
1
for ix := 0 to 1279 do if (NumIter[ix,iy]<=0) then
и Numz[ix,iy]:=ZZ; два раза встречается.
0
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
04.05.2013, 11:26  [ТС]
Реализовал рендеринг как и в FX'е: рендерю каждый зум - степень двойки, но! Сохраняю не BitMap (он ваще не нужен), а кол-во итераций на каждую точку в файл с программой. Надо: увеличить до определённого места, потом нажать "RENDER", дождаться вычислений.
В файл записывается сначала минимум и максимум итераций, а с новой строки сама дата точек
Дальше гемморой с визуализатором: надо уметь интерполировать или хотя бы рисовать это без потери даты итераций.
Процедура bmp.StretchDraw работает с цветом, а нам надо работать с числами. А потом уже раскрашивать! Есть какие-нибудь подсказки???

А число Z из вставки вытащить так и не удалось
Вложения
Тип файла: zip The Mandelbrot Set.zip (3.07 Мб, 2 просмотров)
0
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
04.05.2013, 11:48  [ТС]
Вот, с режимом Smooth Coloring вообще не получается! А взял твою ASM вставку...
Вложения
Тип файла: zip The Mandelbrot Set.zip (3.07 Мб, 4 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.05.2013, 11:48

Написать код для создания фрактала Мандельброта и Кантора
Кто может предоставить код для создания фрактала Мандельброта и Кантора. Не могу найти реализацию этих двух фракталов на C#.

Построение фрактала
При нажатие на btn2 выдает ошибку ссылаясь на строку 55 и выдает такое сообщение ...

Анимационное построение звёдного фрактала
Необходимо нарисовать звёздный фрактал с использованием анимации. Есть программа рисующая фрактал без анимации.

Построение трехмерного фрактала: как установить точки
Хотел построить трехмерный фрактал в wpf как установить точки? пробовал кубы рисовать вокруг точек но получается слишком большой массив...

Построение фрактала «Треугольник Серпинского» с возможностью изменения числа образующих примитивов с помощью клавиш
Доброго времени суток. Помогите реализовать программу на языке Java реализующую построение фрактала «Треугольник Серпинского» с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
160
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru