Список форумов Форум Форум
Форум
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   medals.phpНаграды   РегистрацияРегистрация 
 ПрофильПрофиль   СудокуСудоку   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Фрактальная благодать
На страницу Пред.  1, 2, 3, 4, 5, 6  След.
 
Начать новую тему   Ответить на тему    Список форумов Форум -> Религия
Предыдущая тема :: Следующая тема  
Автор Сообщение
Admin
Crackpot
цитировать



Репутация: +88/–9    

Зарегистрирован: 23.05.2006
Сообщения: 21652

Награды: Нет

СообщениеДобавлено: Ср Фев 20, 2019 1:48 pm    Заголовок сообщения: Ответить с цитатой

Кто-то меня обвинял в том, что это нихуя не фрактал. Были даже претензии на тему: "это у тебя вообще тут алиасинг"

Короч, берем наш фрактал, бинарную его форму:



Берем верхнюю строку пикселей. Там, фактически, находится вся информация о фрактале и по этой строке можно восстановить паттерн. Берем:



Тут очевидно, что каждый 2*n пиксель - это инвертированный 2*n+1 пиксель. Можно их смело выбросить. Первый пиксель тоже не нужен - он всегда одинаковый:



Получили двоичную последовательность (101001011010010110101101001011010010100... - для числе Фибоначчи). Эта последовательность показывает, с какой стороны прилетел луч... ну или чисто если математическую терминологию использовать - бильярдный шар. Сча по-другому сформулирую. Короч, есть у нас бильярд в прямоугольнике, со сторонами N*M. Скажем в этом прямоугольнике двигается и отражается (по законам оптики) шар, у которого есть некоторое внутреннее состояния. Состояние это меняется на 1, если шар отражается от правой стенки и на 0 - если шар отражается от левой стенки. Когда шар касается верхней стенки - фиксируем положение шара и его состояние. Получим эту последовательность.



Есть, как минимум, 4 способа получить эту же последовательность:
1. Вышеописанный math-бильярд в прямоугольнике.
2. Одномерный бильярд. Ваще злой способ. Для каждого i (= 0, 1, 2, 3, ...), если целая часть от (2*i*N)/M четная - берем остаток от деления (2*i*N)/M. Получившиеся остатки делим на 2. Эти самые числа показывают позиции где шар прилетел слева. Ноликами их заполняем. Оставшиеся позиции - шар прилетел справа и заполняем их единицами. размышляет о_О Вот там тупо остатки от деления и хуяк - фрактал.
3. Комбинаторный способ. Пока разобрался только, как эту последовательность строить для чисел Фибоначчи. Берем двоичную последовательность для чисел F(n) и F(n-1). Берем в этой последовательности последние (F(n-1))/2 бит (с учетом четности/нечетности F(n) захватываем последний бит или не захватываем). Переставляем биты в обратном порядке. Инвертируем биты. Дописываем к последовательности. Получили последовательность для чисел F(n+1) и F(n). Можно, фактически, с одного бита восстановить всю последовательность для достаточно больших чисел Фибоначчи.
4. Ну и тригонометрический способ. Это, бля, вообще аxуй. Те же деления по модулю и остатки, только в другой интерпретации. Есть окружность, с радиусом =1. Делим окружность на N*2 частей (рисуем точки на окружности). Далее, двигаясь по окружности, отмечаем каждую M*2*i точку (для i=1, 2, 3, ...). Если синус этой точки меньше нуля - отмечаем 1, если больше - отмечаем 0. Где отмечаем? На оси x, чисто координату через косинус. Единички и нолики будут чередоваться с той же последовательностью (101001011010010110101101001011010010100... - для числе Фибоначчи). Вот тут для примера N=89 и M=55 (внизу картинки выровнял эти точки через арккосинус):



Охуенность такого способа в том, что через тригонометрию можно попробовать получить двоичную последовательность для бильярда N х 2*Pi (иррациональное число, мать его еб) и через эту последовательность восстановить паттерн. Правда задача не совсем тривиальная. Для рациональных N и M получаем конечную двоичную последовательность. Если же N и M несоизмеримы - последовательность получается бесконечной. Сложность же состоит в том, что последовательность заполняется не по порядку, а хаотично. Но тут есть один очень любопытный момент. Есть еще пятый способ получить двоичную последовательность - конкретно для чисел Фибоначчи, существует способ заполнить эту последовательность по порядку.
Чисто случайно заметил, когда программировал одномерный бильярд. Мы там брали (2*i*N)/M, проверяли его на четность. Если четное - берем остаток от деления (2*i*N)/M. И вот тут у чисел Фибоначчи проявляется интересное свойство. Для этих чисел не надо брать остаток от деления. Бля. Берем (2*i*N)/M, если четное - записываем 0, если не четное - 1. Пример:
1*(2*55)/89=1.23595505618, целая часть - нечетная.
2*(2*55)/89=2.47191011236, целая часть - четная.
3*(2*55)/89=3.70786516854, целая часть - нечетная.
4*(2*55)/89=4.94382022472, целая часть - четная.
5*(2*55)/89=6.1797752809, целая часть - четная.
6*(2*55)/89=7.41573033708, целая часть - нечетная.
...
55/89 - примерно равно 1/Phi (Phi - золотое сечение). Чем больше числа Фибоначчи - тем точнее это равенство. Формулу (2*i*N)/M можно переписать как i*2/Phi. Отбрасываем остаток, проверяем четность целой части для каждого i. Получаем фрактальную двоичную последовательность... заполненную по порядку.

