Фракталы во сне и наяву-2

назад http://www.proza.ru/2016/03/17/1778

Есть еще один вид фракталов, и о нём не было сказано в предыдущей статье. А именно, это алгебраические фракталы, построение которых наиболее сложно для понимания.
Обычно алгоритм их построения основывается на многократном применении некоторой функции комплексной переменной (правила фрактала)
(а кто понятия этого не имеет, то для него я поясню: комплексное число – это просто пара 2-х обыкновенных чисел, для которой заданы операции над нею в целом (чтоб из неё другую пару чисел получить)
 к некоторому начальному её значенью (которое выбирается произвольно) В итоге многократного применения правила фрактала получим мы множество на плоскости точек

Но для простоты возьмём мы функцию от действительного числа, и её применим многократно к некоторому начальному значенью.
(но при выборе функции этой нам надо бы быть на стрёме! Ведь нам не надо в данном случае совсем, чтобы значения функции быстренько уходили бы от нас на бесконечность.
Поэтом предпочтительны функции такие: синус, косинус (а именно потому, что значения их не могут выходит за пределы известного диапозона)
И, кстати, именно на функциях таких и строятся генераторы случайных чисел. Которые в чём-то родственны с генераторами фракталов. Но в чём конкретно – пока я не могу понять.
По-видимому, в их многократном примененьи.)
В итоге
(интерепретируя значение текущее последовательности числовой как координату соответствующей точки)
мы получим множество (россыпь) точек на прямой, а значит, и прообраз будущего 1-мерного фрактала.

Но, чтоб реальный получить фрактал, вот эти следующие действия сделать мы должны
(и эта моя трактовка отличается от тех, которые в интернете бродят. А именно, большей ясностью её. А также и отсутствием совершенно лишних (а потому надуманных) деталей алгоритма):
1)область отображения фрактала (пусть она прямоугольной будет) поделим мы на равные ячейки, задав количество строк а также и  колонок в ней (совсем как на мониторе изображение на пискелы делят);
2)теперь мы посчитаем количество нашего множества точек, в каждую ячейку изображения попавших;

3)и чем больше это количество
(но по отношенью к суммарному количеству точек, то есть плотность точек, на этой вот ячейке),
тем в более темный цвет её, ячейку, мы закрасим
(Но это - пользуясь черно-белой тут шкалой цветов.
А также можно пользоваться и многоцветной тут шкалой, но тогда для каждого диапозона плотности заполнения ячейки точками последовательности нашей нужно, по произволу собственному, установить цвета отображенья ячейки данной.
Тогда как для черно-белой тут шкалы цвета естественно определяются, без решенья человека.)

Что в итоге? Та область единственной нашей оси координат. которая исключительно в самый чёрный цвет окрашена будет - это и есть та штука, которую аттрактором называют.
(но не данного фрактала, а всё-таки той многократно применяемой функции, которую для построения текущего состяния используют тут, а именно правила фрактала)
(Конечно же, аттракторы (как и фракталы, впрочем) выглядят наиболее эффектно те, которые 2х-мерные и 3х-мерные фракталы порождают. Но мы для упрощения пониманья выбрали именно 1-мерный.)

А поэтому аттрактор - это некое (стохастическое) подобие предела, но функции обязательно рекурсивной.
(которая, даже будучи функцией от аргумента одного, дает не 0-мерный, а тоже 1-мерный тут предел (-атррактор))
А также тут становится нам понятно, что аттрактор - это не фрактал, и даже не текущее его состоянье, а лишь подмножество его, требованиям определённым которое удовлетворяет.

4)если на текущем шаге итераций последовательности точка уходит за пределы нашего экрана, то мы, понятно, её и не отображаем
(но в будущем это вовсе нас  не освобождает от идеи её отображенья на экране, а именно путём увеличения его размера. И это соответствует (см. часть 1-ую статьи) оптическому «приближению» объекта)

И вот на этом шаге завершается отображенье … нет, не всего фрактала. А только лишь текущего состояния его. И как теперь нам получить следующие состояния фрактала? (то есть более подробные его изображенья) А очень просто: увеличив разрешенье отображенья (а значит, увеличив в нём количество строк, да и колонок тоже)
Вот тогда (см. 1-ую часть статьи) мы то текущее состоянеие фрактала и «наведём на резкость».

Есть и другой способ (-степень свободы) детализации алгебраического фрактала, увеличение количества применений правила фрактала.
Но это, видимо, уже другая тема. А именно, тема определения аттрактора для правила фрактала.
(и кстати, аттрактор синуса и косинуса, по-видимому - это равноплотно заполненный интервал от -1 до +1. И именно на этом основано применение этих функций для генераторов случайных чисел.
Ну а для функций остальных - вкупе с функцией целая часть числа
(которая тоже ограничивает значений функции диапозон, что для генератора СЧ как раз и нужно.
Кстати, на эту же роль также и обратные тригонометрические функции, конечно же, годятся.)

Но, вместе с увеличением количества реализаций правила фрактала увеличивается и количество точек в текущем состоянии фрактала
(а именно, с каждой реализацией правила на одну точку)
А поэтому и надо постепенно разрешенье (дискретного) отображения фрактала увеличивать тут.
А именно примерно так: количество точек текущего состоянья увеличилось в 2 раза? Тогда увеличиваем мы разрешенье отображенья тоже в 2 раза (для 1-мерного фрактала), в корень квадратный из 2 (для 2х-мерного фрактала), в корень кубический из 2 (для 3х-мерного фрактала)

Но как нам тут проверить, получился ли и тут у нас фрактал? И в 1-ую очередь, есть ли в нём самоподобие? По-видимому, есть, ведь мы же для построения изображения текущего состояния его циклическую функцию также применяли.

Знатоки тут могут мне назвать и еще один тип фрактала: стохастический фрактал. Который получается случайной генерацией значеий некоторых констант в функции-правиле фрактала. Но удивительно ли это? А тем более, если учесть подмеченное мной выше в некоторой степени сходство генераторов фракталов с генераторами случайных чисел?


Рецензии