Знаменитый «куб в кубе», который рисуют на обложках книг о четвёртом измерении, — не тессеракт. Это его тень. Сам тессеракт состоит из восьми одинаковых кубов, а на картинке один куб большой, другой маленький, а шесть остальных похожи на усечённые пирамиды. Тень зависит от того, как падает свет, и одно и то же тело может отбросить очень разные тени. В этой главе разберём, какие бывают «источники света» для четырёхмерных тел, выведем формулы для каждого и посмотрим, что каждая тень скрывает.
Тень — это проекция
Тень устроена просто: каждая точка тела отправляется туда, где луч света, проходящий через неё, упирается в пол. Математики называют такое отображение проекцией. Важны два вида света.
Солнце настолько далеко, что его лучи параллельны. Пусть они падают отвесно, пол — плоскость $y = 0$, а высота точки — координата $y$. Тогда тень точки $(x, y, z)$ — это $(x, z)$: высота просто забывается. Это параллельная, или ортографическая, проекция. Размер тени не зависит от того, как высоко висит предмет.
Лампа — точка. Повесим её на высоте $d$ над началом координат, в $L = (0, d, 0)$. Луч из лампы через точку $P = (x, y, z)$ — это точки $L + t\,(P - L)$. Его высота равна $d + t\,(y - d)$ и обращается в ноль при $t = d/(d - y)$. Значит, тень точки $$\bigl(X, Z\bigr) = \frac{d}{d-y}\,\bigl(x, z\bigr).$$ Это центральная, или перспективная, проекция. Чем выше точка, тем ближе она к лампе и тем сильнее растягивается её тень: множитель $d/(d-y)$ растёт с высотой.
Теперь повесим под лампой куб так, чтобы его грани были горизонтальны. Верхняя грань ближе к лампе, её тень — большой квадрат. Нижняя грань дальше, её тень — квадрат поменьше, внутри большого. Четыре вертикальных ребра дают четыре отрезка, соединяющих углы квадратов. Получается «квадрат в квадрате». При $d = 3$ и граней на высотах 1,7 и 0,7 множители равны $3/1{,}3 \approx 2{,}31$ и $3/2{,}3 \approx 1{,}30$.
Поднимите лампу до $d = 12$: квадраты почти совпадут, потому что далёкая лампа светит почти как солнце, $d/(d-y) \to 1$. Переключитесь на «Солнце» — совпадут точно. Поверните куб вершиной к свету: контур тени станет шестиугольником. Цвет рёбер показывает высоту: янтарные — ближе к лампе, синие — дальше.
Вот и весь секрет «куба в кубе». Возьмите тессеракт, поставьте его ячейкой к четырёхмерной «лампе» — и ближняя ячейка даст большой куб, дальняя — маленький внутри него, а восемь рёбер, идущих вдоль четвёртой оси, соединят их вершины. Шесть боковых ячеек превратятся в усечённые пирамиды между ними, так же как боковые грани куба превратились в трапеции.
Из четырёх измерений в три
Перенесём обе формулы на этаж выше. «Пол» теперь — наше пространство $w = 0$, а «высота» — четвёртая координата $w$.
Параллельная проекция просто забывает $w$: $$(x, y, z, w) \longmapsto (x, y, z).$$
Перспективная проекция. Поставим глаз в точку $E = (0, 0, 0, d)$ на оси $w$. Прямая из глаза через точку $p = (x, y, z, w)$ — это $E + t\,(p - E)$; её $w$-координата $d + t\,(w - d)$ обнуляется при $t = d/(d - w)$. Итак, $$\mathbf X = \frac{d}{d - w}\,(x, y, z) = \frac{(x, y, z)}{1 - k\,w}, \qquad k = \frac1d.$$ Вторая запись удобнее: один параметр $k$ плавно переводит одну проекцию в другую. При $k = 0$ (глаз бесконечно далеко) получается параллельная тень, при $0 < k < 1$ — перспектива. Именно так устроены линзы на витрине. Формула работает, пока глаз снаружи тела: точки с $w > d$ оказались бы у глаза за спиной.
Посчитаем для тессеракта с ребром 1 и центром в начале координат: его вершины — точки $(\pm\frac12, \pm\frac12, \pm\frac12, \pm\frac12)$, две ячейки лежат в гиперплоскостях $w = \pm\frac12$. При $d = 2$ ближняя ячейка растягивается в $2/1{,}5 = 4/3$ раза, дальняя сжимается до $2/2{,}5 = 4/5$, так что внешний куб в $5/3 \approx 1{,}67$ раза больше внутреннего. У каждой из шести остальных ячеек четыре вершины лежат при $w = \frac12$, а четыре — при $w = -\frac12$: одна грань растягивается, противоположная сжимается, и куб превращается в усечённую пирамиду. Все восемь ячеек — одинаковые кубы, но кубами на картинке выглядят только две.
Перспективное деление и однородные координаты
В формуле перспективы всё линейно, кроме деления на $1 - kw$. Это деление можно отложить на самый конец. Допишем к точке единицу, $(x, y, z, w, 1)$, и умножим на матрицу: $$\begin{pmatrix} X_1 \\ X_2 \\ X_3 \\ q \end{pmatrix} = \begin{pmatrix} 1 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & -k & 1 \end{pmatrix} \begin{pmatrix} x \\ y \\ z \\ w \\ 1 \end{pmatrix},$$ $$\mathbf X = \frac{(X_1, X_2, X_3)}{q}.$$ Четвёрка $(X_1 : X_2 : X_3 : q)$ — это однородные координаты точки трёхмерного пространства: пропорциональные четвёрки обозначают одну и ту же точку, а сама точка получается делением на последнее число. Однородные координаты придумали независимо Август Мёбиус («Барицентрическое исчисление», 1827), Карл Вильгельм Фейербах (1827) и Юлиус Плюккер (1830). Их прелесть в том, что перспектива становится умножением на матрицу, а повороты и перспективу можно сложить в одну матрицу.
Каждая видеокарта делает то же самое. Вершинная программа выдаёт четыре числа — «координаты отсечения» $(x, y, z, w)$, — и видеокарта делит первые три на последнее. Это деление так и называется: перспективное деление (perspective divide). Путаница в именах досадная: у видеокарты $w$ — просто служебный делитель, а не четвёртое измерение. На витрине этого сайта делений два подряд: сначала четырёхмерная точка проецируется в наше пространство по формуле $\mathbf X = (x,y,z)/(1-kw)$, а затем обычная трёхмерная камера делит ещё раз, чтобы получить картинку на экране.
Диаграмма Шлегеля
Что если придвинуть глаз вплотную к одной ячейке — так, чтобы он был чуть снаружи её гиперплоскости, но «под» гиперплоскостями всех остальных ячеек? Тогда из глаза видна только эта ячейка. Она становится рамкой, и все остальные ячейки проецируются внутрь неё, заполняя её без наложений, как соты. Такая картинка называется диаграммой Шлегеля.
Этажом ниже это знакомо: если смотреть на куб, почти уткнувшись в одну грань, увидишь квадрат в квадрате, а четыре боковые грани — трапеции между ними. У додекаэдра получится пятиугольник, разбитый на одиннадцать пятиугольников поменьше. Для тессеракта диаграмма Шлегеля — тот же «куб в кубе», но теперь понятно, что он значит: внешний куб — ближняя ячейка, внутренний — дальняя, шесть усечённых пирамид — боковые ячейки, и ни одна ячейка не перекрывает другую. Всё устройство многоячейника — какие ячейки с какими соседствуют — видно без искажений.
Диаграмма названа по имени немецкого математика Виктора Шлегеля (1843–1905). В 1883 году он напечатал в трудах Леопольдины большой трактат «Теория однородно составленных пространственных образований», а тогда же, в 1883 году, сделал из латунной проволоки и шёлковых нитей модели проекций всех шести правильных четырёхмерных многоячейников; их продавали как учебные пособия — сначала Людвиг Брилль в Дармштадте, потом его преемник Мартин Шиллинг в Лейпциге. В 1886 году вышла его работа «О проекционных моделях правильных четырёхмерных тел».
Стереографическая проекция
У правильных многоячейников все вершины лежат на трёхмерной сфере — «поверхности» четырёхмерного шара. Для тел на сфере есть особенно красивая тень. Начнём, как всегда, с понижения размерности.
Возьмём единичную окружность $x^2 + y^2 = 1$, её «северный полюс» $N = (0, 1)$ и прямую $y = 0$. Проведём луч из $N$ через точку окружности $P = (x, y)$ до пересечения с прямой. Из подобия треугольников точка пересечения $$X = \frac{x}{1 - y}.$$ Каждая точка окружности, кроме самого полюса, попадает ровно в одну точку прямой, и каждая точка прямой — образ ровно одной точки окружности: обратная формула $x = \dfrac{2X}{1+X^2}$, $y = \dfrac{X^2 - 1}{X^2 + 1}$. Южный полюс идёт в ноль, точки $(\pm1, 0)$ остаются на месте, а когда $P$ подходит к полюсу, $X$ уходит в бесконечность. Сам полюс отправляется «в бесконечно удалённую точку». Для сферы то же самое: из полюса $N = (0, 0, 1)$ на плоскость $z = 0$ $$(X, Y) = \frac{(x, y)}{1 - z}.$$ Это стереографическая проекция.
Ведите точку $P$ к полюсу и следите за $X$: 1,92 при 35°, 3,73 при 60°, 11,4 при 80°, 114,6 при 89°. Цветные точки на окружности стоят через равные 15°, а их образы на прямой расползаются всё сильнее. Зелёные дуги отмечают два угла, которые всегда равны, — это ключ к доказательству ниже. В режиме «Сфера → плоскость» сравните угол между окружностями на сфере и между их образами — он вычисляется заново по формулам проекции, а не подставляется.
Это одна из старейших картографических проекций. Возможно, её знал уже Гиппарх во II веке до нашей эры (на это не вполне ясно указывал Синезий около 400 года), а самое раннее сохранившееся описание — «Планисферий» Птолемея, II век. На ней основана астролябия: её пластина — стереографическая карта небесной сферы. Название «стереографическая» дал ей Франсуа д’Агийон в 1613 году. То, что проекция переводит любую окружность на сфере в окружность, в общем виде доказал аль-Фаргани в IX веке; то, что она сохраняет углы, доказал Томас Хэрриот (его записи не были опубликованы), а первое опубликованное доказательство дал Эдмунд Галлей в «Philosophical Transactions» в 1695–1696 годах. Галлей честно написал, что сам факт узнал от Муавра, а Гук уже показывал его Королевскому обществу, — своим было только доказательство.
Окружности переходят в окружности
Стереографическая проекция переводит каждую окружность на сфере в окружность на плоскости, если окружность не проходит через полюс $N$, и в прямую, если проходит.
Любая окружность на сфере — это пересечение сферы с плоскостью $ax + by + cz = e$. Выразим точку сферы через её образ $(X, Y)$ по обратным формулам: при $R^2 = X^2 + Y^2$ $$\begin{gathered} x = \frac{2X}{1 + R^2}, \quad y = \frac{2Y}{1 + R^2}, \\ z = \frac{R^2 - 1}{R^2 + 1}. \end{gathered}$$ (Проверка: $x^2 + y^2 + z^2 = \frac{4R^2 + (R^2-1)^2}{(R^2+1)^2} = 1$ и $1 - z = \frac{2}{R^2+1}$, так что $x/(1-z) = X$.) Подставим в уравнение плоскости и умножим на $1 + R^2$: $$\begin{gathered} (c - e)(X^2 + Y^2) + 2aX + 2bY \\ {} - (c + e) = 0. \end{gathered}$$ Если $c \ne e$, это окружность с центром $\bigl(-\frac{a}{c-e}, -\frac{b}{c-e}\bigr)$ и радиусом $\frac{\sqrt{a^2+b^2+c^2-e^2}}{|c-e|}$; подкоренное выражение положительно, потому что плоскость пересекает сферу по окружности, то есть отстоит от центра меньше чем на 1: $e^2 < a^2 + b^2 + c^2$. Если же $c = e$, то плоскость проходит через $N = (0, 0, 1)$, и уравнение становится линейным: $aX + bY = c$ — прямая. Так как проекция взаимно однозначна вне полюса, образ окружности — вся эта окружность или вся прямая. ∎
Углы сохраняются
Отображение, сохраняющее углы между кривыми, называют конформным. Стереографическая проекция конформна: две кривые на сфере пересекаются под тем же углом, что и их образы на плоскости.
Если две кривые на сфере пересекаются в точке $P \ne N$ под углом $\alpha$, то их стереографические образы пересекаются в точке $P'$ тоже под углом $\alpha$.
Угол между кривыми — это угол между их касательными; касательные в $P$ лежат в касательной плоскости $T_P$. Касательная прямая $\ell$ в точке $P$ и прямая $NP$ задают плоскость $\Pi_\ell$; проекция из $N$ переводит $\ell$ в прямую $\Pi_\ell \cap \{z = 0\}$ — это касательная к образу кривой в $P'$. Теперь отразим всё пространство в плоскости $\sigma$, которая перпендикулярна отрезку $NP$ и делит его пополам. Сфера перейдёт в себя (её центр лежит в $\sigma$), точки $N$ и $P$ поменяются местами, поэтому касательная плоскость $T_P$ перейдёт в касательную плоскость $T_N$. Каждая плоскость $\Pi_\ell$ содержит прямую $NP$, перпендикулярную $\sigma$, и потому переходит в себя. Значит, прямая $\ell = \Pi_\ell \cap T_P$ переходит в прямую $\Pi_\ell \cap T_N$, а угол между двумя касательными в $T_P$ равен углу между соответствующими прямыми в $T_N$ (отражение сохраняет углы). Наконец, $T_N$ — это плоскость $z = 1$, параллельная плоскости $z = 0$, и одна и та же плоскость $\Pi_\ell$ пересекает две параллельные плоскости по параллельным прямым. Поэтому угол в $T_N$ равен углу между образами в плоскости $z = 0$. ∎
В плоском случае это доказательство видно в виджете: зелёные дуги — угол между лучом и касательной в $P$ и угол между лучом и прямой в $X$. Они равны, потому что касательные к окружности в концах хорды $NP$ образуют с ней равные углы, а касательная в $N$ параллельна прямой.
Углы сохраняются, длины — нет. Для окружности, параметризованной углом, $x = \cos t$, $y = \sin t$, производная образа $$\begin{aligned} \frac{dX}{dt} &= \frac{d}{dt}\,\frac{\cos t}{1 - \sin t} \\ &= \frac{-\sin t\,(1 - \sin t) + \cos^2 t}{(1 - \sin t)^2} \\ &= \frac{1 - \sin t}{(1 - \sin t)^2} = \frac{1}{1 - y}. \end{aligned}$$ Значит, маленькая дуга около точки с высотой $y$ растягивается в $1/(1 - y)$ раз: у южного полюса вдвое сжимается, на экваторе сохраняет длину, у северного растягивается неограниченно. Для сферы любой размерности множитель тот же: $1/(1 - w)$, где $w$ — «высота» точки над экватором.
Трёхмерная сфера в нашем пространстве
Поднимаемся на этаж. Трёхмерная сфера $S^3$ — точки $(x, y, z, w)$ с $x^2 + y^2 + z^2 + w^2 = 1$, полюс — $(0, 0, 0, 1)$, «экватор» — наше пространство $w = 0$, и $$\mathbf X = \frac{(x, y, z)}{1 - w}.$$ Это та же формула перспективы при $k = 1$: глаз сидит прямо на сфере. Обе теоремы переносятся дословно, с одной лишней координатой: двумерные сферы на $S^3$ переходят в сферы или плоскости, окружности — в окружности или прямые, углы сохраняются.
Вершины правильных многоячейников на витрине лежат на единичной $S^3$, но их рёбра — прямые отрезки, хорды, и на сфере не лежат. Поэтому стереографическая линза сначала «надувает» многоячейник: заменяет каждое ребро дугой большой окружности между теми же вершинами, а каждую ячейку — куском сферы. А уж потом проецирует. Дуги больших окружностей переходят в дуги окружностей — вот откуда круглые рёбра и ячейки-«подушки» на стереографических картинках.
Масштаб $1/(1-w)$ объясняет и главное впечатление от этих картинок. Ячейка около «южного полюса» $w = -1$ уменьшается вдвое, ячейка с центром при $w = 0{,}9$ увеличивается в десять раз — разница в двадцать раз при том, что в четырёх измерениях все ячейки одинаковы. Та ячейка, в которую попал сам полюс, выворачивается наизнанку и становится «внешностью» всех остальных: её граница видна как огромная сфера, а внутренность уходит в бесконечность. Всё пространство $\R^3$ оказывается заполнено ячейками без пропусков и наложений. Посмотрите, как это выглядит у 120-ячейника: витрина, стереографическая линза.
Три линзы рядом
Ниже одно и то же тело показано тремя способами сразу, и все три панели вращаются вместе. Тень ($k = 0$) честно сохраняет параллельность, но всё накладывается. Перспектива ($k = 1/d$) раздвигает ближнее и дальнее. Стереография ($k = 1$, рёбра — дуги) не допускает наложений и сохраняет углы, зато сильно искажает размеры.
Нажмите «Диаграмма Шлегеля»: тессеракт повернётся ячейкой к глазу. В перспективе — рамка и куб внутри, в стереографии — «подушки», а в тени обе крайние ячейки слипаются в один куб, и шестнадцать вершин складываются в восемь точек. Тяните по любой панели: вы толкаете тело в четвёртое измерение, и цвет каждой точки показывает её $w$. Попробуйте 5-ячейник: у него диаграмма Шлегеля — тетраэдр, разбитый на четыре тетраэдра.
Что теряется в тени и как это вернуть
Проекция из четырёх измерений в три выбрасывает одно число из четырёх. Чем за это приходится платить?
- Наложения. Все точки одного луча попадают в одну точку тени. Рёбра, которые в четырёх измерениях не встречаются, на картинке пересекаются; ячейки проходят друг сквозь друга; не понять, что ближе. В параллельной тени тессеракта, повёрнутого ячейкой, две ячейки совпадают, а шесть сплющиваются в квадраты.
- Длины и углы. Все 24 грани тессеракта — одинаковые квадраты, но в перспективе многие из них выглядят трапециями. Стереография сохраняет углы, но не длины; параллельная проекция сохраняет параллельность, но не углы.
- Выпуклость и прямизна. В стереографии прямые рёбра становятся дугами, а плоские грани — кусками сфер.
Потерянную координату можно вернуть другими средствами. Первое — цвет: на витрине и во всех виджетах этого справочника точки с отрицательным $w$ (дальние от четырёхмерного глаза) синие, с положительным (ближние) — янтарные, между ними — фиолетовый и розовый. Второе — движение: когда тело вращается в четырёх измерениях, мозг по тому, как части скользят друг сквозь друга, догадывается о глубине, — так же, как вращение проволочного каркаса выдаёт его трёхмерную форму. Третье — несколько проекций сразу, как в виджете выше. Четвёртое — сечения вместо теней: они не теряют ничего, но показывают только кусок тела; о них отдельная глава.
Все три проекции — это одна формула $\mathbf X = (x, y, z)/(1 - kw)$ с разным $k$: $0$ — параллельная тень, $1/d$ — перспектива с глазом на расстоянии $d$, $1$ — стереография для тел на единичной сфере. Выбор $k$ — это выбор, чем пожертвовать.
Итоги
- Тень — проекция: параллельный свет забывает одну координату, точечный делит на расстояние до источника: $\mathbf X = \frac{d}{d-w}(x, y, z)$.
- «Куб в кубе» — перспективная тень тессеракта, повёрнутого ячейкой к глазу, ровно как «квадрат в квадрате» у куба под лампой.
- Деление в перспективе можно отложить: в однородных координатах перспектива линейна, и видеокарты делают это «перспективное деление» для каждой вершины.
- Диаграмма Шлегеля — перспектива с глазом у самой ячейки: ячейка становится рамкой, остальные укладываются внутрь без наложений.
- Стереографическая проекция переводит окружности в окружности или прямые и сохраняет углы; масштаб в точке равен $1/(1-w)$. Для $S^3$ это та же формула при $k = 1$.
Картинки на витрине двигаются, потому что тела вращаются. Как устроено вращение, когда осей больше нет, — в следующей главе.
Источники
- H. S. M. Coxeter. Regular Polytopes. 3rd ed. New York: Dover, 1973 — проекции и диаграммы Шлегеля.
- Schlegel diagram, Victor Schlegel — Wikipedia.
- G. W. Hart. 4D Polytope Projection Models by 3D Printing — о моделях Шлегеля.
- Stereographic projection — Wikipedia (история, свойства).
- H. A. Kastrup. On the Advancements of Conformal Transformations and their Associated Symmetries in Geometry and Theoretical Physics // Annalen der Physik 17 (2008), 631–690 — история стереографической проекции.
- E. Halley. An Easie Demonstration of the Analogy of the Logarithmick Tangents to the Meridian Line… // Phil. Trans. 19 (1695–1697), 202–214.
- A. F. Möbius. Der barycentrische Calcul. Leipzig, 1827; J. Plücker. Über ein neues Coordinatensystem // J. reine angew. Math. 5 (1830), 1–36.
- August Möbius — MacTutor History of Mathematics.