Трехмерное пространство — это геометрическая модель мира, в которой положение любой точки однозначно определяется тремя координатами. В отличие от прямой или плоскости, здесь существует объем, позволяющий описывать реальные физические тела. Это фундаментальная концепция, лежащая в основе классической механики, архитектуры и компьютерной графики.
Интуитивно мы воспринимаем мир именно так: вправо-влево, вперед-назад, вверх-вниз. Математически это означает наличие трех линейно независимых векторов, образующих базис. Любой вектор пространства представляется их линейной комбинацией, что дает ключ к решению задач навигации, моделирования и рендеринга.
Математическое определение и аксиоматика
В рамках евклидовой геометрии трехмерное пространство задается системой аксиом Гильберта. Ключевые свойства: бесконечность, однородность (все точки равноправны) и изотропия (все направления равны). Расстояние между точками вычисляется по теореме Пифагора, обобщенной на три измерения.
Существует и обобщенный подход: аффинное пространство размерности 3. Оно не требует заданного начала координат или понятия угла, сохраняя только параллельность и отношения отрезков. Это удобно для компьютерной графики, где камера и объекты постоянно перемещаются.
Топологически 3D-пространство (R³) гомоморфно открытому шару. Оно простосвязно: любая замкнутая петля может быть сжата в точку без разрывов. Это свойство критично для алгоритмов расчета путей и симуляции жидкостей.
- 📐 Базис — три некомпланарных вектора, задающих систему отсчета
- 📏 Метрика — правило измерения расстояний и углов (евклидова, минковская)
- 🔄 Группа движений — изометрии: параллельные переносы, вращения, отражения
- 🎯 Ориентация — правое или левое правило винта (хиральность)
Физическая интерпретация: от Ньютона к Эйнштейну
В классической механике Ньютона пространство — абсолютная сцена, существующая независимо от материи. Время течет равномерно во Вселенной. Эта модель идеально работает для баллистики, строительства и орбитальной механики на низких скоростях.
Общая теория относительности кардинально изменила картину. Гравитация — это не сила, а кривизна четырехмерного пространства-времени. Масса энергии изгибает геометрию, заставляя телы двигаться по геодезическим. Вблизи черных дыр евклидовы формулы дают огромную погрешность.
На квантовом уровне понятие гладкого многообразия теряет смысл на планковских масштабах (~10⁻³⁵ м). Теория струн и квантовая гравитация предполагают, что измерения могут быть компактифицированы или иметь пенистую структуру.
⚠️ Внимание: Не применяйте евклидовые формулы для расчета траекторий GPS-спутников без поправок на релятивизм — накопленная ошибка составит километры за сутки.
Гравитация в ОТО — это геометрия: массивные тела изгибают 4D пространство-время, диктуя движение планет и света.
Координатные системы и навигация
Для практических задач выбирают систему координат, адаптированную под симметрию проблемы. Декартова прямоугольная (x, y, z) — универсальна для CAD и игровых движков. Оси попарно перпендикулярны, проекции векторов вычисляются тривиально.
При осевой симметрии (трубы, валы, орбиты) эффективнее цилиндрическая система: радиус ρ, азимут φ, высота z. Для задач с центральной симметрией (поле точечного заряда, гравитация звезды) идеальна сферическая: радиус r, полярный угол θ, азимут φ.
Переход между системами требует якобеана — определителя матрицы частных производных. Он учитывает изменение объемного элемента при интегрировании. Забыть о якобеане — классическая ошибка при расчете потоков через поверхности.
| Система | Координаты | Область применения | Объемный элемент dV |
|---|---|---|---|
| Декартова | x, y, z | CAD, игровые движки, FEM | dx dy dz |
| Цилиндрическая | ρ, φ, z | Валовые детали, катушки, реакторы | ρ dρ dφ dz |
| Сферическая | r, θ, φ | Астрофизика, антенны, ядерная физика | r² sinθ dr dθ dφ |
Почему в сферической системе dV = r² sinθ dr dθ dφ?
Фактор r² учитывает рост площади сферы с радиусом, sinθ — сжатие меридианов к полюсам. Без них интеграл по объему шара даст неверный результат. Якобеан перехода из Декартовой: |J| = r² sinθ.
Визуализация и восприятие глубины
Человеческий глаз получает двумерную проекцию на сетчатке. Мозг восстанавливает глубину за счет бинокулярной диспаратности (разница изображений у левого и правого глаза), монокулярных признаков (перспектива, затенение, окклюзия) и аккомодации хрусталика.
В компьютерной графике используется перспективная проекция с точкой схода. Матрица проекции 4×4 преобразует мировые координаты в нормализованные устройственные (NDC), где видимый объем — куб [-1, 1]³. Глубина сохраняется в Z-буфере для теста видимости.
Стереоскопические технологии (VR, 3D-кино) подают каждый глазу свой кадр. Критична правильная настройка IPD (межзрачковое расстояние) и нулевой параллакс — плоскости экрана, где объекты не имеют диспаратности. Ошибки вызывают астенопию и головную боль.
При моделировании для VR держите ключевые объекты в зоне комфорта: 0.5–3 метра от камеры, избегайте быстрых движений камеры без вेстибулярной синхронизации.
Применение в компьютерной графике и CAD
Современный 3D-пайплайн строится на полигональных сетках (mesh). Поверхность аппроксимируется треугольниками или четырехугольниками. Каждая вершина хранит позицию vec3, нормаль, текстурные координаты vec2 и, для анимации, веса костей скиннинга.
Твердотельное моделирование (B-Rep, CSG) оперирует точными геометрическими примитивами и булевыми операциями. Это стандарт в механическом инженеринге (SolidWorks, NX, FreeCAD). Полигональные модели (Blender, Maya, ZBrush) доминируют в кино, играх и 3D-печати после ретопологии.
Форматы обмена: STL (только треугольники, без цвета), OBJ (геометрия + UV + нормали), glTF (современный стандарт для веба, включает PBR-материалы, анимации, скины). USD (Universal Scene Description) от Pixar становится индустриальным стандартом для сложных конвейеров VFX.
- 🎮 Игровые движки — Unity (UWP), Unreal Engine (USDZ/glTF), Godot
- 🏭 CAE/CAE — STEP (AP242), IGES, JT для межведомственного обмена
- 🌐 Web 3D — glTF/GLB, Three.js, Babylon.js, WebGPU
- 🖨️ Аддитивное производство — 3MF (материалы, латисы, метаданные), AMF
Топология сетки (edge flow) важнее количества полигонов: чистая квадро-сетка предсказуемо деформируется при анимации и субдивизии.
Высшие измерения и компактификация
Математика легко обобщает 3D на n-мерное пространство (Rⁿ). Скалярное произведение, норма, векторное (только в 3D и 7D) и внешнее произведения переносятся напрямую. В машинном обучении данные часто лежат в пространствах размерности тысячи — манестра обучения.
Теория струн требует 10 или 11 измерений для согласованности. Лишние 6-7 «свернуты» в калаби-Яу многообразия размером порядка планковской длины. Их топология (числа Ходжа) диктует спектр элементарных частиц и константы взаимодействий в нашем макромире.
Для инженерных задач 4D — это часто пространство-время (добавление параметра t) или пространство конфигураций робота (суставные координаты q₁...qₙ). Планирование пути — поиск траектории в этом пространстве с учетом препятствий (C-space).
⚠️ Внимание: Векторное произведение определено только в 3D и 7D (теорема Хурвица). В 4D и выше используйте внешнее произведение (бивектор) или кватернионы для вращений.
Практические задачи: работа с 3D-данными
При импорте чужой модели первым делом проверяйте единицы измерения (мм, см, дюймы) и ориентацию осей (Z-up vs Y-up). Несовпадение дает масштаб 1:1000 или перевернутую сцену. В Blender: Scene → Units, в Unity: Import Settings → Scale Factor.
Оптимизация геометрии: удаление скрытых граней, слияние вершин по порогу (Merge by Distance), ретопология высокополигонального скана в низкополигональную игровую модель. Для LOD (Level of Detail) готовят 3-4 версии сетки с разной плотностью.
Текстурирование требует развертки UV без перекрытий и с минимальными искажениями. Используйте UDIM для высокого разрешения на больших ассетах. Бакинг карт (Normal, AO, Curvature) переносит детали высокой геометрии на текстуры низкой.
☑️ Подготовка 3D-ассета к продакшену
⚠️ Внимание: Z-fighting (мерцание совпадающих полигонов) лечится не сдвигом камеры, а смещением геометрии, настройкой Near/Far клиппинговых плоскостей или использованием Polygon Offset.
Часто задаваемые вопросы (FAQ)
В чем разница между вектором и точкой в 3D?
Точка — это положение в пространстве (аффинное понятие). Вектор — направление и величина (свободный вектор). Разность двух точек дает вектор. Сложение точки и вектора дает новую точку. В гомогенных координатах у точки w=1, у вектора w=0.
Почему для вращений используют кватернионы, а не углы Эйлера?
Углы Эйлера страдают от Gimbal Lock (потери степени свободы при параллельности осей). Кватернионы (4 числа) обеспечивают гладкую интерполяцию (SLERP), не имеют сингулярностей и компактнее матриц 3×3. Внутренне движки все равно конвертируют их в матрицы для шейдеров.
Что такое гомогенные координаты и зачем они нужны?
Это представление 3D-точки 4-компонентным вектором (x, y, z, w). Позволяет выразить любую аффинное преобразование (перенос, вращение, масштаб, проекцию) умножением одной матрицы 4×4. После перспективной проекции делается перспективное деление: (x/w, y/w, z/w).
Как выбрать Near/Far плоскости камеры для Z-буфера?
Ближнюю (Near) — максимально далеко от нуля (например, 0.1–1 м), дальнюю (Far) — минимально близко к дальним объектам. Точность Z-буфера нелинейна: 90% бит уходит на первую десятую часть глубины. Огромный диапазон (0.01 – 10000) дает артефакты Z-fighting.
Что такое PBR-материалы и почему они стандарт?
Physically Based Rendering использует физически корректную модель отражения (BRDF, обычно GGX/Disney). Параметры: Albedo (базовый цвет), Roughness (шероховатость), Metallic (металличность), Normal map. Гарантируют одинаковый вид под любым освещением без «подгонки» под конкретную сцену.