Сейчас покажу, как это выглядит геометрически, на бильярде в прямоугольнике со сторонами равными числам Фибоначчи. Для примера возьмем два числа 21 и 13. Зафиксируем, с какой стороны прилетел шар и номер отражения от верхней стенки (первое отражение, второе и т.д.):



А терь, черная магия наxуй! Расставим эти числа по порядку:



Такое свойство нашел пока только у чисел Фибоначчи.

Ну и возвращаясь к фрактальности этой самой двоичной последовательности. Опять же, для примера возьмем два достаточно больших числа Фибоначчи. F(29) и F(28). Заебошим двоичную последовательность (через остатки или через четность целой части - результат одинаковый):



Далее рисуем отрезок. Каждый следующий отрезок - поворот предыдущего отрезка на 60° - если бит в последовательности = 1 или на -60° - если бит = 0. (Этот способ называется Turtle graphics):



Пробежались по всей последовательности... Бле, и кто теперь скажет, что это не фрактал:



Если сильно заморочиться - можно и Хаусдорфову размерность тут насчитать (только я че-т дико туплю на эту тему).

Можно взять два других числа Фибоначчи, которые не стоят рядом. Например F(29)=514229 и F(26)=121393. Тоже построили последовательность. Далее через Turtle graphics, но уже с углами не 60°, а 90°:



Тоже нихуя не фрактал, ага

Ну и чисто скриптец, чтобы повертеть последовательности с помощью Turtle graphics http://xcont.com/turtle/



Полноценную, более подробную статеечку чуть попожже выкачу на хабру.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Admin
Crackpot
цитировать



Репутация: +88/–9    

Зарегистрирован: 23.05.2006
Сообщения: 21652

Награды: Нет

СообщениеДобавлено: Ср Фев 20, 2019 6:30 pm    Заголовок сообщения: Ответить с цитатой

Admin писал(а):
Такое свойство нашел пока только у чисел Фибоначчи.


А че там его искать-то.

Вот тут на графике все остальные числа, для которых это свойство работает, отмечены белыми точками:

Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Slav
Мастер-Флудер I
цитировать

Мастер-Флудер I


Репутация: +16    

Зарегистрирован: 06.06.2006
Сообщения: 8579
Откуда: КиевЪ
Награды: Нет

СообщениеДобавлено: Ср Фев 20, 2019 6:44 pm    Заголовок сообщения: Ответить с цитатой

Чем ты рисуешь все это?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Admin
Crackpot
цитировать



Репутация: +88/–9    

Зарегистрирован: 23.05.2006
Сообщения: 21652

Награды: Нет

СообщениеДобавлено: Ср Фев 20, 2019 8:42 pm    Заголовок сообщения: Ответить с цитатой

Slav писал(а):
Чем ты рисуешь все это?

Javascript-ом. Ну а там, где зеленые клетки - Paint-ом ХР-шным.

Admin писал(а):
55/89 - примерно равно 1/Phi (Phi - золотое сечение). Чем больше числа Фибоначчи - тем точнее это равенство. Формулу (2*i*N)/M можно переписать как i*2/Phi. Отбрасываем остаток, проверяем четность целой части для каждого i. Получаем фрактальную двоичную последовательность... заполненную по порядку.


Пользуясь свойствами числа Phi, формулу можно переписать, как i*2/Phi=i*sqrt(5)-i;

Проверяем:
Код:
   var array=[];
   for(var i=0;i<100;i++){
      array[i]=Math.floor(i*Math.sqrt(5)-i)%2;
   }
   console.log(array.join(''));


На выходе:

Код:
0101001011010010110101101001011010010100101101001011010110100101101001010010110100101101001010010110


Последовательность совпала.

Вместо корня из 5 можно использовать, скажем, корень из трех. Получаем последовательность:

Код:
0010010110100100101101001011011010010110100100101101001001011010010110110100101101001001011010010110...


