Закономерность хаоса / Реактор познавательный :: video

video Реактор познавательный 

Закономерность хаоса

Кто-нибудь сможет объяснить, почему так происходит? Это несовершенство генератора псевдослучайных чисел? Или что?


Подробнее
Закономерность хаоса,Education,,
video,Реактор познавательный
Еще на тему
Развернуть

Отличный комментарий!

> Это несовершенство генератора псевдослучайных чисел?

Это математика.

https://en.wikipedia.org/wiki/Chaos_game

int16 int16 29.10.201923:57 ссылка
+32.2
пикабу...
dr9vik dr9vik 29.10.201923:55 ответить ссылка 15.5
То, что Пикабу-то понятно, а вот что за слово "Недо,,ёб"? Это ведь не просто "Недоёб", за запятыми скрыты какие-то буквы! И почему именно запятые?
Недостеб
int16 int16 30.10.201905:11 ответить ссылка 2.5
Недонаёб.
Там писать хуй да маленько, можешь сам попробовать
ktulhu74 ktulhu74 29.10.201923:56 ответить ссылка 13.1
Делал такую же херню по приколу, могу скинуть
> Это несовершенство генератора псевдослучайных чисел?

Это математика.

https://en.wikipedia.org/wiki/Chaos_game

int16 int16 29.10.201923:57 ответить ссылка 32.2
Если кому интересно, я пилил GUI для рисования фракталов.
Поиграться можно прямо в браузере: https://dmitry221060.github.io/
Тоже удвился. Чувак написал правила, по которому должен нарисоваться фрактал, а потом удивился что он рарисовался.
Я думал это игра в пенис серпинского
https://xkcd.ru/95/

MsKaa MsKaa 31.10.201900:43 ответить ссылка 0.7
"Бесконечная шутка" Уоллесса по такой же фигуре писалась.
так к чему тут генератор случайных чисел и треугольник малевича?
если в задаче есть определенное условие в полпути, которое уже накладывает некоторые ограничения, по этой логике в в точки абс мы никогда не попадём...
и как бы вам не казалось что кубик это случайность, но кубик нихера не случайность, а так как он кидал это просто забей
dr9vik dr9vik 29.10.201923:59 ответить ссылка 5.6
удваиваю. то же самое можно получить используя множество НЕслучайных чисел.
Не всякое множество неслучайных чисел. Важно чтобы последовательность не внесла некой регулярности, связанной с природой самой последовательности.
Соглашусь, но точку в пустые области загнать не получится с любыми числами.
>малевича
серпинского же
а если начинать с центра?
QQLgr QQLgr 29.10.201923:59 ответить ссылка -2.2
с 4,40 смотри
serjik serjik 30.10.201900:30 ответить ссылка 1.8
Весь прикол в алгоритме, половина к углу.
хуйня какая-то. вначале он задает вполне конкретное условие - "ставим точку на ПОЛОВИНЕ отрезка...", а потом удивляется что это собирается в узор.
Ему бы еще параллельные линии нарисовать с заданным шагом, а потом с таким же шагом но под 90 градусов - и охуевать , что клеточки в итоге получились!
И каким образом из этого условия следует что получится вот такой вот фрактал, а не случайный набор точек?
Составь уравнение.
pumki pumki 30.10.201901:41 ответить ссылка 2.1
получился случайный набор точек
напоминает он фрактал потому что вероятность ограничена дискретным условием
Это потому что только на первый взгляд кажется, что точки могут быть в любом месте. Если разобраться, то всё становится понятно.
не, не так: ставим точку, кидаем четырёхгранный кубик и рисуем линию длиной 0.5 см в одном из направлений. повторять пока не надоест.
>четырёхгранный кубик
Ты так только запутаешь. По научному он называется треугольным кубиком.
По-научному он называется тетраэдр.
Это не по-научному, это по-занудски.
по-научному - дайс
Не было там условия на половину отрезка.
Просто первая точка нарисовалась примерно там. На илюстрации на 1.09 видно, что она даже на одной прямой с точками A и C не лежит. На 2.50 для другого начального условия процесс изображен. И на 4.48 для точки в окрестности центра треугольника, которая явно не принадлежит получающемуся узору. Результат всегда один.
Eltaurus Eltaurus 30.10.201916:13 ответить ссылка -0.2
как это не было? Он на 0:24 так и говорит: "ставим точку на ПОЛ пути" - это и есть "половина отрезка от точки в которой мы сейчас стоим, до той точки в сторону которой мы идем.
*"приближаться на пол пути..."
А, так ты не про начальные условия то есть.
Ну так интерес состоит в том, что откуда бы мы ни начали, мы получаем один и тот же узор. И именно узор, а не равномерную размазню, как следовало бы ожидать от системы, в которой направление движения выбирается случайным образом.
как я понял, там фишка в том, что рандомность то сохраняется, но будучи ограниченная неким условием, она принимает форму этого условия.

Это как если берем горсть песка (более рандомную массу сложно представить) и утрамбовываем ее в формочку, к примеру, в виде звездочки - в итоге, получаем все ту же рандомно перемешанную массу песка, но уже с внешними формами этой звездочки
Гугли Треугольник Серпинского + странный аттрактор
zeus1898 zeus1898 30.10.201900:09 ответить ссылка 1.1
Да тут все очень просто. Представьте треугольник, поделенный на 4 одинаковых средними линиями. Все точки в центральном треугольнике не могут появится в описанном процессе вообще, потому что они не лежат на пол пути от любой точки треугольника к любой вершине. Потому что от любой точки во всем треугольнике, если взять точку на пол пути к вершине, то она попадет в маленький треугольник у этой вершины.

Вот мы исключили один треугольник.

Продолжая эти рассуждения, можно поделить на 4 более мелких треугольника каждый из трех оставшихся. Там точно так же никогда не будет точки в центральном, потому что второй конец отрезка, серединой которого есть точка в этом треугольнике будет точка в уже ранее исключенном треугольнике.
wataru wataru 30.10.201900:19 ответить ссылка 14.8
Ты так говоришь, как будто простое не может быть охуенным.
ПОТО/VWUTO ЭТО ПРОСТО OXVgHHO.
Dr.KoT Dr.KoT 30.10.201900:30 ответить ссылка 2.6
Возьми число 2. умножай его на 2 сколько угодно раз. получишь чётное число. просто, но удивительно ли или охуенно?
А я вроде как и не утверждал, что ВСЁ простое автоматом является охуенным. А про "удивительно" так вообще ни слова не сказал.
Dr.KoT Dr.KoT 30.10.201902:25 ответить ссылка 1.1
У моего брата так буфер переполнился.
ты главного так не сказал.
Можно даже не на два умножать. И даже на простые!
Psilon Psilon 30.10.201921:51 ответить ссылка 0.9
Это как с приколом про "возьмите любое число от 1 до 10. умножте его на 9, если получилось двузначное число, сложите цифры числа вместе. вычтите 9. у вас получилось 0"
В конце ролика за мужиком должны были придти и удалить его из матрице. Он слишком близко подобрался к ответу...
Nameless Nameless 30.10.201900:32 ответить ссылка -0.7
Я конечно не математик, но вполне закономерно, что если задать какие-то строго определённые осмысленные условия, то получишь определённый результат.
Условно говоря, если взять квадрат и обрезать его углы, а затем повторять, то в определённый момент у тебя получится что-то округлое.
Дефакто, тут дорожки проложены условием наличия трёх точек и задачей (двигаться каждый раз на половину дистанции). Рандом играет чисто норминальную роль, ибо очевидно, что рано или поздно при множестве попыток ты побываешь во всех возможных по условию точках. Тот же факт, что при данных условиях выходят очертания треугольников -- чистая физика/матеша. Оно просто так работает ибо так устроена наша вселенная. Могу ещё фокус с бесконечной шоколадкой показать.
Получи листок папоротника из строго закономерного условия.
Формула на 20 байт, и папоротник. Не хухры мухры а высшая математика.
Ничего этакого сверх тут конечно нету. Выше wataru достаточно просто расписал, почему так.

Я бы сказал, что данная штука замечательна именно тем, что:

* Мы нигде не использовали ни копирование, ни рекурсию, ни индукцию в нашем алгоритме построения
* В итоге получили фрактал

На первый взгляд это достаточно не очевидно, что в результате таких простых действий мы получим бессконечную, самоподобную геометрическую фигуру
int16 int16 30.10.201905:23 ответить ссылка 1.5
>Рандом играет чисто норминальную роль
Рандом нужен, чтобы сделать систему стохастической. Без этого притягивающее множество не может быть фракталом.

