|
|
|
Построение фрактала Мандельброта20.01.2013, 18:45. Показов 21716. Ответов 220
Метки нет (Все метки)
Добавил поток для построения, но рано обрадовался: прога как зависала, так виснет и сейчас.
И как использовать все ядра процессора на все 100? Кто-нибудь знает?
0
|
|
| 20.01.2013, 18:45 | |
|
Ответы с готовыми решениями:
220
Построение фрактала Коха (основа - правильный треугольник)
Генерация фрактала Мандельброта. NASM + OpenGL |
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 08.05.2013, 20:25 | |
|
1
|
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 10.05.2013, 23:14 | |
|
Новый вариант делает до 220 зумов:
0
|
|
|
|
|
| 10.05.2013, 23:36 [ТС] | |
|
FIL, Как???? Кстати, я гораздо раньше с сохранением разобрался. Но я считаю, что эти методы сохранения никак не дадут нормального увеличения. Потому что надо преобразовывать каждую точку не BitMap, а Iteration даты. А это непросто - переписывать операцию StretchDraw для Iteration даты заново, весь геморрой с итерациями и т. д.
Я предлагаю, чтобы программа рендерила проекции Меркатора и сохраняла IterDat'у в файл. Потом я разберусь. В чём нужна помощь - надо реализовать формулу Z = Z2+coord+exp(C) Помогите, а? А то у меня какая-то хрень получается... Coord - это конечные координаты увеличения.
0
|
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 11.05.2013, 10:31 | |
|
Не понятно, что такое "конечные координаты увеличения" и откуда они берутся.
0
|
|
|
|
|
| 11.05.2013, 17:05 [ТС] | |
|
FIL, Допустим, увеличиваем до определённого места... Да короче, вот видео, там показано:
http://www.youtube.com/watch?v=C_TLRAkWO_k Там не в моей проге, но там увидишь, что с координатами
0
|
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 11.05.2013, 20:06 | |
|
Ну меняется система координат на видео. Ясности это совсем не добавляет.
0
|
|
|
|
|
| 11.05.2013, 21:29 [ТС] | |
|
Ну, как тут не понять? Вот, смотри, твоя прога не выдаёт координат центра Re и Im. А вообще, должна выводить. Координаты изображения и степень увеличения.
Тут нашёл модуль работы с комплексными числами. Только не компилит чёт... да и как в XE3 скомпилить модуль??? http://www.delphisources.ru/pa... _unit.html Мне важны функции ln и exp
0
|
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 11.05.2013, 22:04 | |
|
Моя прога не выдаёт координат центра, т.к. они не нужны для построения фрактала.
А с модулем все просто: Копируешь текст в файл cmplx.pas, сохраняешь в папку с прогой и подключаешь в uses. Либо просто копируешь нужные тебе функции в свой код.
0
|
|
|
|
|
| 30.05.2013, 11:34 [ТС] | |
|
FIL, Доброго времени суток... Помоги пожалуйста с одни маленьким условием.
If ZZ.re = Z.re and ZZ.im = Z.im then exit(-numIter). на ассемблере написать. Я не пойму как там условия делать ![]() Надеюсь ты понял, что ZZ - это текущее Z, а NumIter - это текущий цикл (итерация). Z.re и Z.im - это координата на плоскости. Помогите. И ещё. У меня множество строило буквально за 190-200 мс в среднем. А щас - 280-310. Что могло так замедлить?
0
|
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 30.05.2013, 13:15 | |
|
Это условие может выполняться только при первом проходе (когда NumIter = 1), при этом |Z| должет сразу получиться >= 128, что вообще нереально. Так в чем смысл всего этого?
0
|
|
|
|
||||||
| 30.05.2013, 14:00 [ТС] | ||||||
|
FIL, нет. Тут надо:
Если Z.re = C.re и Z.im = C.im (проверяем в цикле) - то выходим. Не надо проверять |Z|>=128. То уже ПОСЛЕ этой проверки. Добавлено через 5 минут Допустим прога:
0
|
||||||
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
||||||
| 30.05.2013, 14:29 | ||||||
|
Я тебе о том же и говорю. При первом проходе Z ВСЕГДА = С. Это видно из формул:
0
|
||||||
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 30.05.2013, 15:04 | |
|
Нет смысла в этом условии, т.к. на первой итерации оно всегда выполняется, а на последующих - никогда (либо вероятность этого ничтожно мала).
0
|
|
|
|
||||||
| 30.05.2013, 15:17 [ТС] | ||||||
|
FIL, значит что-то я напутал...
Тут есть пропуск чёрных мест:
0
|
||||||
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 30.05.2013, 23:11 | |
|
Тут идея следующая:
Берется первое значение Z и сравнивается с последующими. Если в течение некоторого количества циклов (ptot) ни одно из условий не выполняется, то берется текущее значение Z и сравнивается с последующими. Если обнаруживается равенство текущего Z с запомненным, значит имеется зацикленность, т.е. значения Z повторяются с определенной периодичностью, что говорит о попадании в темную область фрактала.
0
|
|
|
|
|
| 31.05.2013, 22:40 [ТС] | |
|
FIL, Ну так что... Попробуем реализовать?
Добавлено через 5 минут Сначала на обычном дельфийском синтаксисе. Поставим макс. итераций - 1,000,000 и посмотрим... На отом коде, что вначале был, что мог строить прогрессивно. Там только пару циклов добавить, а прогрессивное построение покажет результат. Если получится - перепишем на asm. Кстати, если не все процессоры поддерживают SSE3 и SSE4, то как тогда юзать прогу? Замедлений не будет?
0
|
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 31.05.2013, 23:33 | |
|
Попробуем, когда время свободное будет.
0
|
|
| 31.05.2013, 23: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) в массовой культуре принято понимать. . .
|