Geometry
Solids of Revolution
Every physics engine (Bullet, PhysX, Jolt) uses a bounding volume hierarchy: spheres first, then AABB, then exact geometry. This is the difference between 60 FPS and 10 FPS in a dense 3D scene.
- **3D graphics:** bounding sphere = first level of collision broadphase
- **3D printing:** volume and surface area of a part determine print time and material cost
- **Architecture:** Pappus for volume of toroidal structural elements
- **Astronomy:** atmospheric layer volume = large sphere volume minus small sphere volume
Предварительные знания
Basic Solids of Revolution
A solid of revolution is generated by rotating a planar shape around an axis. Cylinder, cone, and sphere are the three core primitives often used as collision proxies in 3D engines.
| Solid | Volume | Surface Area |
|---|---|---|
| Cylinder (r, h) | V = πr²h | S = 2πr(r+h) |
| Cone (r, h) | V = πr²h/3 | S = πr(r+l), l=√(r²+h²) |
| Sphere (r) | V = 4πr³/3 | S = 4πr² |
| Torus (R, r) | V = 2π²Rr² | S = 4π²Rr |
Volume of a cone with r=3 and h=4:
Pappus's Centroid Theorem
Pappus's theorem computes volumes and surface areas of solids of revolution without integration - just the area of the generating region and the distance its centroid travels.
**Volume theorem:** V = 2π · d · A where d = distance from centroid to axis, A = area of the figure. **Surface theorem:** S = 2π · d · L where L = length of the generating curve.
Pappus gives the torus volume without a triple integral - ideal for estimating material usage in 3D-printed toroidal parts.
A triangle of area 6 is rotated around an axis. Its centroid is 4 units from the axis. Volume of the solid:
Torus and Parametric Surfaces
Parametric surfaces are defined by a function (u, v) ↦ (x, y, z). This is the standard way surfaces are defined and sampled in computer graphics.
**Torus (R = major radius, r = minor radius):** 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π] **Sphere:** x = r·sin θ·cos φ, y = r·sin θ·sin φ, z = r·cos θ
How many parameters are needed to specify a point on a torus surface?
LOD and Bounding Volume Hierarchy
Level of Detail (LOD) and bounding volumes are practical applications of solids of revolution. Simple shapes replace complex meshes at distance or for fast collision detection.
**Bounding volume hierarchy (speed order):** 1. Bounding Sphere - fastest test, O(1) 2. AABB (Axis-Aligned Bounding Box) - slightly more precise 3. OBB (Oriented Bounding Box) - more accurate, more expensive 4. Convex Hull - most accurate, most expensive Practice: sphere test first; if it hits, run a detailed check.
Why is a bounding sphere used before more precise collision tests?
Key Ideas
- **Sphere:** V = 4πr³/3, S = 4πr² - the simplest collision proxy
- **Pappus:** V = 2πdA - volume of a solid of revolution without integration
- **Parametric surfaces:** point defined by (u,v) function - the 3D graphics standard
- **LOD:** sphere → AABB → convex hull - hierarchy of accuracy vs speed
Related Topics
Solids of revolution connect solid geometry to vector algebra:
- Polyhedra — Sphere as limit of icosahedron under infinite subdivision
- Vector Geometry — Normal to parametric surface = cross product of partial derivatives
- Geometry in Interviews — Volumes of revolution are a classic interview topic
Вопросы для размышления
- How does Welzl's algorithm find the minimum enclosing sphere? What is its expected complexity?
- Why are parametric surfaces preferred over implicit equations for rendering?
- How does Pappus's theorem explain the cone and cylinder volume formulas as special cases of solids of revolution?