>рано или поздно при множестве попыток ты побываешь во всех возможных по условию точках
Ну, во-первых, само условие никак не ограничивает область возможных точек. В любую из них всё равно можно попасть, как минимум взяв желаемую точку в качестве начальной. И об этом было в видео.
Во-вторых, то, что мы здесь видим, на самом деле, это очертания инвариантного множества точек. Это множество бесконечно, поэтому во всех точках система никогда не побывает, даже с учётом всех "рано или поздно". То, что мы видим её очертания является следствием двух фактов:
1) Того, что это множество заодно является притягивающим (аттрактором) из-за того, что фазовый объём системы у нас строго уменьшается (в 2 раза каждый ход).
2) Данная система эргодична. Далеко не все динамические системы обладают этим свойством. Но в данном случае эргодичность за дёшево достигается, поскольку есть заданные из вне случайные числа.

В общем, это реально очень крутая система, чтобы на ней основы теории хаоса изучать. А динамика внутри притяшивающего множества это вообще отдельная тема. Похожий процесс часто моделируют с помощью подковы Смейла и там есть куча радостей в виде бесконечного числа периодических траекторий с любыми наперёд заданными орбитами. А в определённых случаях можно и тьюринг-полноты от них добиться.
В конце видео мне вспомнились креационисты, которые говорят типа, посмотри вокруг, разве могли всякие животные и растения появиться случайным образом, а не по воле Божьей и тут хуяк, папоротник из случайных точек...
Вот еще в эту же корзину :)
https://habr.com/ru/post/62526/
(не лучшее описание "эксперимента", но лучшего не нашел)
ну, там тоже заданы правила и конкретная цель - точность и информативность часов в понимании человека. если трясти коробку с деталями (квадриллионы коробок миллиарды лет), то в некоторых соберутся часы, в других - музыкальные шкатулки, в третьих - прочие разные механические игрушки. так же и с точками - без правил в каком-то из случаев случайными точками можно нарисовать Джоконду, с правилами - будут получаться либо сплошные Джоконды, либо никогда.
Это не конкретная цель, это критерий отбора.
Ты не поверишь, но в природе тоже есть правила взаимодействия чстей и критерии отбора. Только там их еще и больше, поэтому модель куда сложнее.
случайными точками папоротник долго отрисовывать, точки будут попадать одна на другую или вставать очень близко друг к другу, плотность точек будет не равномерная. папоротник из точек будет очень сложно анимировать (например, под действием ветра). так что такое рисуется рекурсией, отрезками листик за листиком. в природе каждая клетка "смотрит" какие клетки её окружают и делится в определённом направлении используя те же формулы.
Хоть и не знал, но как-то не сильно удивило, что с помощью случайных чисел и подобранных формул можно сложные фигуры отрисовывать. Мне вот тут в голову похожи вопрос втемяшился уже какой день дума. Может ли в виртуальном мире, скажем в star citizen, что либо перемещаться быстрее скорости света. Про сам star citizen понятно что локации не связаны жёстко и пространства между ними нет. Но вот если бы было, можно ли мгновенно перемещать объекты?
Вообще то в реальном мире возможны мгновенные перемещения. Скорость света превысить нельзя, а мгновенные перемещения возможны. Такое случается при туннелировании.

Положить, что мы строим наш мир без всей этой релятивистской чепухи, просто однородное евклидово пространство с однородным, глобальным временем. Тогда скорость ничем не ограничена. Вообще ничем, может быть сколь угодно большой.
Отсюда следует, что взаимодействие может быть в пределе мгновенным на сколь угодно больших расстояниях.

Скажем, каждый электрон создает электрический потенциал, который создает кулоновскую силу действующую на абсолютно все объекты с ненулевым зарядом во всей мать его вселенной. Получается, что движение одного конкретного электрона будет иметь мгновенный эффект на все вселенную. Все взаимодействует со всем, мгновенно - такое хрен просимулируешь.

В нашей симуляции, мы хотим скажем обновлять текущие параметры всех объектов не непрерывно, а через определенные, очень малые интервалы времени. Непрерывно просто не получится, ведь процессор может делать только конечное количество вычислений.
Поэтому, каждую итерацию, в момент времени Т мы считаем новые координаты всех объектов для некого момента времени Т + дельта.

Наша дельта это такой шаг по времени. Давай назовем эту дельту квант времени или планковское время.

Поскольку временной шаг конечен (хоть мы и можем сделать его очень малым), мы не сможем симулировать бесконечно быстрые взаимодействия. Придется ввести лимит, на скорость взаимодействия. Как же мы его выберем?

