|
|
|
Построение фрактала Мандельброта20.01.2013, 18:45. Показов 21730. Ответов 220
Метки нет (Все метки)
Добавил поток для построения, но рано обрадовался: прога как зависала, так виснет и сейчас.
И как использовать все ядра процессора на все 100? Кто-нибудь знает?
0
|
|
| 20.01.2013, 18:45 | |
|
Ответы с готовыми решениями:
220
Построение фрактала Коха (основа - правильный треугольник)
Генерация фрактала Мандельброта. NASM + OpenGL |
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 29.04.2013, 22:18 | |
|
Сделал вариант на базе "Длинной" арифметики (160-bit). Теперь можно сделать до 90 зумов (Extended - 55). Правда работает на порядок медленнее, если не хуже.
0
|
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 30.04.2013, 09:09 | |
|
Из центра конечно лучше, только реализовать это будет непросто.
0
|
|
|
|
|
| 30.04.2013, 17:11 [ТС] | |
|
gorfil, помоги вытянуть число из кода SSE! Пожалуйста... При попытке у меня рисует белый экран. А для создания видео надо сохранять не BitMap, как делает это Fractal Extreme, а количество итераций и число Z на каждый пиксел. Потом реализовать для IterDat'ы операции StretchDraw и быструю работу с графикой, а также интерполяцию. Быструю-быструю. Потом визуализация - Как в одной из наших тем.
0
|
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 30.04.2013, 18:59 | |
|
0
|
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 30.04.2013, 21:17 | |
|
Там на SSE вообще ничего нет.
0
|
|
|
|
||||||
| 03.05.2013, 10:05 [ТС] | ||||||
|
gorfil, По поводу построения из центра:
1) Надо преобразовать плоскость BitMap, на котором мы строим в обычные Декартовы координаты, т. е. чтобы центре была точка (0,0), а не (1280/2,720/2). Как в школе! Я вот формулы подзабыл, как сделать, но всё же:
От -128 до 128 по о. Х И от -72 до 72 по оси Y аналогично. В общем, движение по спирали будет из центра! Вот только надо будет ещё один поток добавлять для преобразований...
0
|
||||||
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 03.05.2013, 11:24 | |
|
SeryZone, это все понятно.
Проблема в другом: Битмап представляет собой одномерный массив строк пикселей. И при рисовании из центра придется прыгать из одной части этого массива в другую по некой формуле (а может и не одной), что неизбежно приведет к значительному замедлению построения картинки.
0
|
|
|
|
|
| 03.05.2013, 14:15 [ТС] | |
|
gorfil, Тогда также - из центра, но начиная с линии 720/2 идём в два потока - один вверх, друго вниз. Получается какбы появление картинки не по спирали, а чисто из центральной линии. Если BitMap - набор строк, то начнём с 720/2 - с 360-й строки и до границ.
0
|
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 03.05.2013, 19:36 | |
|
Так в моем коде, который я тут когда-то выкладывал, так и сделано.
0
|
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 04.05.2013, 00:06 | |
|
SeryZone, это называется FPU (с SSE ничего общего).
И Z там уже выведено в переменную ZZ.
0
|
|
|
|
|
| 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
|
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 04.05.2013, 00:30 | |
|
Так в чем проблема? Добавляешь 2 массива размером 1280х720 (одномерный или двухмерный): один для Z, другой - для Iter, и пишешь туда инфу вместо Битмапа или параллельно с ним.
0
|
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
||||||
| 04.05.2013, 11:06 | ||||||
|
Строится одинаково, что с Z, что без нее.
Только в 320 строчке ошибка, надо индексы указать у NumIter:
0
|
||||||
|
|
|
| 04.05.2013, 11:26 [ТС] | |
|
Реализовал рендеринг как и в FX'е: рендерю каждый зум - степень двойки, но! Сохраняю не BitMap (он ваще не нужен), а кол-во итераций на каждую точку в файл с программой. Надо: увеличить до определённого места, потом нажать "RENDER", дождаться вычислений.
В файл записывается сначала минимум и максимум итераций, а с новой строки сама дата точек Дальше гемморой с визуализатором: надо уметь интерполировать или хотя бы рисовать это без потери даты итераций. Процедура bmp.StretchDraw работает с цветом, а нам надо работать с числами. А потом уже раскрашивать! Есть какие-нибудь подсказки??? А число Z из вставки вытащить так и не удалось
0
|
|
|
|
|
| 04.05.2013, 11:48 [ТС] | |
|
Вот, с режимом Smooth Coloring вообще не получается! А взял твою ASM вставку...
0
|
|
| 04.05.2013, 11:48 | |
|
Написать код для создания фрактала Мандельброта и Кантора Построение фрактала
Построение трехмерного фрактала: как установить точки Построение фрактала «Треугольник Серпинского» с возможностью изменения числа образующих примитивов с помощью клавиш Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|