Преобразования плоскости
Сдвиг, поворот и масштабирование плоскости — всё это простые операции над комплексными числами.
Линейное преобразование $w=az+b$ описывает композицию поворота, растяжения (через $a$) и сдвига (через $b$) плоскости.
Словарь преобразований
Комплексные операции напрямую соответствуют геометрии:
| Операция | Геометрия |
| $z+b$ | сдвиг (параллельный перенос) на вектор $b$ |
| $z\cdot e^{i\alpha}$ | поворот на угол $\alpha$ вокруг начала |
| $z\cdot r$ (вещественное $r\gt0$) | растяжение/сжатие в $r$ раз |
| $\bar{z}$ | отражение относительно вещественной оси |
Комбинируя их, получаем общее преобразование подобия $w=az+b$, где $a=re^{i\alpha}$ задаёт поворот с масштабированием, а $b$ — последующий сдвиг.
Поворот вокруг произвольной точки
Поворот вокруг начала координат — это просто умножение на $e^{i\alpha}$. А как повернуть вокруг другой точки $c$? Сначала сдвигаем так, чтобы $c$ попала в начало ($z-c$), поворачиваем, потом возвращаем сдвиг:
$$w=(z-c)e^{i\alpha}+c.$$
Повернём точку $z=3+0i$ на $90^\circ$ вокруг точки $c=1+0i$:
import cmath, math
z = 3 + 0j
c = 1 + 0j
alpha = math.pi/2 # 90 градусов
w = (z - c) * cmath.exp(1j*alpha) + c
print("Результат:", complex(round(w.real,4), round(w.imag,4)))Вывод:
Результат: (1+2j)
Точка $3$ при повороте на $90^\circ$ вокруг $1$ перешла в $1+2i$: расстояние до центра ($2$ единицы) сохранилось, направление повернулось вверх.
Композиция преобразований
Главное преимущество — преобразования композируются умножением. Два поворота $e^{i\alpha}$ и $e^{i\beta}$ дают поворот $e^{i(\alpha+\beta)}$. Поворот с масштабом и ещё один — просто перемножаются коэффициенты $a$. Где в матричной геометрии нужно перемножать матрицы $2\times2$, в комплексной — умножить два числа.
Как работает под капотом
Преобразование $w=az+b$ с $a\ne0$ называется аффинным преобразованием подобия: оно сохраняет углы и отношения длин, меняя только размер, ориентацию и положение фигуры. Именно такими преобразованиями строят фракталы вроде «папоротника Барнсли» и работают системы 2D-графики. Комплексное число $a$ компактно хранит и угол поворота, и коэффициент масштаба.
Частые ошибки
- Поворачивать вокруг произвольной точки простым умножением. Нужно сначала сдвинуть центр в начало координат.
- Путать сдвиг (сложение) и масштабирование (умножение на вещественное).
- Забывать, что умножение на комплексное $a$ с $|a|\ne1$ одновременно и поворачивает, и масштабирует.
Итог
- Сдвиг — сложение, поворот и масштаб — умножение, отражение — сопряжение.
- Поворот вокруг точки $c$: $w=(z-c)e^{i\alpha}+c$.
- Преобразования подобия композируются умножением комплексных коэффициентов.