Каждый пиксель, объект игры и блок интерфейса живёт в координатах, а двигают их преобразования. За графикой, играми, версткой и анимацией стоит школьная геометрия: координаты, векторы и матрицы поворота-масштаба. Покрутите и подвигайте фигуру — это и есть аффинное преобразование, которое программист пишет каждый день.
Экран — это координатная плоскость, а всё на нём — точки с координатами. Сдвинуть окно, повернуть спрайт, отмасштабировать интерфейс под экран, оживить анимацию — всё это геометрические преобразования над координатами. CSS‑свойство transform: rotate() scale() translate(), матрица в шейдере, камера в игровом движке — за каждым стоит та же школьная геометрия: координаты Декарта, векторы и матрицы поворота. Программист, который «видит» геометрию, понимает графику и анимацию изнутри, а не как набор магических функций.
Поворот и масштаб — это умножение координат на матрицу $\begin{pmatrix} k\cos\theta & -k\sin\theta \\ k\sin\theta & k\cos\theta \end{pmatrix}$, сдвиг — прибавление вектора. Любую цепочку «повернуть, масштабировать, сместить» можно свернуть в одно преобразование — именно так движки и браузеры применяют десятки трансформаций за один проход.
Положение всего на экране — пара или тройка чисел. Расстояния, попадания, столкновения считаются по формуле расстояния (модуль M9).
Направление и скорость, нормали, освещение. Скалярное произведение даёт угол и проверяет видимость грани (модуль M9).
Поворот, масштаб, сдвиг и проекция — всё это матрицы. Камера в 3D — тоже матрица, превращающая мир в картинку на экране.
К ним добавляется вычислительная геометрия: пересечения отрезков и фигур, выпуклые оболочки, триангуляция, построение сечений (привет модулю M7). Игровая физика, редакторы карт, САПР, визуализация данных — всё это прикладная геометрия в коде.
Геймдев и графика: спрайты, камеры, шейдеры, столкновения — сплошные координаты и матрицы. Фронтенд и вёрстка: CSS‑трансформации, адаптивные сетки, анимации, SVG. 3D и САПР: модели, сечения, развёртки, проекции — прямое продолжение начертательной геометрии. Визуализация данных: оси, проекции многомерных данных, графы. Машинное обучение: вектора и расстояния в пространстве признаков. Везде, где есть «экран» и «движение», программисту катастрофически полезно видеть геометрию, а не только вызывать готовые функции — тогда баги в трансформациях и проекциях становятся очевидными.
Координаты + векторы + матрицы = графика, игры, вёрстка, 3D, визуализация и ML. Наглядная геометрия превращает «магические функции» в понятный инструмент.