Давай вспомним, что флоатпоинт числа тоже имеют свою точность, они не бесконечно точные. Есть определенная очень малая длина, для оперирования которой не хватит точности. Давай назовем ее планковской длинной. Этакий шаг в пространстве.

Тогда выбор лимита скорости взаимодействия достаточно очевиден. Чтобы симуляция работала корректно, лимит должен быть равен планковской длине деленной на планковское время.

Давай подставим числа, скажем наш шаг по времени равен 5.39е-44 секунд, шаг в пространстве 1.62е-35 метра. Тогда максимальная скорость взаимодействия будет равна: 1.62е-35 / 5.39е-44 что примерно 3.0е8 метра в секунду. Достаточно большая скорость, в принципе должно на все хватить.

Однако есть проблема. А ка мы будем это ограничение на максимальную скорость взаимодействия навязывать?

Если сделать так:

if (скорость > 3.0e8)
{
скорость = 3.0e8
}

То багов будет дофига. Такой хак работать не будет.
Например, я лечу в корабле, который разогнался до скорости 3.0e8, больше не может из за нашего костыля. И тут я вдруг решил пройтись по короблю прогулочным шагом в направлении его движения. Что получится? Моя абсолютная скорость превысит 3.0e8 и этот костыль не даст мне двигаться вперед. Выглядеть это будет очень тупо и забагованно.
В дополнении к этому, получается что некоторые системы отсчета лучше других. В одной я могу идти вперед, в другой (привязанной к кораблю) я не могу. И получается, что есть некая абсолютная система отчета, относительно который мы меряем скорость.
За такое неравноправие систем отсчета сжв закидают говном игру сразу после выхода. Нужно что то делать.

В итоге ТЗ выглядит так:

1. Сделать лимит на скорость взаимодействия
2. Не должно быть никакой абсолютной скорости. Скорость зависит от системы отсчета.
3. Все системы отсчета равноправны

Выглядит бредово, не правда? Какие то взаимоисключающие пункты. Как мы можем ограничить максимальную скорость, если никакой абсолютной скорости нету, и она вообще зависит от системы отсчета?

Т.е. мы по сути хотим сделать так, что в независимости от системы отсчета все скорости были меньше максимальной. Но при этом в каждой системе отсчета мы в принципе можем приближаться к предельной скорости насколько захотим.

Т.е. мы можем разогнать наш корабль до скорости близкой к предельной скорости,
относительно скажем планеты Нибиру. И одновременно с ним, разогнать другой корабль до скорости близкой к предельной относительно планеты Нибиру в противоположном направлении. Но при этом скорость одного корабля относительно другово должна быть меньше предельной скорости.

Как это вообще возможно? ТЗ от нас буквально требует, чтобы:

предельная скорость + предельная скорость = предельная скорость

Заказчик в край ебанулся, и единственный способ как это воплотить в жизнь, это в край извратить то, как работает сложение.

В этом и заключается чудовищный по своей сути хак, мы заменяем простое линейное сложение скоростей на нелинейную операцию таким образом, что чтобы как мы не складывали, мы не получим скорость больше предельной.

Но этот хак создает огромное количество багов, теперь у нас время течет по разному в зависимости от системы отсчета, расстояния зависят от скорости и от системы отсчета, масса тоже зависит от скорости, и т.д.
int16 int16 30.10.201907:08 ответить ссылка 10.6
Охуенная система, мы готовы инвестировать в ваш проект.
А что насчет форм жизни?
Сделаем элемент Углерод, способный образовывать миллионы различных соединений. И формы жизни на его основе сами появятся рано или поздно.
wb3.0 wb3.0 30.10.201911:54 ответить ссылка 1.2
А ещё появляется баг с тем, что и пространство со временем перестают квантоваться на планковские единицы...
в виртуальных мирах всегда есть квантование времени, например, 1 тик = 10 мс, что даст 100 fps.
за 1 тик объект можно переместить в любые координаты в любой локации - получается телепортация.
движение - это просто ряд телепортаций, каждый тик смещение координат на определённые значения.
если объект наблюдаем - придётся просчитывать все промежуточные точки каждый тик. если нет - можно вычистить только его конечное положение в конечный момент времени.
можно написать мод, который будет подменять формулу ускорения на классическую (v/t) без учёта скорости света, или любую другую, дающую преимущество кораблям красного цвета, с влиянием кармы пилота и кол-ва открытых ачивок игрока.
object.position += anotherSpacePosition;
ограничил вероятность тремя вариантами, объединил геометрией, получилось три угла
хм, действительно, несовершенство
OlegYch OlegYch 30.10.201901:39 ответить ссылка 0.3
С треугольником это знакомо и не удивительно, а вот Папоротник меня удивил. У кого то не завалялось уравнения Секвои?
Valitor Valitor 30.10.201902:00 ответить ссылка 1.0
секвойи под рукой нету, такие вот рисовал в универе на Дельфи 3 когда надоели все эти губки, треугольники, мандельброты:

