Я обнаружил эту закономерность, когда разглядывал пост пользователя xcont. Наткнувшись на эту публикацию, я обратил внимание на то что узоры повторяются не только при увеличении масштаба по числам Фибоначчи.



Мне стало интересно есть ли закономерность в этих узорах. Но имея только 2 параметра x и y, я решил что нужно обозначать что-то ещё, общее среди всех получаемых узоров. Тут я заметил что если взять первые 4 квадрата на поле, в любом случае мы получаем 3 варианта начала узора, если линия идёт:

вверх(^)



вниз(v)



или же не идёт*(-)



Для обозначения я решил использовать эти символы ^, v, условно называя их спинами (как спин частицы). И вот тут я приступил к созданию таблицы зависимости этих спинов к x,y.

Для начала посмотрим есть ли закономерность если менять только y, x возьмём 4


А теперь о свойствах

Видим последовательность спинов -^-v-^-v-^-v

Узор повторяется с определённой последовательностью
y=3,7,11...(^)

y=5,9,13...(v)

y=2,4,6,8,10,12...(-)


Тоже самое получим если x=3, видим последовательность спинов ^-v^-v^-v^-v^

y=2,5,8,11...(^)

y=4,7,10,13...(v)

y=3,6,9,12...(-)

Я подумал что можно систематизировать эти последовательности и составить таблицу этих спинов и вот что я получил.

Представляю вам, «Таблица Чёрного».



Самое интересное что эта таблица имеет свои зависимости и свойства.

Для начала выведем пару формул:>
если x чётное и y чётное>-, так же если x?y или y?x>-
x=y>-
x=y+1>^
x=y-1>v
А теперь о свойствах самой таблицы, если взять за точку отсчёта x=y, то в любых направлениях мы имеем зеркально отражённые последовательности(обозначил красными и зелёными линиями).








Собственно находите применение и пользуйтесь. Таблица у меня расчерчена до 12 так как изначально всё это я делал на бумаге.



Но при помощи JavaScript алгоритма вы сами можете проверить и более большие значения.

P.S. Не знаю как это можно использовать, но возможно этот алгоритм можно будет применить на квантовом компьютере.

Ссылки: раз и два.

Комментарии (11)


  1. valemak
    24.12.2018 13:58

    В честь кого название «таблица Чёрного»?


    1. Captain1312 Автор
      24.12.2018 18:06

      Себя


      1. valemak
        24.12.2018 18:55

        Сам по себе ход нормальный. У меня возникло такое предположение, но показалось странным, что открытую структуру в свою авторскую честь назвали, а собственную фамилию в профиле на Хабре указать постеснялись.


        1. Captain1312 Автор
          24.12.2018 18:57

          Это псевдоним. В профиле настоящая.


  1. Closius
    24.12.2018 18:35

    Не очень понятно что автор хотел сказать. То что диагональ есть? По подробнее можно?

    Тут я заметил что если взять первые 4 квадрата на поле, в любом случае мы получаем 3 варианта начала узора, если линия идёт


    Почему только первое поле? Если взять любые такие квадраты на поле то получится 8 вариантов


    1. Captain1312 Автор
      24.12.2018 20:47

      Хотел сказать что есть интересные последовательности в этих спинах. Диагональ просто следствие(x=y>-). Если рассматривать диагональ как границу, то видим что эти 2 части таблицы зеркально отражены, при чём во всех направлениях.

      Не очень понятно что автор хотел сказать. То что диагональ есть? По подробнее можно?

      Потому что это начало узора, точка отсчёта.

      Почему только первое поле?

      Не понял.
      Если взять любые такие квадраты на поле то получится 8 вариантов


  1. xcont
    24.12.2018 19:30
    +4

    Категорически вас приветствую, поздравляю с написанием первой статьи на Хабре и получением приглашения в наше скромное сообщество.
    Чтобы получить бинарную матрицу, вариант «не идёт*(-)» можно отбросить. Не идет только в тех случаях, если стороны прямоугольника x и y не являются взаимно простыми числами. Фактически, если убрать все варианты, когда «идет» и оставить только те, когда «не идет» — получим таблицу взаимно простых чисел:


    (минусами отмечены числа, имеющие общий делитель)

    Таблица взаимно простых чисел сама по себе очень интересная и ее можно разглядывать часами (начало координат — левый верхний угол):



    600х600:



    но в нашем случае, от нее лучше избавиться, чтобы она не мешала нам в поиске закономерности.

    Эти соотношения сторон (не взаимно простые) можно сократить на общий делитель, чтобы получить взаимно простые числа. Например, 6 и 8 можно сократить на общий делитель 2 и получить паттерн 3х4 (или же сделать штрих размером в 2 клетки и получить тот же паттерн):



    Конечно, останутся случаи, когда одна (или обе) из сторон сокращается до 1 — если одна из сторон является делителем другой (или они равны). Будем считать эти случаи неизбежным злом :)

    Все паттерны для прямоугольников со сторонами от 1 до 16:



    В виде графика (начало координат — левый верхний угол):


    1. Captain1312 Автор
      24.12.2018 20:24

      Но в нашем случае, от нее лучше избавиться, чтобы она не мешала нам в поиске закономерности.

      Ну я вот решил не избавляться а ввести формулы, подумал как-то это не правильно выкинуть часть таблицы).
      если x чётное и y чётное>-,
      так же если x кратно y или y?x>-
      x=y>-


  1. paradox072
    24.12.2018 21:01

    Так же можно увидеть что периода повторения паттерна спина напрямую зависит от ширины, или длинны фигуры.


    1. Captain1312 Автор
      24.12.2018 21:06

      Да, при чём с определённой последовательностью.

      y=2,5,8,11...(^)

      y=4,7,10,13...(v)


  1. DimPal
    25.12.2018 12:41

    Можно внести разнообразие в исследуемый класс фракталов. В рассматриваемом примере используется паттерн закрашивания [1, 0] вдоль линии движения с эффектом «рикошета». Паттерн [1] соответствует непрерывной линии по траектории движения, и для случая если стороны прямоугольника не взаимно простые числа, мы просто посещаем не все ячейки. Но паттернов можно навыдумывать превеликое множество, например: [1,0,0] [1,1,0] [1,1,0,0]. Да еще и цветных [red,green,blue]. Есть где проявить фантазию. А еще можно изменить геометрию рабочего поля, взять для начала равнобедренный треугольник…