Тоже эту последовательность туда в Turtle пихаем.

Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Admin
Crackpot
цитировать



Репутация: +88/–9    

Зарегистрирован: 23.05.2006
Сообщения: 21652

Награды: Нет

СообщениеДобавлено: Ср Фев 20, 2019 8:57 pm    Заголовок сообщения: Ответить с цитатой

Корень из двух. Углы 60 и 180:

Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Admin
Crackpot
цитировать



Репутация: +88/–9    

Зарегистрирован: 23.05.2006
Сообщения: 21652

Награды: Нет

СообщениеДобавлено: Ср Фев 20, 2019 9:19 pm    Заголовок сообщения: Ответить с цитатой

Admin писал(а):
i*sqrt(5)-i


А надо ли нам это i отнимать, чтобы последовательность была фрактальной? А не надо.

Берем тупо вот эту штучку: √2, умножаем ее на i.
Для каждого i=0, 1, 2, 3, ... берем целую часть от i*√2. Если целая часть нечетная - записываем 1, если четная - 0.
Получаем последовательность:

Код:
01001101100100110010011011001101100100110110011011001001100100110110010011001001101100110110010011001...


Если визуализировать эту последовательность с помощью Turtle graphics - видно, что последовательность фрактальная.

Углы 90 и -90



60 и -60

Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Admin
Crackpot
цитировать



Репутация: +88/–9    

Зарегистрирован: 23.05.2006
Сообщения: 21652

Награды: Нет

СообщениеДобавлено: Пт Фев 22, 2019 5:00 pm    Заголовок сообщения: Ответить с цитатой

Ух бля, чистый хаос:

Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Admin
Crackpot
цитировать



Репутация: +88/–9    

Зарегистрирован: 23.05.2006
Сообщения: 21652

Награды: Нет

СообщениеДобавлено: Пт Фев 22, 2019 5:04 pm    Заголовок сообщения: Ответить с цитатой

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

Вернуться к началу
Посмотреть профиль Отправить личное сообщение
123

цитировать


   






СообщениеДобавлено: Сб Фев 23, 2019 9:04 am    Заголовок сообщения: Ответить с цитатой

маргаритки получаются... а если штук 10 углов сделать? или 360 углов углов?
Вернуться к началу
Admin
Crackpot
цитировать



Репутация: +88/–9    

Зарегистрирован: 23.05.2006
Сообщения: 21652

Награды: Нет

СообщениеДобавлено: Сб Фев 23, 2019 3:16 pm    Заголовок сообщения: Ответить с цитатой

Их потом не подобрать, чтобы четкий паттерн получился.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
matroskin
Мастер-Флудер I
цитировать

Мастер-Флудер I


Предупреждение
Репутация: +10/–3    

Зарегистрирован: 05.11.2008
Сообщения: 2659
Откуда: Бандерштат
Награды: Нет

СообщениеДобавлено: Сб Фев 23, 2019 7:43 pm    Заголовок сообщения: Ответить с цитатой


_________________
Если молоком отдавать, зачем тогда корову покупать?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
123

цитировать


   






СообщениеДобавлено: Вс Фев 24, 2019 9:01 am    Заголовок сообщения: Ответить с цитатой

а если автоматически сделать, а потом через нейронку прогнать - там где что-то получается оставить? а потом найти общее - и проникнуть в тайну мироздания!
Вернуться к началу
123

цитировать


   






СообщениеДобавлено: Вс Фев 24, 2019 9:04 am    Заголовок сообщения: Ответить с цитатой

и кстати не хаос, вон там полосы, и слева кудряшки, если б был хаос - были бы просто пиксели черные и белые равномерно, хотя я не специалист
Вернуться к началу
Admin
Crackpot
цитировать



Репутация: +88/–9    

Зарегистрирован: 23.05.2006
Сообщения: 21652

Награды: Нет

СообщениеДобавлено: Пт Мар 08, 2019 12:06 am    Заголовок сообщения: Ответить с цитатой

Admin писал(а):
Полноценную, более подробную статеечку чуть попожже выкачу на хабру.


Выкатил статью на хабру: https://habr.com/post/441516/
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
.
ящер-гриль
цитировать

ящер-гриль


Репутация: +260/–45    

Зарегистрирован: 21.06.2006
Сообщения: 53389
Откуда: град обреченный
Награды: Нет

СообщениеДобавлено: Пт Мар 08, 2019 1:03 pm    Заголовок сообщения: Ответить с цитатой

Бля, я никогда эпилепсией не страдал, но последние картинки натурально выжигают глаза
_________________
has many Yanukoviches
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Имя
Сообщение

Смайлики
Дополнительные смайлики

 
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Форум -> Религия Часовой пояс: GMT
На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Страница 4 из 6

 
Перейти:  
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB