Фракталы

Гиперболические замощения

Правильные {p, q}: p-угольники, по q в каждой вершине — так помещаются только на плоскости Лобачевского. Диск Пуанкаре, полуплоскость, полоса.

  • шейдер на GPU
  • зацикленная анимация
Открыть в редакторе →

Шесть правильных треугольников сходятся в точке и ложатся на плоскость без зазора; семь — и лист пойдёт волнами, как край салатного листа. Этот избыток места вокруг каждой точки — примета геометрии Лобачевского, и правильных паркетов в ней бесконечно много: из семиугольников, восьмиугольников, даже из квадратов по пять в вершине. Слой рисует их в моделях, которые умещают бесконечную плоскость в круг или полосу.

Как это устроено

Замощение {p, q} из правильных p-угольников, по q в каждой вершине, режут на одинаковые прямоугольные треугольники: у центра плитки угол π/p, у её вершины π/q, у середины ребра π/2. У треугольника Лобачевского сумма углов меньше π, а недостача равна его площади. Отсюда условие (p − 2)(q − 2) > 4; при равенстве получаются три паркета евклидовой плоскости.

площадь треугольника (кривизна −1) = π − π/p − π/q − π/2 > 0 ⇔ (p − 2)(q − 2) > 4 длина в диске Пуанкаре: ds = 2|dz| / (1 − |z|²)

В диске Пуанкаре прямые — это дуги, перпендикулярные краю, а отражение в такой прямой — инверсия в окружности. Шейдер «складывает» точку каждого пикселя в треугольник: поворачивает, отражает, обращает — пока она не окажется внутри. Чётность числа отражений даёт шахматную раскраску «чётность»; «слои» красят плитки по удалённости от центра кадра. Толщина «Швов» задана в единицах самой плоскости, поэтому к краю швы сужаются вместе с плитками, а плитки мельче пикселя усредняются вместо ряби.

«Точка Витхоффа» задаёт, где в треугольнике стоит вершина узора: в углу плитки получается {p, q}, в середине ребра — ректифицированное замощение, в центре плитки — двойственное {q, p}, между ними — усечённые. «Сдвиг» — перенос, составленный из двух полуоборотов вокруг середин соседних рёбер: он переводит замощение в себя, поэтому анимация замыкается без шва.

Немного истории

Николай Лобачевский (1829) и Янош Бойяи (1832) открыли эту геометрию независимо друг от друга. Модели в круге и в полуплоскости придумал Эудженио Бельтрами в 1868 году, а имя они получили от Анри Пуанкаре, применившего их в 1882-м. Самые известные картины гиперболической плоскости создал Мауриц Эшер. В 1954 году он познакомился с геометром Гарольдом Коксетером, а позже получил от него статью; рисунок треугольников в диске, по словам Эшера, его потряс. Так появились гравюры «Предел круга I–IV» (1958–1960). Коксетер потом показал, что белые дуги «Предела круга III» — не прямые Лобачевского, а эквидистанты, встречающие край под углом почти 80°. Сам же приём с точкой в треугольнике зеркал восходит к статье Виллема Витхоффа 1918 года.

Что покрутить

  • «p — углов у плитки» 7, «q — плиток в вершине» 3: треугольник этого замощения площадью π/42 — самый маленький из возможных. «Точка Витхоффа» 1 даст двойственное {3, 7}.
  • «Раскраска» «чётность» при «Точке Витхоффа» 0 делит каждую плитку на 2p зеркальных треугольников двух чередующихся цветов.
  • «Модель» «полоса» и анимация: плитки плывут вдоль бесконечной ленты. В «полуплоскости» все плитки равны, просто масштаб к нижнему краю стремится к нулю.
  • «Предел круга» своими руками: положите под этот слой узор, например «Плитки Труше», и выберите «Мотив» «картинка ниже». Середина нижней картинки ляжет в треугольник и зеркально разойдётся по всему диску.

Параметры

p — углов у плитки
q — плиток в вершине
Нужно (p − 2)(q − 2) > 4; иначе берётся ближайшее подходящее
Модель
диск Пуанкаре · полуплоскость · полоса
Точка Витхоффа
0 — правильное замощение, ½ — ректифицированное, 1 — двойственное {q, p}
Раскраска
чётность · слои · витраж
Швы
Цвет швов
Мотив
«Картинка ниже» — слои под этим уложены в фундаментальный треугольник, как в «Пределе круга» Эшера палитра · картинка ниже
Масштаб
Поворот
Сдвиг
Гиперболический перенос вдоль оси симметрии, в долях периода
Скорость
Периодов переноса за петлю анимации