Фрактал Герасимова

30.03.2014 07:12 Ramjes#1
http://xcont.com/pngs/fibonacci/377x233.png

Я обнаружил этот фрактал, когда разглядывал интерференцию волн на поверхности речки. Волна движется к берегу, отражается и накладывается сама на себя. Есть ли порядок в тех узорах, которые создаются волнами? Попробуем найти его. Рассмотрим не всю волну, а только вектор ее движения. "Берега" сделаем гладкими, для простоты эксперимента.

Эксперимент можно провести на обычном листке в клеточку из школьной тетради.

Или используя JavaScript реализацию алгоритма



Английская версия: New kind of fractals - Fractals in relatively prime integers (coprime integers)

Возьмем прямоугольник со сторонами q и p. Отправить луч (вектор) из угла в угол. Луч двигается к одной из сторон прямоугольника, отражается и продолжает движение к следующей стороне. Это продолжается до тех пор, пока луч не попадет в один из оставшихся углов. Если размер стороны q и p - взаимно просты числа, то получается узор (как мы увидим позже - фрактал).

На картинке мы ясно видим, как работает этот алгоритм.

http://xcont.com/pngs/alg.jpg

Gif-анимация:

http://xcont.com/pngs/23x13.gif

http://xcont.com/pngs/gerasimov_carpet_23x13.png

Самое удивительное то, что с разными сторонами прямоугольника - получаем разные узоры.

http://xcont.com/pngs/gerasimov_carpet_23x14.png http://xcont.com/pngs/gerasimov_carpet_29x18.png http://xcont.com/pngs/gerasimov_carpet_27x17.png
http://xcont.com/pngs/gerasimov_carpet_27x19.png http://xcont.com/pngs/gerasimov_carpet_29x17.png http://xcont.com/pngs/gerasimov_carpet_31x20.png
http://xcont.com/pngs/gerasimov_carpet_31x18.png http://xcont.com/pngs/gerasimov_carpet_28x19.png http://xcont.com/pngs/gerasimov_carpet_22x19.png
http://xcont.com/pngs/gerasimov_carpet_27x25.png http://xcont.com/pngs/gerasimov_carpet_32x25.png http://xcont.com/pngs/gerasimov_carpet_38x27.png

Почему я называю эти узоры фракталами? Как известно, "фрактал" - это геометрическая фигура, обладающая свойствами самоподобия. Часть картинки повторяет всю картинку в целом. Если значительно увеличить размеры сторон Q и P - ясно, что эти узоры обладают свойствами самоподобия.

Попробуем увеличить. Увеличивать будем хитрым способом. Возьмем, например, узор 17x29. Следующие узоры будут: 29x(17+29=46), 46x(29+46=75) ...
Одна сторона: (n);
Вторая сторона: (n+1)=(n)+(n-1);
17, 29, 46, 75, 121, 196, 317, 513, 830, 1343
Как числа Фибоначчи, только с другими первым и вторым членом последовательности: F(0)=17, F(1)=29.

http://xcont.com/pngs/29x17.png

http://xcont.com/pngs/46x29.png

http://xcont.com/pngs/46x75.png

http://xcont.com/pngs/121x75.png

http://xcont.com/pngs/196x121.png

http://xcont.com/pngs/317x196.png

http://xcont.com/pngs/513x317_thumb.png

http://xcont.com/pngs/830x513_thumb.png

http://xcont.com/pngs/1343x830_thumb.png

Дальше фракталы циклически повторяются.

Если большая сторона четная, получается такой узор:

http://xcont.com/pngs/46x29.png

Если меньшая сторона четная:

http://xcont.com/pngs/46x75.png

Если обе стороны нечетные - получаем симметрически узор:

http://xcont.com/pngs/121x75.png

http://xcont.com/pngs/513x317_thumb.png

В зависимости от того, как начинается луч:
http://xcont.com/pngs/fibonacci/10.png
или
http://xcont.com/pngs/fibonacci/01.png

Попробую объяснить, что происходит в этих прямоугольниках.

Отделим от прямоугольника квадрат, и посмотрим, что происходит на границе.

http://xcont.com/pngs/optic2.png

Луч выходит в той-же точке, откуда зашел.

http://xcont.com/pngs/optic.png

При этом, количество квадратиков, которые проходит луч - всегда четное число.

