Главная Юзердоски Каталог Трекер NSFW Настройки

Математика

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 24 2 8
Двач, что скажешь? Черным выделена формула зависимости Аноним 04/12/20 Птн 02:50:31 76790 1
math.png 3373Кб, 2048x2300
2048x2300
Двач, что скажешь?

Черным выделена формула зависимости шестнадцатеричного индекса цвета пикселя от порядкового номера x и y от центра изображения. Полуается геометрическая сетка из пузырей.

Анимации на js
Для исходного изображения n принято за единицу

(function(){ var R = 256; var D=2R;
var pow = Math.pow; var floor=Math.floor;
var ceil_log16 = function(col) { return col.toString(16).length; }
rgb = function(x, y){ return floor( (x
xn+yyn)pow(16, ( 6-ceil_log16(xxn+yyn)) ) ); }
document.body.innerHTML=('<canvas id="C" width="'+D+'" height="'+D+'"></canvas>');
var canvas = document.getElementById('C');
var ctx = canvas.getContext('2d');
window.n=0; var si = setInterval(function () {
window.n += 1;
for(var x = 0;x<R;x++) {
for(var y = 0;y<R;y++) {
ctx.fillStyle='#'+rgb(x, y, n).toString(16);
var X1 = R-x-1;
var Y1 = R-y-1;
var X2 = R+x;
var Y2 = R+y;
if ( ( xx+yy ) < R*R ) {
ctx.fillRect(X1, Y1, 1, 1);
ctx.fillRect(X1, Y2, 1, 1);
ctx.fillRect(X2, Y1, 1, 1);
ctx.fillRect(X2, Y2, 1, 1);
} } } }, 100);
})();

Код можно выполнить прямо в консоли браузера
Аноним 04/12/20 Птн 03:03:47 76792 2
>return floor( (xxn+yyn)pow(16, ( 6-ceil_log16(xxn+yyn)) ) );
Тут съело 5 знаков умножения
Правильно будет return floor( (x умножить x умножить n + y умножить у умножить n) умножить pow(16, ( 6- ceil_log16(x умножить x умножить n + y умножить у умножить n)) ) );
Аноним 04/12/20 Птн 10:51:58 76800 3
>>76790 (OP)
ДИХЛОФОС СЮДА БЫСТРО СКОРЕЕ !!!
ТАРАКАНЫ НАБЕГАЮТТ

04/12/20 Птн 10:56:45 76801 4
Аноним 04/12/20 Птн 13:03:50 76806 5
>>76801
Тут я хочу больше обсудить математическую формулу.
Аноним 04/12/20 Птн 14:10:40 76810 6
>>76806
Очевидно что 16 в 6 степени минус логарифм по основанию 16 сумм квадратов двух чисел дают некий магический эффект
Аноним 04/12/20 Птн 14:14:30 76811 7
>>76790 (OP)
Если бы формула была честной и точка $(x,y)$ красилась бы в этот цвет то была бы полная вращательная симметрия. Вращательной симметрии не наблюдается потому что ты красишь именно пиксели, а не точки. Пузыри возникают как раз из-за этого эффекта "пиксели vs точки", потому что на окружностях $x^2+y^2 = C$ лежат разное количество целых точек в зависимости от $C$. Нечто похожее будет если покрасить на единичной сфере все рац точки с знаменателями $> C$ например, тоже будут пузыри. Картинка красивая, но с точки зрения математики не сильно интересная.
Аноним 04/12/20 Птн 15:15:37 76815 8
>>76811
пипец. Кем ты работаешь?
Аноним 04/12/20 Птн 15:28:11 76816 9
>>76815
Я аспирант математик.
Аноним 04/12/20 Птн 16:25:46 76817 10
>>76810
Это аналогично дописыванию нулей справа до 6 стимволов в 16-ричной записи числа, или обрезанию символов после шестого. Таким образов соседние пикселы могут как резко отличаться по значению RGB, так и быть ближе к равным. Из-за этого получается пузырьковая сетка.
Аноним 04/12/20 Птн 16:48:36 76818 11
>>76811
Мне давно интересен этот глиф. Но когда смог его записать в виде формулы, стало уже не так интерсно.
Аноним 04/12/20 Птн 16:56:34 76819 12
puziri.png 2157Кб, 2880x1132
2880x1132
>>76818
>>76817
Да это формула и логарифмы не при чём вообще, опять же, вбей $100(x^2+y^2)$ вместо своей, будут те же самые пузыри. Любая функция зависящая только от $x^2+y^2$ даст то же самое. Ну потому что дело не в формуле а в том как распределены целые точки на окружностях $x^2+y^2=C$, а это не меняется от того какую именно $f(x^2+y^2)$ ты выберешь (от $f$ зависит только "радиальное" распределение цветов).
Аноним 04/12/20 Птн 18:55:58 76828 13
Аноним 04/12/20 Птн 19:06:03 76829 14
>>76819
Без формулы пузыри не вложенны друг в друга, и фрактал не получается, а так да, умножение дает сдвиг в RGB координатах
Аноним 04/12/20 Птн 19:42:17 76830 15
(function(){ var R = 256; var D=2R+1;
var pow = Math.pow; var floor=Math.floor;
var ceil_log16 = function(col) { return col.toString(16).length; }
rgb = function(x, y){ return floor( (x
xn+yyn)100 ); }
document.body.innerHTML=('<canvas id="C" width="'+D+'" height="'+D+'"></canvas>');
var canvas = document.getElementById('C');
var ctx = canvas.getContext('2d');
window.n=0; var si = setInterval(function () {
window.n += 1;
for(var x = 0;x<=R;x++) {
for(var y = 0;y<=R;y++) {
ctx.fillStyle='#'+rgb(x, y, n).toString(16);
if (x===0&&y===0) ctx.fillStyle="#000000";
var X1 = R-x;
var Y1 = R-y;
var X2 = R+x;
var Y2 = R+y;
if ( ( xx+yy ) < R*R ) {
ctx.fillRect(X1, Y1, 1, 1);
ctx.fillRect(X1, Y2, 1, 1);
ctx.fillRect(X2, Y1, 1, 1);
ctx.fillRect(X2, Y2, 1, 1);
} } } }, 100);
})();

>лучше так, чтобы фрактал не был деформированным
Аноним 04/12/20 Птн 19:46:34 76831 16
>>76830
(function(){ var R = 256; var D=2R+1;
var pow = Math.pow; var floor=Math.floor;
var ceil_log16 = function(col) { return col.toString(16).length; }
rgb = function(x, y){ return floor( (x
xn+yyn)pow(16, ( 6-ceil_log16(xxn+yyn)) ) ); }
document.body.innerHTML=('<canvas id="C" width="'+D+'" height="'+D+'"></canvas>');
var canvas = document.getElementById('C');
var ctx = canvas.getContext('2d');
window.n=0; var si = setInterval(function () {
window.n += 1;
for(var x = 0;x<=R;x++) {
for(var y = 0;y<=R;y++) {
ctx.fillStyle='#'+rgb(x, y, n).toString(16);
if (x===0&&y===0) ctx.fillStyle="#000000";
var X1 = R-x;
var Y1 = R-y;
var X2 = R+x;
var Y2 = R+y;
if ( ( xx+yy ) < R*R ) {
ctx.fillRect(X1, Y1, 1, 1);
ctx.fillRect(X1, Y2, 1, 1);
ctx.fillRect(X2, Y1, 1, 1);
ctx.fillRect(X2, Y2, 1, 1);
} } } }, 100);
})();

>Поправка
Аноним 05/12/20 Суб 03:48:15 76838 17
Аноним 05/12/20 Суб 04:45:02 76840 18
>>76828
Если смотреть на него более 8000 секунд, то анимация замедляется и можно разглядеть бесконечно красивые узоры в малых кругах, и они совершенно разные, переходящие друг-в друга.

Это же доступно и для js кода при больших значениях n - мы таким способом масштабируем бесконечный фрактал.
Аноним 05/12/20 Суб 13:12:22 76852 19
>>76811
по этой теории, если мы перемещаем окно с изображением по экрану, то узоры должны меняться
Аноним 05/12/20 Суб 14:07:21 76856 20
>>76840
а можешь сделать чтобы круг перемещался вправо по экрану и отрубить остальную анимацию?
Аноним 05/12/20 Суб 14:37:16 76860 21
>>76838
какое же мерзное отвратительное тараканье говно
Аноним 05/12/20 Суб 16:13:52 76862 22
>>76852
Не понимаю о чём ты
Аноним 15/12/20 Втр 12:39:48 77594 23
>>76790 (OP)
>Двач, что скажешь?
Ну красиво, что сказать, но не математика.
Аноним 01/06/21 Втр 17:58:51 84037 24
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов