?

Log in

No account? Create an account

Фракталы

«Если долго всматриваться в бездну — бездна начнёт всматриваться в тебя» © Ницше

Previous Entry Share Next Entry
Генератор фракталов на основе алгоритма perfect shuffle
xcontcom




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

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

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



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



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



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

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



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




























































Recent Posts from This Journal

  • Как сварить пиво в домашних условиях.

    Две недели занимался дикой фигней - варил пиво. Но пиво не простое, а... под кат Технология варки пива довольно незамысловатая. 1. Проращивается…

  • ((x*y) mod m) mod n

    Очень любопытные картинки получаются! Берем x, умножаем на y (соответствующие координаты пикселя на картинке). Получили число. Взяли остаток…

  • И еще немного о двоичной системе

    Немного с алиасингом поиграемся. Без предисловия. Под кат. В предыдущей записи разобрались с делением. А как у нас обстоят дела с умножением?…


  • 1
Действия 0-7:


Остальные 8-15 - те же действия, только копия массива инвертируется.

Интересно, что многие из фракталов, грамотно поданные, у тебя бы взяли, думаю, в лучшие галереи современного искусства.

Как применять Perfect Shuffle к одмерному массиву я понял. А вот как применить к двумерной матрице - непонятно.

В начале для одной оси, потом для другой. Разбиваем матрицу на столбцы. Перемешиваем столбцы, используя perfect shuffle. Потом разбиваем на строки, перемешиваем строки.


Давно хочу спросить - кто Вы такой и что делаете в моей ленте друзей?

>кто Вы такой
Программист

>и что делаете в моей ленте друзей?
Фракталы рисую :)

Действительно, настоящее искусство. В умелых руках математика прекрасна как музыка.

Странно... тут - фракталы, а в памяти какие-то опросники и смешные картинки в учебниках. Существует двойник или посты попрятаны?)

это хорошо) а то я уж подумала, что у меня галлюцинации)

Хотя я даже не пытаюсь понять чем моя личность могла заинтересовать математика.

Re: Ну, взаимно.

Я тоже)

  • 1