
Как мы строили фрактал
„Фракталы выражаются не в первичных геометрических формах, а в алгоритмах, в наборах математических процедур"
Из статьи Хартмуса Юргенса, Хайнца-Отто Пайтгена, Дитмара З аупе "Язык фракталов" (1990)
Математическое обоснование и алгоритм построения
-
Перед тем как начать строить фрактал, мы предположили, что столкнёмся с проблемой больших чисел. Действительно, он-лайн расчёт биномиальных коэффициентов показал, что уже на 50-ой строке появляются 13-ти значные числа.
-
Мы стали рассуждать так: а зачем нам сами числа? Чтобы построить фрактал, нам нужно знать только место (ячейку), на котором стоит число, кратное 4-м, а не само число.
-
Тогда мы воспользовались определением кратности (6 класс!): число а кратно числу n, если остаток от деления а на n равен 0. Это можно выразить так: a=q*n+r, где q - целая часть от деления а на n, а r - остаток от этого деления, и r=0, если а кратно n.
-
Следуя этому определению, мы решили в каждую ячейку записывать не само число, а его остаток от деления на 4, то есть значения r.
-
При построении мы использовали тот вид треугольника, который рассматривал сам Блез Паскаль - не равнобедренный, а прямоугольный. Тогда каждую ячейку мы заполняли числом, которое получалось, как и у Паскаля, сложением двух соседних ячеек: верхней и левой.
-
Пусть в этих ячейках стоят числа а и b:
-
a=q1*4+r1
-
b=q2*4+r2
-
a+b=(q1+q2)*4+(r1+r2).
-
Если сумма кратна 4-м, то остаток должен быть равен 0. Поэтому именно сумма r1+r2 давала нам ответ на вопрос: кратно число 4-м или нет.
-
Если r1+r2<4, то r1+r2 - остаток от деления a+b на 4.
-
Если r1+r2>3, то r1+r2 включает в себя 1*4, которое относится к целой части, и остатком от деления a+b на 4 будет число r1+r2-4
-
Наш вывод: чтобы найти ячейки с числами кратными 4-м, надо записывать или r1+r2, или r1+r2-4 и выделять ячейки, в которых записывается 0.
-
Основные этапы построения
Результат

Закономерности, которые мы обнаружили
То, что мы получили, очень похоже на фрактал "треугольник Серпинского", но есть и отличия:
-
На каждом уровне выделяется треугольный контур - большой прямоугольный треугольник (желтый, красный, зеленый); если его повернуть на 45 градусов по часовой стрелке, получится обычное расположение треугольника Паскаля.
-
Этот прямоугольный треугольник состоит из 4-х частей, которые можно получить, если провести три средние линии. Как и в треугольнике Серпинского, если не рассматривать центральную часть, то останутся 3 равных треугольных фрагмента.
-
Если в треугольнике Серпинского центральная часть удаляется полностью, то в нашем фрактале в центральной части тоже проводятся средние линии и из 4-х частей удаляются только 3. Структура нашего фрактала сложнее структуры треугольника Серпинского :)
Свойства, которыми обладает наш фрактал
-
Самоподобие: любой фрагмент какого-нибудь уровня фрактала похож на его подобный фрагмент следующего (или предыдущего!) уровня. Это не значит, что уровни состоят из одних и тех же элементов - но у них одинаковая структура.
Например, каждый красный треугольник 4-го уровня подобен зеленому треугольнику 3-го уровня или желтому треугольнику 5-го уровня. Участок фрактала, обведенный красным контуром, подобен участку, обведенному желтым или зеленым контурами.
-
Алгоритмичность: наш фрактал построен с помощью простого рекурсивного алгоритма, где каждая ячейка зависит от двух предыдущих.
Хотя построение закончено из-за размеров листа, можно предположить, какие элементы и какого размера будут входить в новые уровни. Если сначала вырезались (закрашивались синим цветом) 3 точки - прямоугольные равнобедренные треугольники с катетами 1, на следующем уровне они превратились в треугольники с катетами 3, потом - с катетами 7, 15 , 31 и 63; значит, потом появятся треугольники с катетами 2^n-1 (127, 255 и т.д)
-
Многомерность: если уменьшать масштаб изображения фрактала, его фрагменты все равно будут хорошо видны
-
Неравномерность: переход от уровня к уровню не означает простое изменение размеров; на более высоких уровнях появляются новые элементы. Особенно хорошо это заметно на треугольниках, расположенных на диагонали - биссектрисе прямого угла.
-
Повторение: в структуре фрактала постоянно повторяются одни и те же фрагменты, которые всюду встречаются, но всякий раз по-новому, с "новыми подробностями".
-
Бесконечность: треугольник Паскаля можно продолжать до бесконечности, и до бесконечности будут возникать фрагменты фрактала - треугольники, которые соответствуют группам натуральных чисел, кратных 4.





Наш алгоритм построения фрактала
-
Записать в первой строке и первом столбце единицы: это и сами числа в треугольнике Паскаля, и их остатки от деления на 4.
-
В каждой ячейке, начиная со второй в каждом ряду или в каждом столбце, записывать сумму левой и верхней ячеек, при этом используя правило:
-
если сумма меньше 4, то пишем её без изменений;
-
если сумма больше 3, то уменьшаем её на 4.
-
-
Выделить цветом ячейки, в которых стоит 0.