Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Алгоритмы > Взаимно простые числа. |
Автор: xcont 19.8.2013, 22:40 | ||||||
Паттерн ![]() В 2002 году придумал интересную штуку. 14 лет тогда было. Размышлял о фракталах и теории хаоса, а учиться не хотел. Учиться не хотел, а в школу ходить заставляли. Придумал способ убить время на скучных уроках по истории, географии и прочей гуманитарии. Попробую объяснить подробно. Все, что нам нужно - листок в клетку и карандашик. Если листка в клетку нет в наличии и карандашик тоже отсутствует - онлайн версия на JavaScript http://xcont.com/pattern.html Алгоритм прост до неприличия. Собственно выглядит сие вот так: ![]() Выделяем прямоугольную область и пускаем из угла "квантовый луч" (так я его называл в 2002 году - сильно за терминологию не ругайте). Луч отражается от стенок и пропадает в другом углу. Если соблюдаются определенные условия (об этом дальше) - получается фрактальный (об этом тоже дальше) узор-паттерн. Если условия не соблюдаются (очевидный например - стороны прямоугольника равны) - узор не получается. Из менее очевидных напримеров - узор так-же не получается, если размеры сторон имеют общий делитель. Фактически, узоры получаются только если размеры обоих сторон - взаимно простые числа http://ru.wikipedia.org/wiki/Взаимно_простые_числа. Наглядно (и кликабельно): http://xcont.com/pattern/prch.png кстати, все сделано вручную, по пикселям в Paint На картинке все числа от 1 до 30. А теперь немного о Фибоначчи и фракталах. ![]() Все узоры представляют из себя фракталы. От чего зависит узор?
Что наводит нас на мысль - а если попробовать http://ru.wikipedia.org/wiki/Числа_Фибоначчи? Пацан сказал - пацан сделал. Закрашивал в Paint самые большие замкнутые области. ![]() ![]() 233х144: ![]() ![]() ![]() 987х610 (скукожил в 5 раз): ![]() 233х144 и 987х610 - идентичны ![]() Фракталы, как они есть. Что еще можно из этого сделать ![]() 1. Попробовать не прямоугольную область, а скажем элипс. 2. Попробовать сделать в трех измерениях. 3. Обнаружить другие интересные зависимости между числами и рождаемым ими фракталом. На хабре объяснил не подробно, о чем сейчас жалею. http://habrahabr.ru/sandbox/68846/ Есть интересная информация, чтобы дополнить статью, но дополнить не могу - ибо read-only. Поэтому буду выпрашивать инвайт, если кому не жалко (пазязя) Засим откланяюсь и буду надеяться на вашу доброту (дайти инвайтик, пазязя). Инвайтик сюда: [email protected] или сюда: [email protected] P.S. И немножко шизофрении 11-ти летней давности:
![]() ![]() Идентичный паттерну 4х3: ![]() |
Автор: Akina 20.8.2013, 07:40 |
![]() |
Автор: _Y_ 20.8.2013, 07:44 |
Красивые картинки. Чем-то напомнили старинный метод визуальной проверки генератора псевдослучайных чисел. Если память мне не изменяет (что онапостоянно и делает - по злобЕ, наверное ![]() Чисто визуально напомнило, естественно. |
Автор: Akina 20.8.2013, 08:12 |
не изменяет. Это ещё в памятные времена Windows 3.0 так проверялся на вшивость (и не прошёл проверку) рандомизёр во втором Аксессе... |
Автор: Lipetsk 20.8.2013, 09:05 |
да, очень интересно |
Автор: xcont 20.8.2013, 09:33 | ||
Если в генераторе случайных чисел нет внешнего источника энтропии (температура процессора, время в миллисекундах и т.д.) - он генерирует псевдослучайные числа и соответственно рисует узоры. В php ГСЧ вроде бы до сих пор узорчики делает. Еще Фон Нейман писал, что генераторы случайных чисел без энтропии - это онанизм.
|
Автор: Akina 20.8.2013, 09:39 |
Если гсч хороший - хрен ты увидишь узоры. |
Автор: xcont 20.8.2013, 10:53 | ||
Есть мнение, что случайных чисел вообще не существует. Все случайные числа - псевдослучайные. На той-же хабре:
http://habrahabr.ru/post/137864/ Кстати, интересный способ геренации случайных чисел. Посадить 100 китайцев, чтобы они придумывали случайные числа. Скажем 1 китаец - 1 число в секунду. 100 китайцев - 100 случайных чисел в секунду. В две смены - 200 китайцев. ![]() |
Автор: Mirkes 20.8.2013, 15:26 |
Вопрос как у Акины: что это было? Картинки красивые, фрактальность картинок вызывает некоторое сомнение, но я не спец по фракталам, могу ошибаться. А в чем вопрос или предложение? Просто красивые картинки? Тогда могу поделиться еще одним способом порождения красивых картинок. Берете чернобелое изображение. Изначально чисто белое. Запускаете отрисовку прямых черного цвета в xor моде. Прямые проходят через одну точку. Шаг по углу можно варьировать. Получаются довольно красиво и не то чтобы случайно, но на случайное похоже. |
Автор: xcont 20.8.2013, 15:47 |
Чтобы фрактальность не вызывала сомнений:![]() |
Автор: Akina 20.8.2013, 16:55 |
xcont Да фрактальность - хрен бы с ею. Вызывает недоумение цель публикации. Такое ощущение, что ты что-то сделал, но не можешь придумать, нафига ты это сделал и к какой заднице всё это приложить... или это такая завуалированная реклама своего сайта? |
Автор: _Y_ 20.8.2013, 21:54 |
Стыдно признаться, но я помню еще с БК0010. Вообще же - тема-то довольно интересная - зря я отвлек на случайные числа ![]() Так может и стОит подумать - мозговой штурм устроить - как всю эту красоту использовать во благо вселенной? ![]() |
Автор: xcont 21.8.2013, 03:40 |
![]() |
Автор: Mirkes 21.8.2013, 16:55 |
Таки не фрактал ![]() Хотя отчасти напоминает. Но не так важно, фрактал ли это, а вопрос что с ним делать? |
Автор: xcont 21.8.2013, 21:41 |
Фрактал это ![]() |
Автор: Lois 21.8.2013, 23:02 |
Это называется на западе random art и они ушли в этом очень очень далеко. http://www.artlynch.ru/viewtopic.php?f=25&t=5939 |
Автор: xcont 22.8.2013, 03:22 |
Lois, вы тему читали, или так просто зашли отметиться? |
Автор: Lois 22.8.2013, 17:51 |
ну так я по теме и высказался. |
Автор: esperanto 23.8.2013, 13:54 | ||||
Мнения человека, который даже не знает, что Теория Вероятностей, а не вероятности |
Автор: xcont 31.8.2013, 15:07 |
Искал хаос, а нашел фрактал. Можеть быть хаос - это и есть фрактал? Кликабельно: http://xcont.com/pattern/1377189269846.png |
Автор: xcont 17.9.2013, 14:45 |
Пользуясь гугль-транслейтером налепил сайтик об этом фрактале: http://xcont.com/ Перевод весьма корявый. Кто может откорректировать? Буду весьма признателен. ![]() |
Автор: _Y_ 17.9.2013, 20:59 |
Зря. Не стоит позориться. Пишите на хорошем русском и давайте линк на Гугл-переводчик. Тогда смеятьсся будут не над Вами, а над Гуглом ![]() Ну а, чтобы привлечь англоязычных читателей, в шапке напишите три рекламных предложения, которые заставят на этот линк нажать. Напишите хорошо и на русском. Их-то и попросите перевести. Вы сами-то будете читать сайт, переведенный на русский таким образом? Гугл - великолепный инструмент если надо хоть тушкой, хоть чучелом, но разобраться в чем-то иноязычном. Но он никуда не годится для мало-мальски читабельного перевода. По самой просьбе: корректировать там бессмысленно - надо переписывать полностью. Ну и, чтобы пообиднее было, "I have 15 years learned English". За 15 лет правила порядка слов в английском предложении так и не встретились? ЗЫ: Три предложения я Вам переведу. Английский у меня не родной, конечно, но довольно сносный (где-то на порядок лучше того, что называется "владею свободно", но это и есть сносный. Как говорится, "Что в Умани умный - в Одессе еле-еле дурак"). |
Автор: xcont 23.9.2013, 01:31 |
Отправил на Хабру: http://habrahabr.ru/post/194406/ |
Автор: миг 23.9.2013, 14:34 |
xcont, Если хочешь и дальше развиваться попробуй почитать про комплексные числа и посмотри как строятся фракталы Мандельброта, фрактал Джулия, фрактал Ньютона. иногда фракталы используются, чтобы нарисовать растение или дерево. |