Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1

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

20.01.2013, 18:45. Показов 21773. Ответов 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,977
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,977
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,977
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,977
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,977
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,977
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,977
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,977
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,977
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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru