avva: (Default)
[personal profile] avva

По ссылке от vvagr, совершенно замечательная функция, которая рисует самое себя:

То есть график функции рисует ее формулу.

Меня это сначало совершенно поразило, потом я присмотрелся и разобрался, как оно работает. Нет никаких чудес, но я не согласен с mi_b, что это "пустышка, так обидно" - по-моему, все равно очень красиво. Да, это трюк на один раз, но этот один раз впечатляет и нравится.

И вот еще: по ссылке оттуда попал на этот список головоломок, математического в основном характера. Очень хорошие есть среди них! Мне особенно понравилась идея номера 12, я сел и решил ее (не тривиально, но и не очень сложно).

Date: 2007-01-24 09:23 pm (UTC)
From: [identity profile] eterevsky.livejournal.com
Действительно, если мы ищем запись функции не рядом с началом координат, а "где-то там", то достаточно взять любую функцию, которая будет перебирать всевозможные расстановки точек в прямоугольнике данного размера.

Date: 2007-01-24 09:55 pm (UTC)
From: [identity profile] avva.livejournal.com
Да, но тут все еще проще: функция не любая, а простым образом кодирующая картинку прямоугольника, бит за битом, в числе.
From: [identity profile] ygam.livejournal.com
Эта функция рисует не самоё себя; вся сложность заключена в n.

Date: 2007-01-24 11:35 pm (UTC)
From: [identity profile] avva.livejournal.com
Я знаю.

Date: 2007-01-25 12:03 am (UTC)
From: [identity profile] ygam.livejournal.com
s/Колмогоров/Воробей/g

Date: 2007-01-25 01:12 am (UTC)
From: [identity profile] ivan-gandhi.livejournal.com
f(x,y) = 1
Plot for 0 <= x < 1 and 0 <= y < 8.

Date: 2007-01-25 07:25 am (UTC)
From: [identity profile] avva.livejournal.com
Ага.

Date: 2007-01-25 08:46 am (UTC)
From: [identity profile] averros.livejournal.com
Оно вообще всё, что угодно, рисует.

Date: 2007-01-25 08:57 am (UTC)

Date: 2007-01-25 09:03 am (UTC)
From: [identity profile] avva.livejournal.com
Прямоугольник размером 105x17, состоящих из единиц и ноликов, "кодируется" как число k просто путем записывания его побитно, по 17-битным столбикам, начиная с самого правого столбика налево, и записывая биты числа k таким образом справа налево. Потом в качестве n, начальной границы значений для y, берем k*17. Теперь смотрим на формулу: для фиксированных целочисленных x и y мы видим, что происходит умножение k на определенную отрицательную степень двойки, и сравнение результата по mod 2. Умножение на отрицательную степень двойки - это сдвиг числа вправо на это количество битов, а сравнение по mod 2 - считывание самого правово бита. Для фиксированных x и y фунцкия таким образом просто считывает значение определенного бита в k. Какого бита? - смотрим в экспоненту и видим, что x определяет номер 17-битного столбика, а y mod 17 бежит от 0 до 16, пробегая по одному все биты этого столбика. Ну и наконец если вспомнить, что x и y вещественные, но везде употребляются внутри floor(), и поэтому значение функции зависит только от целочисленной части, то выходит, что это "бесплатно" дает нам толщину картинки размером в 1.

Date: 2007-01-25 09:15 am (UTC)
From: [identity profile] avva.livejournal.com
Это растянутый Малевич.

Date: 2007-01-25 09:18 am (UTC)
From: [identity profile] avva.livejournal.com
Охренительно большое число написано под формулой, в качестве нижней границы для переменной y, посмотрите внимательнее. Оно и содержит в себе всю информацию, которая таким образом спрятана не в самой формуле, а в ее (почти фиксированном, меняющимся только в пределах 17) аргументе.

Date: 2007-01-28 03:27 pm (UTC)
From: [identity profile] travalliero.livejournal.com
Н-да, мне сначала приятель рассказал про эту штуку, и я проникся. А посмотрев понял, что ничего интересного.

January 2026

S M T W T F S
    1 2 3
4 5 6 7 8 910
11 12 1314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 15th, 2026 04:19 pm
Powered by Dreamwidth Studios