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

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

20.01.2013, 18:45. Показов 21889. Ответов 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
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
01.06.2013, 19:42  [ТС]
Студворк — интернет-сервис помощи студентам
FIL, Хорошо. Но тут такой вопрос: как сделать тут сглаживание? Тут и кода и потоков... Ничего не понимаю... Как сделать, чтобы вычисляло на каждую точку 3*3 = 9 точек, и находило среднее арифметическое тех итераций, а потом записывало значение в массив?
0
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
02.06.2013, 22:56  [ТС]
Со сглаживанием долго не парился - увеличил картинку в 3 раза - и всё))))
0
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
03.06.2013, 19:34  [ТС]
Простите меня за выражение, но что за херня тут происходит? То не прорисовывает, то стёк переполнен! объясните, пожалуйтса!
Вложения
Тип файла: rar The Mandelbrot Set.rar (2.92 Мб, 5 просмотров)
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,978
03.06.2013, 21:58
Переполнение вызывает TempDat:IterData;. Многовато для локальной переменной.
0
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
03.06.2013, 22:06  [ТС]
FIL, можешь сказать, что и как поменять? Я просто долго бился над алгоритмом. Что нужно сделать? Вообще, идея была сделать вычисление 9 точек на одну точку, потом записывать среднее арифметическое итераций на те 9 точек, чтобы было сглаживание. Но... Лёгкий путь победил...
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,978
03.06.2013, 22:17
Цитата Сообщение от SeryZone Посмотреть сообщение
можешь сказать, что и как поменять?
Не знаю. Могу посоветовать запостить отдельную тему, чтобы разобраться, как обойти ограничение по размеру массива.
0
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
03.06.2013, 22:19  [ТС]
FIL, Спасибо. Но... Я всё же предлагаю правильно реализовать алгоритм сглаживания - но как??? Тут же потоки, я их не обойду...
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,978
03.06.2013, 22:21
Реализуй без потоков, для начала. Потоки потом добавишь.
0
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
03.06.2013, 22:53  [ТС]
FIL, Ок, ладно, спасибо, посмотрим))))

Добавлено через 25 минут
FIL, Чёрт... Без потоков никак не получается... Там директива ifdef SINGLE_THREADED! Как её безболезненно убрать? Убираю - ни одну переменную процедуры не видит! Ещё какая-то фигня с отображением...
0
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
04.06.2013, 16:56  [ТС]
Вот, немного поправил "Разгадывание". Но, что с отображением? А со сглаживанием я так и не разобрался
Вложения
Тип файла: zip The Mandelbrot Set.zip (3.07 Мб, 6 просмотров)
0
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
04.06.2013, 17:09  [ТС]
Сейчас отображение чисто никакое, но если увеличить до 12 потоков, то будет просто кошмар...
0
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
09.06.2013, 18:33  [ТС]
Помогите, у меня какая-то лажа с потоком TMainThread! Цель - чтобы прога не висла во время вычислений. Я 2 дня глюков потратил, чтобы создать видео.
Вложения
Тип файла: zip The Mandelbrot Set.zip (3.07 Мб, 7 просмотров)
0
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
10.06.2013, 16:49  [ТС]
Помогите с потоками... Я не знаю, что делать...
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,978
16.06.2013, 21:09
Цитата Сообщение от SeryZone Посмотреть сообщение
FIL, Ну так что... Попробуем реализовать?
Попробовал - ничего не получается. Значения Z в темной области не повторяются с точностью до последнего знака, как предполагается в данном алгоритме. Не понимаю, как это может работать.
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,978
30.06.2013, 00:38
Наткнулся на пару интересных статеек по реализации Мандельброта на SSE:
http://www.codeproject.com/Art... h-SSE-SSE2
http://www.locklessinc.com/articles/mandelbrot/
Код, даже в "сыром" виде, работает в 7 раз быстрее, чем вариант на FPU.
Но проблема в том, что подобный подход позволяет сделать лишь до 14 зумов, что сводит практически на нет все его преимущества.
Вложения
Тип файла: rar Project1.rar (235.2 Кб, 15 просмотров)
0
 Аватар для SeryZone
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
02.07.2013, 13:12  [ТС]
FIL, Да, просто использует тип single наверное. Вот такая непродуманная конструкция...

Добавлено через 1 минуту
FIL, исходник можно? Кстати, как ты реализовывал длинную арифметику, ну, где программа позволяла увеличивать до 256 зумов?
0
4195 / 1841 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
02.07.2013, 13:43
Может лучше на шейдерах? Будет быстрее.

Добавлено через 2 минуты
http://democoder.ru/article/148

Добавлено через 16 минут
Мне кажется длинная арифметика не нужна. Это ведь фрактал - значит он повторяет сам себя. То есть выражаясь математическим языком это периодическая функция. Если найти период этой функции, то можно задавать параметры по модулю этого периода и увеличивать до бесконечности.
0
4195 / 1841 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
02.07.2013, 15:55
Ну и вот для коллекции на AVX (нужен Intel Core ix или AMD FX).
Вложения
Тип файла: 7z Mandelbrot.7z (12.1 Кб, 19 просмотров)
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,978
02.07.2013, 18:14
Цитата Сообщение от SeryZone Посмотреть сообщение
FIL, Да, просто использует тип single наверное. Вот такая непродуманная конструкция...
FIL, исходник можно? Кстати, как ты реализовывал длинную арифметику, ну, где программа позволяла увеличивать до 256 зумов?
SeryZone
Использование Single позволяет обрабатывать сразу 4 пикселя, что и дает такой выигрыш в скорости.
Переделал под Double, но там с раскраской надо разбираться.
Выкладываю оба варианта.

На 256-битную версию я забил, т.к. она безперспективная. Там получается, что под каждую следующую битность (512 и т.д.) надо писать свой код, который становится все сложнее. И другие нюансы есть.

Сейчас доделываю другой вариант на длинной арифметике (теоретически, с бесконечным зумом).
Вложения
Тип файла: rar v1.19_SSE_Single.rar (12.8 Кб, 11 просмотров)
Тип файла: rar v1.20_SSE_Double.rar (12.8 Кб, 12 просмотров)
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,978
02.07.2013, 18:33
Цитата Сообщение от murderer Посмотреть сообщение
Может лучше на шейдерах? Будет быстрее.

Мне кажется длинная арифметика не нужна. Это ведь фрактал - значит он повторяет сам себя. То есть выражаясь математическим языком это периодическая функция. Если найти период этой функции, то можно задавать параметры по модулю этого периода и увеличивать до бесконечности.
murderer
С шейдерами не работал, но подозреваю, что они позволят реализовать фрактал на "уровне" Single (может Double), а это и на FPU, и на SSE неплохо получается. Самое-то интересное дальше начинается .
По твоей ссылке статья, похожая на копи/паст из другого места. Оригинал мне найти не удалось, как и исходники, на которые статья ссылается, поэтому про использование шейдеров я понял не много . Наткнулся лишь на ЕХЕ-шник, который (типа) строит фрактал при помощи шейдеров, но особого впечатления он на меня не произвел.

То, что данный фрактал периодическая функция и это можно как-то использовать при его построении - не знаю, даже рассуждений в этом направлении в Инете не встречал. А все более или менее серьезные программы по фракталам, которые я видел, переходят на длинную арифметику. Видимо без этого не обойтись.
Вложения
Тип файла: zip fractal.zip (51.7 Кб, 11 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.07.2013, 18:33

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
200
Ответ Создать тему
Опции темы

Новые блоги и статьи
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru