Генератор фракталов на основе алгоритма perfect shuffle

Jun 12, 2017 16:46





Здесь: генератор фракталов (жмякаем F5 или кнопочку внизу, чтобы сгенерировать новый фрактал)

В двух словах:

Perfect Shuffle - это такой алгоритм "смешиваний" или тасований. Делим исходный массив пополам. Четные элементы размещаем в начале массива, нечетные - в конце. На картинке наглядно:



Интересно то, что для любой длины массива, после некоторого числа итераций, все элементы возвращаются в исходное состояние.



Еще интересней то, что невозможно предугадать, какое число перестановок понадобится, чтобы вернуть все элементы в исходной состояние. На графике ниже: X - длина массива, Y - количество итераций, белыми точками отмечены исходные состояния:



Про траекторию первого элемента: http://xcontcom.livejournal.com/14840.html

Вместо одномерного массива, можно использовать двумерную матрицу. Берем матрицу (на первой итерации 2х2), делаем 4 копии. С каждой копией производим некоторое действие (поворот, инверсия), дальше совмещаем 4 копии, используя алгоритм perfect shuffle. Получаем новую матрицу.



С учетом всех возможных действий, можно сгенерировать 65536 фракталов. Некоторые из них:

























































энтропия, хаос, perfect shuffle, permutations, fractal

Previous post Next post
Up