• Онлайн: 1
Содержание
Путь к звёздам
Мой путь к звёздам – это о том, как я пытался в словах и числах найти красоту, такую же, как и у звёзд на небе! И не только пытался, я иду по этому пути и сейчас… ищу красоту в чём её вроде бы и не видно, а она там есть. Как суслик.
Звёздные слова
Ещё в детском саду нас (по крайней мере, меня) научили считать и читать. И я узнал, что в русском алфавите 33 буквы. Все буквы в алфавите расположены в определённом порядке, который так и называют «алфавитный порядок».
Получается, что у каждой буквы есть свой номер. На базе этого знания давным-давно был придуман простейший шифр, который называется A1Z26 или в русском варианте А1Я33. В нём буквы алфавита заменяются на их порядковые номера.
Например, слово «ЗВЕЗДА» можно зашифровать как последовательность 9-3-6-9-5-1. Про такой шифр я узнал из книжки "Мастерская головоломок", 1964 [4Mb, djvu]
После прочтения этой книги у меня в голове всегда крутились разные мысли о том, как бы так «зашифровать» какое-нибудь слово новым хитрым шифром, а именно, превратив его в рисунок. Итак, слово «звезда». Что с ним такого можно сделать? Инструментарий для «понимания» появился у меня только в средней школе, когда нас научили понятию «функция» и научили строить их графики.
Итак, у меня была табличка с шестью дискретными значениями. Для начала я просто попробовал отобразить их на графике в виде точек.
Если делать грамотно и сейчас, то можно построить в экселе точечную диаграмму. Это, в общем-то, то же самое, что и на бумажке :))
Эти точки прям как звёзды в небе, напомнило мне созвездие. А как обычно рисуют созвездия? Самые яркие их звёзды соединяют линиями. Все знают «ковш» Большой Медведицы и W Кассиопеи. Я попробовал и здесь так соединить.
Затем стал пробовать проводить линии как-нибудь по-другому. Если начать в нулевой точке, затем пройтись по порядку по всем точкам и закончить снова в нулевой точке, то получится «нулевой контур».
А если нулевую точку не привлекать, а начинать с первой буквы, то получится «первичный контур»:
Затем я стал пробовать закрашивать получившиеся фигуры.
В принципе, уже получалось довольно красиво. Но хотелось получить что-то прям очень красивое, идеальное. Вспомнил, что вот в калейдоскопе вроде насыпаны разные кусочки стекляшек, а картинка получается симметричная. Значит, надо попробовать получившуюся фигуру каким-нибудь образом «отзеркалить». Для начала продублировал по четырём осям с поворотом на 90°.
Разве можно подумать, что такими фигурами зашифрованы слова?
Но это ещё не всё. Попробовал добавить больше «зеркальности» – наложил получившиеся фигуры сами на себя, но отзеркаленные.
Выглядит очень красиво, но из-за наложения потерялась информация, в таком виде «прочитать» зашифрованное слово будет невозможно, а ведь всё же хотелось не потерять изначальную информацию. А значит, решение получилось всё же не очень красивым.
Попробовал накладывать другим цветом и с прозрачностью:
Получилось похоже на военные кресты и ордена :)
Это сейчас я всё рисую на компьютере при помощи экселя и фотошопа, либо программирую на яваскрипте или питоне. А раньше я всё это вручную рисовал. В основном, я тренировался на кошках именах своих одноклассников и одногруппников (потому что продолжал заниматься такими вещами даже в институте).
NB: кстати, идея для бизнеса: можно делать именные медальоны :)
Звёздные часы
Следуя такой же идеологии я на javascript запрограммировал звёздные часы. Вычисляется время в формате ЧЧ:ММ:СС:мс, всего 9 цифр (для миллисекунд три цифры). Далее цифры «звездятся», замыкаясь по нулевому контуру и повторяются 4 раза с поворотом на 90°, а затем сами на себя зеркалятся. За счёт того, что это единый массив точек, составляющий один полигон, при раскраске используется интересный алгоритм «инвертирования» накладывающихся друг на друга частей. В результате при наложении информация не теряется и у многоугольника вместо сплошной получается «шахматная» раскраска.
Если использовать разные полигоны, разбить точки на группы и сделать полупрозрачность, тогда инвертирования не будет, но будет более красочно :)
Снежинки
У снежинок, в отличие от крестов и «звезд», получившихся выше, шестилучевая симметрия. А значит, что первичный или нулевой контур надо поворачивать не 4 раза по 90°, а 6 раз по 60°. При этом надо обязательно дополнительно зеркалить. Ну потому что снежинки, они прям симметричные-симметричные, с осевой симметрией, а не центральной.
И получится тогда как-то так:
Калейдоскоп
В калейдоскопе обычно расположены три длинных зеркала, перед которыми при вращении пересыпаются всякие цветные кусочки. На просвет из-за многократного отражения и повторения получаются изумительные и завораживающие узоры. Можно попытаться изобразить слова в калейдоскопном стиле.
Обычно калейдоскоп устроен следующим образом:
Физически у нас есть одно треугольное окно, в котором видно нечто. И это нечто потом отражается в трёх зеркалах. Чтобы повторить программно, нужно будет сначала нарисовать наше слово на сторонах треугольника, а потом уже замостить этим треугольником всю плоскость. Если применить эту идеологию к нашим звёздам и снежинкам, то получим вот такую красоту:
Звёздные пути
Если взять «контурную» идею отображения, но только вместо рисования графика значений букв или цифр времени ходить по реальным путям, то получим «звёздные пути». Что это за «реальные пути» такие? А вот какие. Например, путь обхода конём шахматной доски.
Есть известная классическая задача обхода конём шахматной доски. Берём готовый маршрут.
Закольцовываем его и раскрашиваем «шахматкой» – получаем «звёздный путь» :)
Аналогичный подход можно применить к волшебным квадратам, если последовательно обходить в нём числа. Так как квадраты бывают разного порядка и чем выше порядок, тем больше вариантов размещения в них чисел, то каждому такому квадрату будет соответствовать свой уникальный узор.
Например, вот для такого магического квадрата 9х9 …
… получается вот такая магическая решёточка.
Это способ превращения вроде бы невзрачных чисел и таблиц в красивые картинки можно попробовать применить, в принципе, к любым последовательностям чисел. Если в этих последовательностях есть какие-то закономерности, то и картинки будут получаться говорящие. Если же последовательности будут «немые», то их можно «озвучить», применив зеркалирование, повторение, отражение, раскраску – тогда точно получится красиво!





















