Геометрия · Группы
Перенос, поворот, отражение и скользящая симметрия — все движения плоскости укладываются в три класса. Теорема о трёх гвоздях объясняет, почему это так, а теорема Шаля даёт полную классификацию. Ниже — интерактивные модели вместо длинных доказательств.
Движение плоскости — это преобразование, которое сохраняет расстояния: если между точками $A$ и $B$ было расстояние $x$, то после движения расстояние между их образами $A'$ и $B'$ снова равно $x$ — и так для любой пары точек.
Простейший пример — параллельный перенос: все точки сдвигаются на один и тот же вектор, поэтому расстояния между ними не меняются. Дальше выяснится, что «простейших» видов движения плоскости на самом деле немного — и они полностью исчерпывают список.
Переключайте вкладки и тащите ручки — флажок сразу показывает, что делает каждое движение. Бледный контур — исходное положение, синий флажок — образ.
Если движение оставляет на месте три точки $A$, $B$, $C$, не лежащие на одной прямой, оно оставляет на месте вообще всё — то есть является тождественным ($\mathrm{id}$). Перетащите $A$, $B$, $C$ и пробную точку $P$: три окружности радиусов $|AP|$, $|BP|$, $|CP|$ вокруг гвоздей пересекаются ровно в одной точке — самой $P$. Значит, никакая другая точка не может быть образом $P$ при движении, сохраняющем $A,B,C$.
Раз три неподвижные точки не на одной прямой — это всегда $\mathrm{id}$, разберём более скромные случаи по убыванию.
Две неподвижные точки. Это не случайность из вырожденного случая выше, а общий факт — лемма о двух точках: если движение оставляет на месте различные $A$ и $B$, оно оставляет на месте всю прямую $AB$ — для точки $C$ на этой прямой обязано сохраниться равенство длин ($|AC|+|CB|=|AB|$), а для точки вне прямой оно превратилось бы в строгое неравенство. При этом третьей неподвижной точки вне этой прямой быть не может: иначе, по теореме выше, неподвижным оказалось бы вообще всё. Значит, если движение не тождественно, но неподвижна хотя бы пара точек, неподвижна ровно вся прямая через них и ничего сверх того — это отражение относительно неё.
Одна неподвижная точка. Вторую движение зафиксировать уже не может — по той же лемме тогда зафиксировалась бы целая прямая. Это поворот вокруг неё — вы уже видели его в §2.
Ни одной неподвижной точки. Один пример у нас уже есть — ненулевой перенос. Но, как выясняется дальше, это не единственный ответ: есть ещё один, четвёртый вид движения.
Композиция отражения и сдвига вдоль его же оси — тоже движение без единой неподвижной точки, но её нельзя свести ни к переносу, ни к повороту, ни к простому отражению. Это и есть обещанный четвёртый, самостоятельный вид — скользящая симметрия.
Всякое движение плоскости относится ровно к одному из трёх классов:
$\rightrightarrows$ перенос (в том числе нулевой — тождественное движение);
$\circlearrowleft$ поворот вокруг произвольного центра;
$\leftharpoonup\leftharpoondown$ скользящая симметрия — в том числе обычное отражение как случай нулевого сдвига.
Тождественное движение — это перенос на нулевой вектор; обычное отражение — это скользящая симметрия с нулевым сдвигом вдоль оси. Других движений плоскости не существует.
На картинке — исходный флажок (бледный контур) и его образ (синий) под действием одного конкретного движения. Прежде чем открыть ответ — какой это класс: перенос, поворот или скользящая симметрия?
Ответ: это скользящая симметрия — флажок одновременно отразился (поменял «сторону») и сдвинулся вдоль оси отражения. Ни перенос, ни поворот в одиночку так не смогли бы: перенос не меняет ориентацию флажка, а поворот оставляет на месте свой центр.
Что получится, если сначала выполнить движение из строки, а затем — из столбца (порядок «строка∘столбец», как и в таблице композиций для прямой). Две ячейки на диагонали неоднозначны: их конкретный исход зависит от параметров, а не только от класса.
| $\rightrightarrows$ перенос | $\circlearrowleft$ поворот | $\leftharpoonup\leftharpoondown$ скользящая симметрия | |
|---|---|---|---|
| $\rightrightarrows$ перенос | $\rightrightarrows$ перенос | $\circlearrowleft$ поворот | $\leftharpoonup\leftharpoondown$ скользящая симметрия |
| $\circlearrowleft$ поворот | $\circlearrowleft$ поворот | $\rightrightarrows$ перенос или $\circlearrowleft$ поворот | $\leftharpoonup\leftharpoondown$ скользящая симметрия |
| $\leftharpoonup\leftharpoondown$ скользящая симметрия | $\leftharpoonup\leftharpoondown$ скользящая симметрия | $\leftharpoonup\leftharpoondown$ скользящая симметрия | $\rightrightarrows$ перенос или $\circlearrowleft$ поворот |
Композиция двух скользящих симметрий — это перенос, если их оси параллельны, и поворот (на удвоенный угол между осями), если оси пересекаются — совершенно как для двух обычных отражений: скользящая составляющая обеих симметрий в промежуточных выкладках сокращается. Тот же эффект даёт композицию поворот∘поворот: перенос, если сумма углов кратна $2\pi$, иначе поворот на эту сумму.
Если считать плоскость полем комплексных чисел, каждое движение записывается одной формулой. Сложение с числом — это перенос; умножение на число с $|a|=1$ — поворот вокруг нуля; сопряжение $\bar z$ — отражение от вещественной оси. Собирая эти операции вместе, получаем всё семейство:
$f(z) = az + b$, $|a|=1$ — движения первого рода (перенос, поворот): $a=1$ — перенос на вектор $b$; $a\ne1$ — поворот на угол $\arg a$ вокруг точки $z_0=b/(1-a)$.
$f(z) = a\bar z + b$, $|a|=1$ — движения второго рода (отражение, скользящая симметрия).
Настройте движение и посмотрите на его формулу — сначала как она вычисляется из геометрических параметров, потом как выглядит в раскрытом виде.
Соберите $g$ (применяется первым) и $f$ (применяется вторым) — ниже сразу появится $f\circ g$: класс результата, его формула и параметры, посчитанные из алгебры, а не подобранные на глаз.
Если движение задано не геометрическими параметрами осей и векторов, а образами конкретных точек, его комплексную формулу можно восстановить алгебраически. Для этого достаточно двух или трёх точек.
Когда заранее известно, сохраняет движение ориентацию или меняет, для однозначного задания достаточно двух различных точек $z_1, z_2$ и их образов $w_1, w_2$.
Для собственного движения ($w = az + b$) коэффициенты находятся из линейной системы:
$$a = \frac{w_2 - w_1}{z_2 - z_1}, \quad b = \frac{w_1 z_2 - w_2 z_1}{z_2 - z_1}$$Для несобственного движения ($w = a\bar{z} + b$) в знаменателях появляется сопряжение:
$$a = \frac{w_2 - w_1}{\bar{z}_2 - \bar{z}_1}, \quad b = \frac{w_1 \bar{z}_2 - w_2 \bar{z}_1}{\bar{z}_2 - \bar{z}_1}$$Двух точек в этом случае не хватит: они оставляют неоднозначность. Существует ровно одно собственное и ровно одно несобственное движение, переводящие направленный отрезок $z_1z_2$ в $w_1w_2$. Потребуется третья точка $z_3$, не лежащая на прямой через первые две, и её образ $w_3$.
Алгоритм проверки простой: по $z_1, z_2$ вычисляются коэффициенты $a, b$ в предположении, что движение собственное. Если для третьей точки выполняется равенство $w_3 = a z_3 + b$, гипотеза подтверждается. Если тождество не сошлось — движение гарантированно несобственное, и коэффициенты нужно пересчитать по формулам для $\bar{z}$.