Знакомство с фракталами

Увлёкся фракталами наконец. Фракталы — удивительные структуры, главным свойством которых является самоподобие. Фракталы бывают разные, геометрические, алгебраические, стохастические.

Самыми, на мой взгляд, простыми для понимания являются геометрические фракталы. Получаются они при помощи изменения исходной фигуры по определённым правилам и применения этих правил к получившимся фигурам некоторое количество раз, которое по определению фрактала стремится к бесконечности, а на практике же для визуализации ограничивается. Геометрические фракталы наиболее наглядно демонстрируют самоподобие фракталов.

Чтобы было понятнее, вот здесь можно посмотреть на изображения геометрических фракталов: здесь и здесь

Алгебраические фракталы строятся при помощи применения определённых формул к числам, в основном комплексным.

В интернете море примеров изображений разных фракталов, достаточно в любом поисковике ввести «фрактал» и посмотреть по ссылкам.

Фракталы имеют широкое практическое применение, в частности при визуализации сложных природных случайных объектов: деревьёев, береговых линий и т.п.

Меня заинтересовали алгоритмы построения простейших геометрических фракталов.

Реализовал на Python с использованием PIL построение простейшего фрактала — треугольника Серпиньского. Получилось здорово, алгоритм универсален для любого исходного треугольника, можно раскрашивать треугольники одного поколения в один цвет или красить всё случайным образом. Чистых source lines of code — 43.

Вывод программы:

Sierpinsky triangle

git