Геометрия
Точки, прямые, углы
Евклид написал «Начала» 2300 лет назад. Архитекторы Парфенона пользовались теми же теоремами. Pixar рендерит Toy Story из 1 миллиона треугольников - каждый проверяется через формулу площади, которую Евклид доказал в 300 BC. iPhone Face ID строит 3D-сетку из 30 000 точек на лице за 50 мс. Чистая геометрия.
- **iPhone Face ID:** 30 000 точек на поверхности лица, 3D-сетка, сравнение через расстояния и углы. Евклид не знал про смартфоны - но написал математику, которая их делает возможными.
- **Pixar и 3D-рендеринг:** Toy Story - 1 млн треугольников. Каждый кадр - пересечения лучей с отрезками, вычисление нормалей через углы, формула расстояния. 23 века спустя после Евклида.
- **GPS и навигация:** Положение на Земле - точка на сфере. Пересечение трёх сфер от спутников даёт координаты. Геометрическая задача, решаемая 30 раз в секунду в кармане каждого человека.
Точка и система координат
Геометрия начинается с самого простого объекта - **точки**. Точка не имеет размеров: ни длины, ни ширины, ни высоты. Только положение в пространстве. Обозначается заглавной буквой: A, B, C. На первый взгляд просто - но именно точка лежит в основе GPU, который рендерит кадр Pixar.
Чтобы описать положение точки числами, используют **систему координат**. На плоскости (2D) каждая точка имеет две координаты: A(x, y). По горизонтали - x (абсцисса), по вертикали - y (ордината). Пересечение осей - начало координат O(0, 0). Декарт придумал это в 1637 году, объединив геометрию с алгеброй.
Рене Декарт (1637) объединил геометрию и алгебру через координаты. Окружность x²+y²=r², прямая y=kx+b - геометрические объекты стали алгебраическими уравнениями. Это прорыв, без которого не было бы ни компьютерной графики, ни навигации, ни машинного обучения.
Плоскость делится осями на четыре **квадранта**: I (+, +), II (-, +), III (-, -), IV (+, -). В компьютерной графике экран - квадрант IV (ось y направлена вниз). Это первая неожиданность при переходе от математики к программированию.
Точка A имеет координаты (-3, 5). В каком квадранте она находится?
Прямая, луч, отрезок
Через две различные точки проходит ровно одна **прямая** - бесконечная в обе стороны. **Луч** - часть прямой с началом, бесконечная в одну сторону (луч света, луч в ray casting). **Отрезок** - конечная часть между двумя точками, имеет длину.
Две прямые на плоскости: **пересекающиеся** (одна общая точка), **параллельные** (нет общих, одинаковый наклон), или **совпадающие** (все точки общие). В SQL JOIN это три состояния двух множеств.
**Перпендикулярные прямые** пересекаются под углом 90°. Обозначение: a ⊥ b. Условие: k₁ · k₂ = -1. В ML - ортогональность векторов (скалярное произведение = 0) - та же идея, в n-мерном пространстве.
| Взаимное положение | Условие (наклоны k) | Символ |
|---|---|---|
| Параллельные | k₁ = k₂ (одинаковый наклон) | a ∥ b |
| Перпендикулярные | k₁ · k₂ = -1 | a ⊥ b |
| Пересекающиеся | k₁ ≠ k₂ | a ∩ b = {P} |
| Совпадающие | k₁ = k₂ и b₁ = b₂ | a = b |
Пятый постулат Евклида: через точку вне прямой проходит ровно одна параллельная. Лобачевский (1830) и Риман (1854) показали, что можно построить непротиворечивую геометрию, заменив его. Геометрия Римана - основа общей теории относительности. Эйнштейн описывал кривизну пространства-времени именно в ней.
Прямая a имеет наклон k = 2. Какой наклон у прямой, перпендикулярной ей?
Виды углов
**Угол** - фигура, образованная двумя лучами с общим началом (вершиной). Величина угла - мера поворота одного луча относительно другого. Измерение: **градусы** (°) или **радианы** (рад). В программировании - почти всегда радианы: sin(), cos(), atan2() в стандартных библиотеках работают в радианах.
| Вид угла | Величина (градусы) | Пример |
|---|---|---|
| Острый | 0° < α < 90° | Угол 45° - половина прямого |
| Прямой | α = 90° | Угол стены и пола |
| Тупой | 90° < α < 180° | Угол 120° - больше прямого |
| Развёрнутый | α = 180° | Оба луча на одной прямой |
| Полный | α = 360° | Полный оборот |
**Смежные углы** - общая сторона, другие стороны образуют прямую. Сумма = 180°. **Вертикальные углы** - стороны одного являются продолжениями сторон другого. Вертикальные углы равны. Оба свойства - следствия того, что развёрнутый угол = 180°.
**Радианы** - естественная мера углов в математике. 1 радиан - угол, при котором длина дуги равна радиусу. Полный оборот = 2π рад. Перевод: α_рад = α_град × π/180. Почему радианы естественнее? Производная sin(x) = cos(x) - только в радианах. В градусах появляется множитель π/180.
При пересечении двух прямых - 4 угла: 2 пары вертикальных (равных). Перпендикулярные прямые: все 4 угла = 90°. Параллельные, пересечённые секущей: соответственные равны, накрест лежащие равны, односторонние в сумме = 180°. Именно эти свойства делают возможным построение параллельных улиц в городах.
Чему равна сумма смежных углов?
Измерение: расстояния и углы
Измерение в геометрии: **линейка** для расстояний, **транспортир** для углов. В аналитической геометрии - формулы с координатами. В вычислительной геометрии (Pixar, игры, CAD) - те же формулы, но исполняются миллиарды раз в секунду на GPU.
Для точек A(x₁, y₁) и B(x₂, y₂): d(A,B) = √((x₂-x₁)² + (y₂-y₁)²). Это следствие теоремы Пифагора.
Расстояние от точки до прямой - длина перпендикуляра. Для прямой ax + by + c = 0 и точки P(x₀, y₀): d = |ax₀ + by₀ + c| / √(a² + b²). В SVM (машина опорных векторов) именно это расстояние максимизируется - отступ от разделяющей гиперплоскости.
| Формула | Что измеряет | Применение |
|---|---|---|
| √((x₂-x₁)²+(y₂-y₁)²) | Расстояние между точками | Длина отрезка |
| |ax₀+by₀+c|/√(a²+b²) | Расстояние от точки до прямой | Высота треугольника |
| arccos(a·b/(|a|·|b|)) | Угол между векторами | Угол в вершине |
| (x₁+x₂)/2, (y₁+y₂)/2 | Середина отрезка | Медиана, серединный перпендикуляр |
Формула расстояния - частный случай **метрики**. Другие метрики: манхэттенское |x₂-x₁|+|y₂-y₁| (движение по сетке улиц), Чебышёва max(|x₂-x₁|,|y₂-y₁|) (ход короля на шахматной доске). В ML косинусное расстояние используется для сравнения векторов слов - угол важнее длины.
Точка задаёт положение, прямая - направление, угол - поворот. Формулы расстояния и угла - теорема Пифагора в координатах. На этом фундаменте строятся треугольники, окружности и вся остальная геометрия. Евклид → Декарт → Pixar - три слоя одной идеи.
Точка имеет размер (это маленький кружок на бумаге)
Точка - математическая абстракция без размеров. Кружок - только визуализация.
В математике точка - объект нулевой размерности. Прямая - одномерная (длина без ширины). Плоскость - двумерная. Именно эти идеализации позволяют строить точные теории. В GPU точка - это float4 с координатами (x, y, z, w), но математически - всё равно абстракция без размера.
Чему равно расстояние между точками A(1, 2) и B(4, 6)?
Ключевые идеи
- **Точка** - объект без размеров, задаёт положение через координаты (x, y). Декарт объединил это с алгеброй в 1637 году.
- **Прямая** бесконечна, **луч** - половина прямой с началом, **отрезок** - конечная часть с длиной. Три разных объекта, три разных применения.
- **Углы:** острый (<90°), прямой (90°), тупой (>90°), развёрнутый (180°). Перпендикулярность: k₁ × k₂ = -1.
- **Формулы расстояния и угла** - теорема Пифагора в координатах. Евклид → Пифагор → iPhone Face ID: одна геометрия, 23 века.
Связанные темы
Точки, прямые и углы - атомы геометрии, из которых строится всё остальное:
- Треугольники — Три точки, три отрезка, три угла - треугольник наследует все базовые концепции
- Четырёхугольники и многоугольники — Параллельные и перпендикулярные прямые определяют прямоугольники и параллелограммы
Вопросы для размышления
- Евклид → Pixar - одна геометрия, 23 века. Что именно в 5 постулатах Евклида оказалось настолько фундаментальным, что держится до сих пор?
- iPhone Face ID использует 30 000 точек для распознавания лица. Какие именно геометрические операции (расстояния, углы, нормали) используются для сравнения двух сеток точек?
- Манхэттенское расстояние |x₂-x₁|+|y₂-y₁| vs евклидово √((x₂-x₁)²+(y₂-y₁)²). Когда первое лучше? Какой GPS выбрал бы для городских улиц?