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

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

20.01.2013, 18:45. Показов 21711. Ответов 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,977
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,977
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,977
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,977
16.06.2013, 21:09
Цитата Сообщение от SeryZone Посмотреть сообщение
FIL, Ну так что... Попробуем реализовать?
Попробовал - ничего не получается. Значения Z в темной области не повторяются с точностью до последнего знака, как предполагается в данном алгоритме. Не понимаю, как это может работать.
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
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,977
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,977
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
Ответ Создать тему
Новые блоги и статьи
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru