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






















