Немного хаоса в этот блог 4

Apr 16, 2019 17:21





В статье мы визуализировали последовательности следующим образом. Для массива a[n] считали сумму a[x]+a[y] (x и y - координаты пикселя на экране). Далее получившуюся сумму делили на 4 и если остаток от деления равен 0 или 1 - закрашивали пиксель с координатами x и y (в белый цвет). Если остаток равен 2 или 3 - пиксель не закрашивали (оставляли черным).
Массив a[n] заполняется нехитрым способом:


Для f(n)=n*sqrt(k) получаем фрактальные паттерны. Их, собсно, в статье можно посмотреть.
Для f(n)=n*n*sqrt(k) паттерны получаются довольно хаотичными, без видимого какого-либо самоподобия. Например, для k=2:



Визуализация более наглядной получается, если вместо остатков от деления на 4 (суммы a[x]+a[y]), проверять эту сумму на кратность двум числам - 4 и 5 (то есть, если остаток от деления на 4 равен нулю или остаток от деления на 5 равен нулю - закрашиваем пиксель). Тот же паттерн (n*n*sqrt(2)) выглядит следующим образом:



В динамике (к сумме, перед взятием остатка, прибавляем целое число от 0 до 19):



Корень из двух - иррациональное число. Что у нас еще есть на числовой оси кроме иррациональных чисел? Рациональные числа, которые можно представить в виде дроби. С рациональными числами в паттернах меньше хаоса, но тем не менее, паттерны тоже вполне себе рисуются.

Ну, чисто для примера.
n*n*1. (рациональное число - нечетное).
f(n): 0, 1, 4, 9, 16, 25, ... (квадраты).
q(n): 0, 1, 0, 1, 0, 1, ... (четность).
a[n]: 0, 1, 0, 1, 0, 1, ... (если соответствующий q(n)=1 - делаем a[n]=a[n-1]+1, если q(n)=0 - делаем a[n]=a[n-1]-1).
Паттерн довольно скучен:



n*n*2. (рациональное число - четное).
f(n): 0, 2, 8, 18, 32, 50, ...
q(n): 0, 0, 0, 0, 0, 0, ... (при умножение на четное число, квадраты становятся четными).
a[n]: 0, -1, -2, -3, -4, -5, ... (a[n] ползет вниз).
Паттерн:


Гораздо интереснее в качестве рационального числа взять дробное.
n*n*1/2
f(n): 0, 0.5, 2, 4.5, 8, 12.5, ...
q(n): 0, 0, 0, 0, 0, 0, ... (дробную часть отбрасываем, проверяем четность целой части).
Паттерн такой же, как и выше.

Пока довольно скучно. Возьмем 1/16:



Ну и другие степени двойки. 1/32:



1/64:



1/128:



Случайные числа. 1/27:



1/59:



В числитель тоже можно чего-нить запихнуть.

87/97:



250/289:



277/175:



295/183:



171/341:



Две ссылки, чтобы поиграться прямо в браузере:
http://xcont.com/loom/q/ - для n*x/y
http://xcont.com/loom/q2/ - для (n^2)*x/y
x и y - координаты мышки.

Previous post Next post
Up