|
|
|
Построение фрактала Мандельброта20.01.2013, 18:45. Показов 21711. Ответов 220
Метки нет (Все метки)
Добавил поток для построения, но рано обрадовался: прога как зависала, так виснет и сейчас.
И как использовать все ядра процессора на все 100? Кто-нибудь знает?
0
|
|
| 20.01.2013, 18:45 | |
|
Ответы с готовыми решениями:
220
Построение фрактала Коха (основа - правильный треугольник)
Генерация фрактала Мандельброта. NASM + OpenGL |
|
|
|
| 01.06.2013, 19:42 [ТС] | |
|
FIL, Хорошо. Но тут такой вопрос: как сделать тут сглаживание? Тут и кода и потоков... Ничего не понимаю... Как сделать, чтобы вычисляло на каждую точку 3*3 = 9 точек, и находило среднее арифметическое тех итераций, а потом записывало значение в массив?
0
|
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 03.06.2013, 21:58 | |
|
Переполнение вызывает TempDat:IterData;. Многовато для локальной переменной.
0
|
|
|
|
|
| 03.06.2013, 22:06 [ТС] | |
|
FIL, можешь сказать, что и как поменять? Я просто долго бился над алгоритмом. Что нужно сделать? Вообще, идея была сделать вычисление 9 точек на одну точку, потом записывать среднее арифметическое итераций на те 9 точек, чтобы было сглаживание. Но... Лёгкий путь победил...
0
|
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
||
| 03.06.2013, 22:17 | ||
|
0
|
||
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 03.06.2013, 22:21 | |
|
Реализуй без потоков, для начала. Потоки потом добавишь.
0
|
|
|
|
|
| 03.06.2013, 22:53 [ТС] | |
|
FIL, Ок, ладно, спасибо, посмотрим))))
Добавлено через 25 минут FIL, Чёрт... Без потоков никак не получается... Там директива ifdef SINGLE_THREADED! Как её безболезненно убрать? Убираю - ни одну переменную процедуры не видит! Ещё какая-то фигня с отображением...
0
|
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
||
| 16.06.2013, 21:09 | ||
|
0
|
||
|
Модератор
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 зумов, что сводит практически на нет все его преимущества.
0
|
|
|
|
|
| 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).
0
|
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
||
| 02.07.2013, 18:14 | ||
|
Использование Single позволяет обрабатывать сразу 4 пикселя, что и дает такой выигрыш в скорости. Переделал под Double, но там с раскраской надо разбираться. Выкладываю оба варианта. На 256-битную версию я забил, т.к. она безперспективная. Там получается, что под каждую следующую битность (512 и т.д.) надо писать свой код, который становится все сложнее. И другие нюансы есть. Сейчас доделываю другой вариант на длинной арифметике (теоретически, с бесконечным зумом).
0
|
||
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
||
| 02.07.2013, 18:33 | ||
|
С шейдерами не работал, но подозреваю, что они позволят реализовать фрактал на "уровне" Single (может Double), а это и на FPU, и на SSE неплохо получается. Самое-то интересное дальше начинается .По твоей ссылке статья, похожая на копи/паст из другого места. Оригинал мне найти не удалось, как и исходники, на которые статья ссылается, поэтому про использование шейдеров я понял не много . Наткнулся лишь на ЕХЕ-шник, который (типа) строит фрактал при помощи шейдеров, но особого впечатления он на меня не произвел.То, что данный фрактал периодическая функция и это можно как-то использовать при его построении - не знаю, даже рассуждений в этом направлении в Инете не встречал. А все более или менее серьезные программы по фракталам, которые я видел, переходят на длинную арифметику. Видимо без этого не обойтись.
0
|
||
| 02.07.2013, 18:33 | |
|
Написать код для создания фрактала Мандельброта и Кантора Построение фрактала
Построение трехмерного фрактала: как установить точки Построение фрактала «Треугольник Серпинского» с возможностью изменения числа образующих примитивов с помощью клавиш Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
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) в массовой культуре принято понимать. . .
|