Поэтому, если отрезать от прямоугольника квадрат - останется не измененная часть фрактала.

Если отделять от фрактала квадраты столько раз, сколько это возможно - можно добраться до "начала" фрактала.

http://xcont.com/pngs/seeds.png

Похоже на спираль Фибоначчи?

http://xcont.com/pngs/golden_spiral.png

Из чисел Фибоначчи тоже можно получить фракталы.

В математике числами Фибоначчи (ряд Фибоначчи, последовательность Фибоначчи) называют числа:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 ...
По определению, первые две цифры в последовательности Фибоначчи 0 и 1, а каждое последующее число равно сумме двух предыдущих.
F(n)=F(n-1)+F(n-2)
F(0)=0, F(1)=1

http://xcont.com/pngs/lim.png

Поехали:

http://xcont.com/pngs/fibonacci/thumbs/8x5.png http://xcont.com/pngs/fibonacci/thumbs/13x8.png http://xcont.com/pngs/fibonacci/thumbs/21x13.png http://xcont.com/pngs/fibonacci/thumbs/34x21.png http://xcont.com/pngs/fibonacci/thumbs/55x34.png http://xcont.com/pngs/fibonacci/thumbs/89x55.png
http://xcont.com/pngs/fibonacci/thumbs/144x89.png http://xcont.com/pngs/fibonacci/thumbs/233x144.png http://xcont.com/pngs/fibonacci/thumbs/377x233.png http://xcont.com/pngs/fibonacci/thumbs/610x377.png http://xcont.com/pngs/fibonacci/thumbs/987x610.png http://xcont.com/pngs/fibonacci/thumbs/1597x987.png

Как мы видим, чем ближе отношение сторон приближается к золотому сечению - тем больше детализация фрактала.

http://xcont.com/pngs/fibonacci/223x144_2.png

При этом фрактал повторяет часть фрактала, увеличенного на http://xcont.com/pattern/phi.png.

Вместо чисел Фибоначчи можно использовать иррациональные размеры сторон:

http://xcont.com/pngs/9.png

Получим тот-же фрактал.

Те-же фракталы можно получить в квадрате, если пускать луч под другим углом:

http://xcont.com/pngs/alpha.png

Что можно сказать в заключении?
Хаос - это тоже порядок. Со своими закономерностями. Порядок этот не изученный, но вполне поддающийся изучению. А все стремление науки - обнаружить эти закономерности. И в конечном итоге соединить детали головоломки, чтобы увидеть общую картину.
Давайте посмотрим на поверхность речки. Если бросить в нее камень - пойдут волны. Круги, вполне поддающиеся изучению. Скорость, период, длину волны - все это можно подсчитать. Но до тех пор, пока волна не дойдет до берега, не отразиться и не начнет накладываться на саму себя. Получим хаос (интерференцию), который уже трудно поддается изучению.
Что если двигаться от обратного? Упростить поведение волны на столько, на сколько это возможно. Упростить, найти закономерность и после этого попробовать описать уже полную картину происходящего.
Что можно упростить? Очевидно, что сделать отражающую поверхность прямой, без изгибов. Далее, вместо самой волны, использовать только вектор движения волны. В принципе, этого достаточно, чтобы построить простой алгоритм и смоделировать процесс на компьютере. И даже вполне достаточно, чтобы сделать "модель" поведения волны на обычном листке в клеточку.
Что имеем в результате? В результате видим, что в волновых процессах (та-же рябь на поверхности речки) имеем не хаос, а наложение фракталов (самоподобных структур) друг на друга.

Рассмотрим другой вид волн. Как известно, электромагнитная волна состоит из трех векторов - волновой вектор и вектора напряженности электрического и магнитного поля. Как видим, если "словить" такую волну в замкнутой области – там, где пересекаются эти вектора, получаем вполне четкие замкнутые структуры. Быть может, элементарные частици – это такие-же фракталы?

http://xcont.com/pngs/006.jpg

Все фрактальчики в прямоугольниках от 1 до 80:
http://xcont.com/pattern/1x80_0_thumb.png

Замкнутые области во фракталах:
http://xcont.com/pattern/1x80_thumb.png

Просто красивый фрактал:
http://xcont.com/pattern/1377189269846_thumb.png

Javascript реализация фрактала
Оригинал: Пару слов об Интерференции волн
Статья на хабре: Фрактал Герасимова
Источник