формулы - в статьях при поиске по изображению
охуенный хаос, со всеми заранее заданными условиями. мамка даст тебе пиздов если ты не приберешься в комнате, удивительно, но в комнате сначала становиться чище, потом еще грязнее а потом тееб прилетает пиздов... хаос епта..
PritseL PritseL 30.10.201902:26 ответить ссылка -2.4
для геймдева не оптимально восстанавливать текстуру папаротника по молекулам, проще подгрузить сразу готовую... конечно мы уйдём от килобайтного объёма кода до мегабайтных текстур, но сохраним процессорное время.
Denton2 Denton2 30.10.201902:35 ответить ссылка 0.8
Можно генерировать один раз при установке или при запуске.
leosdren leosdren 30.10.201906:17 ответить ссылка -0.1
процедурные текстуры - крутая вещь. но не рандомными точками, которые будут часто попадать в одни и те же пиксели, а некоторые пиксели вообще ни разу не прокрасятся, т.к. рандом не выпал
BrgßltpSSüD
RedFox RedFox 30.10.201904:33 ответить ссылка 7.3
Кратко о видео: Возьмем функцию y=sin(x), а теперь рандомно будет брать х и подставлять в формулу и строить график.... Охуеть!!! У нас получается синусоида!!! Это невероятно, из хаотических чисел получается синусоида!!! Это послание нам из мира хаоса!
saks saks 30.10.201906:42 ответить ссылка 7.5
Во имя тёмных богов!
Это просто Тзинч подкручивает рандом в нужную сторону.
Мего ироническое видео. "О боже мой взял 3 точки и задав условие движение случайной четвертой точке "пол отрезка" я получил в результата множество треугольников это магия !! " .. Забавно что чем меньше знаний о мире у людей тем больше они ведут себя как впечатлительные дикари.
drama drama 30.10.201907:54 ответить ссылка -0.2
Чем больше узнаёшь об устройстве мира, тем меньше магии вокруг тебя
kosoi kosoi 30.10.201911:42 ответить ссылка 1.9
>Чем больше узнаёшь об устройстве мира, тем меньше магии вокруг тебя
Чем больше узнаёшь об устройстве мира, тем больше понимаешь, что нихуя не знаешь
aidath aidath 30.10.201913:10 ответить ссылка 2.7
Есть такое
kosoi kosoi 30.10.201913:17 ответить ссылка 0.0
ебать ты Сократ
.kkrieger
refflect refflect 30.10.201909:28 ответить ссылка 1.5
>> Это несовершенство генератора псевдослучайных чисел?

Нет. это совершенство закона больших чисел.
yawa20 yawa20 30.10.201912:03 ответить ссылка 0.7
М а если ромбик то черная область будет ромбиком не треугольником же.
NegoD9Y NegoD9Y 30.10.201913:21 ответить ссылка 0.0
Почему он математику как магию преподносит? И в конце хуйню несет про генерацию в играх. В играх используют модели и предсгенерированные данные, что бы улучшить производительность игры. Использование памяти в угоду процессора. Другое дело, если памяти мало и генерировать не много, как например в браузерных играх, но сейчас и это не особо проблема.
2rusbekov 2rusbekov 30.10.201915:07 ответить ссылка -0.6
это сфига ли компьютер не может генерировать случайные числа? еще как может!
беря за основу непостоянство частоты процессора.
Респект за видяху!
jkbhvjhr jkbhvjhr 30.10.201921:24 ответить ссылка -0.1
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
The Field Marshal start up SPEED COMPARISON 3D | Aircraft SPEED COMPARISON 3D | Trains Math:Rules
The Thomas Attractor
Equations :
37
I
= ftx+sin(y), = -fiy* sin(:), Простая истина | Короткометражный фильм