Геометрия

Тела вращения

Каждый физический движок (Bullet, PhysX, Jolt) использует иерархию bounding volumes: сначала сферы, потом AABB, потом точная геометрия. Это разница между 60 FPS и 10 FPS в насыщенной 3D сцене.

  • **3D графика:** sphere proxy - первый уровень collision broadphase
  • **3D-печать:** объём и площадь поверхности детали = время печати и расход материала
  • **Архитектура:** теорема Паппа для расчёта объёма тороидальных конструкций
  • **Astro/геодезия:** объём атмосферного слоя = объём большой сферы − малой

Предварительные знания

  • Polyhedra

Основные тела вращения

Тело вращения получается вращением плоской фигуры вокруг оси. Цилиндр, конус и сфера - три базовых примитива, которые часто используют как collision proxy в 3D.

ТелоОбъёмПолная площадь поверхности
Цилиндр (r, h)V = πr²hS = 2πr² + 2πrh = 2πr(r+h)
Конус (r, h)V = πr²h/3S = πr² + πrl = πr(r+l), l=√(r²+h²)
Сфера (r)V = 4πr³/3S = 4πr²
Тор (R, r)V = 2π²Rr²S = 4π²Rr

Объём конуса с радиусом r=3 и высотой h=4 равен:

Теорема Паппа

Теорема Паппа - мощный инструмент вычисления объёмов и площадей поверхностей тел вращения без интегрирования: достаточно знать площадь фигуры и расстояние её центроида до оси.

**Теорема Паппа об объёме:** V = 2π · d · A где d - расстояние от центроида фигуры до оси вращения, A - площадь фигуры. **Теорема Паппа о площади:** S = 2π · d · L где L - длина кривой (образующей поверхности).

Теорема Паппа даёт объём тора без тройного интеграла - идеально для 3D-печати тороидальных деталей.

Треугольник площадью 6 вращается вокруг оси. Центроид треугольника находится на расстоянии 4 от оси. Объём тела вращения:

Тор и параметрические поверхности

Параметрические поверхности задаются функцией двух параметров (u, v) ↦ (x, y, z). Это стандартный способ определения поверхностей в компьютерной графике.

**Тор (R - большой радиус, r - малый):** x(u,v) = (R + r·cos v)·cos u y(u,v) = (R + r·cos v)·sin u z(u,v) = r·sin v u, v ∈ [0, 2π] **Сфера:** x = r·sin θ·cos φ, y = r·sin θ·sin φ, z = r·cos θ

Сколько параметров нужно для задания точки на поверхности тора?

LOD и сферические прокси в 3D

Level of Detail (LOD) и bounding volumes - практические применения тел вращения в 3D движках. Простые фигуры заменяют сложные меши на расстоянии или для быстрой collision detection.

**Иерархия bounding volumes (по скорости):** 1. Bounding Sphere - самая быстрая проверка, O(1) 2. AABB (Axis-Aligned Bounding Box) - немного медленнее 3. OBB (Oriented Bounding Box) - точнее, но дороже 4. Convex Hull - точнее всех, самая дорогая Practice: сначала sphere-test, при совпадении - детальная проверка.

Почему bounding sphere используют перед более точными collision tests?

Ключевые идеи

  • **Сфера:** V = 4πr³/3, S = 4πr² - самый простой collision proxy
  • **Теорема Паппа:** V = 2πdA - объём тела вращения без интегрирования
  • **Параметрические поверхности:** точка задаётся функцией (u,v) - стандарт 3D графики
  • **LOD:** bounding sphere → AABB → convex hull - иерархия точности vs скорости

Связанные темы

Тела вращения связывают стереометрию с векторной алгеброй:

  • Многогранники — Сфера как предел икосаэдра при бесконечном subdivision
  • Векторная геометрия — Нормаль к параметрической поверхности = кросс-произведение частных производных
  • Геометрия на собеседовании — Задачи на объём тел вращения - классика на интервью

Вопросы для размышления

  • Как найти минимальную описывающую сферу для набора точек (алгоритм Велцля)? В чём его сложность?
  • Почему параметрические поверхности предпочтительнее implicit уравнений для рендеринга?
  • Как теорема Паппа объясняет формулы объёма цилиндра и конуса через формулу тела вращения?

Связанные уроки

  • calc-11-definite
Тела вращения

0

1

Войти