A Progressive Guide to Point Cloud & Mesh Reconstruction
Xin trΓ’n trα»ng cαΊ£m Ζ‘n PGS. TS. Nguyα» n TαΊ₯n KhΓ΄i β giαΊ£ng viΓͺn mΓ΄n MΓ΄ hΓ¬nh hoΓ‘ hΓ¬nh hα»c (ΔαΊ‘i hα»c BΓ‘ch khoa ΔΓ NαΊ΅ng) β ngΖ°α»i ΔΓ£ truyα»n cαΊ£m hα»©ng vΓ Δα»nh hΖ°α»ng tΖ° duy, tαΊ‘o Δα»ng lα»±c Δα» tΓ΄i xΓ’y dα»±ng repository nΓ y.
I would like to express my sincere gratitude to Assoc. Prof. Dr. Nguyα» n TαΊ₯n KhΓ΄i, lecturer of Geometric Modeling at the University of Science and Technology β The University of Danang, whose inspiration and guidance motivated me to build this repository.
Authored by: Tran Nhat Minh
- Overview
- 2D/2.5D Methods
- 3D Foundation Methods
- 3D Reconstruction Methods
- Specialized Methods
- Decision Guide
2D/2.5D (1970s-1980s)
β
Delaunay 2D β Heightmaps
β
3D Foundation (1980s-1990s)
β
Convex Hull β Alpha Shapes β Delaunay 3D
β
3D Reconstruction (1990s-2000s)
β
Ball Pivoting β Greedy Projection
β
Modern (2000s-Present)
β
Poisson β Screened Poisson β Neural Methods
[PLACEHOLDER: Evolution timeline diagram]
| Method | Era | Speed | Quality | Watertight | Complexity | Best For |
|---|---|---|---|---|---|---|
| Delaunay 2D | 1970s | β‘β‘β‘β‘β‘ | βββ | β | β | Terrain |
| Heightmap | 1980s | β‘β‘β‘β‘β‘ | βββ | β | β | Grid data |
| Convex Hull | 1980s | β‘β‘β‘β‘β‘ | β | β | β | Bounding |
| Delaunay 3D | 1980s | β‘β‘β‘β‘ | ββ | β | ββ | Foundation |
| Alpha Shapes | 1994 | β‘β‘β‘β‘ | ββββ | ββ | Boundaries | |
| Ball Pivoting | 1999 | β‘β‘β‘β‘ | ββββ | ββ | Dense scans | |
| Poisson | 2006 | β‘β‘ | βββββ | β | βββ | High quality |
| Screened Poisson | 2013 | β‘β‘ | βββββ | β | βββ | State-of-art |
| Marching Cubes | 1987 | β‘β‘β‘ | βββββ | β | ββ | Volume data |
When to use: Flat data, terrain, maps, elevation data
[PLACEHOLDER: Delaunay 2D example - points to triangles]
| Property | Value |
|---|---|
| Year | 1934 (Delaunay), 1970s (Computational) |
| Complexity | O(n log n) |
| Paradigm | Optimal 2D triangulation |
| Parameters | None (deterministic) |
Delaunay Criterion: Maximize minimum angle β No point inside any triangle's circumcircle
Good Triangle (Delaunay) Bad Triangle (Non-Delaunay)
β β
β± β² β± β²
β± β² β± β β² β Point in circle!
βββββββ βββββββ
[PLACEHOLDER: Circumcircle criterion visualization]
- Mathematically optimal: Maximize minimum angle
- Extremely fast: < 1s for 10K points
- Deterministic: Same input β same output
- No parameters: No tuning needed
- Dual of Voronoi: Rich mathematical properties
- 2D ONLY: Cannot handle true 3D
- Projection loss: 3D β 2D loses information
- No overhangs: Z must be single-valued
- Wrong for 3D objects: Creates incorrect triangles
Delaunay 2D (1970s)
β
Constrained Delaunay (1980s) β Can force edges
β
Delaunay 3D (1990s) β Tetrahedra
β
Alpha Shapes (1994) β Filtered Delaunay
Delaunay 2D is the foundation for many modern methods:
- Alpha Shapes filter Delaunay tetrahedra
- Constrained Delaunay adds constraints
- 3D Delaunay extends to tetrahedra
[PLACEHOLDER: Delaunay family tree diagram]
[PLACEHOLDER: CDT with forced edges highlighted]
| Property | Value |
|---|---|
| Year | 1980s |
| Base | Delaunay 2D + Constraints |
| Parameters | Edge constraints, holes |
Standard Delaunay: Free triangulation Constrained Delaunay: Must preserve specified edges
Standard: Constrained:
βββββ βββββ
ββ² β±β β β± β β Must keep this edge
β β³ β β ββ± β
ββ± β²β βββββ
βββββ
- Feature preservation: Roads, rivers, boundaries
- Hole support: Can create holes
- Multi-region: Handle islands
- Loses optimality: No longer maximizes angles
- More complex: Requires constraint input
- Still 2D only: Same limitations as base
Adds: Edge constraints, hole specification Keeps: Delaunay property where possible
[PLACEHOLDER: Regular grid to mesh]
| Property | Value |
|---|---|
| Year | 1980s |
| Paradigm | Regular grid structure |
| Key Parameter | Grid resolution (20-512) |
Regular grid of heights β Two triangles per cell
Grid: Mesh:
4β5β6 4β5β6
β β β ββ±ββ±β
1β2β3 β 1β2β3
- Extremely fast: No complex computation
- Game engine friendly: Regular structure
- Easy UV mapping: Grid β textures
- Simple LOD: Easy level-of-detail
- Memory efficient: Predictable structure
- Only Z=f(X,Y): Single-valued function
- No overhangs: Cannot handle cliffs, caves
- Uniform waste: Grid cells even where flat
- Interpolation artifacts: Cubic can create ripples
Delaunay 2D: Adaptive, irregular triangles Heightmap: Regular, uniform grid
Trade-off: Simplicity vs adaptivity
When to use: True 3D data, complex geometry
[PLACEHOLDER: Point cloud β convex hull]
| Property | Value |
|---|---|
| Year | 1970s-1980s |
| Complexity | O(n log n) |
| Paradigm | Smallest convex envelope |
| Parameters | None (unique solution) |
Convex Hull = Smallest convex shape containing all points
Like "shrink-wrapping" but ONLY convex surface.
- Extremely fast: O(n log n)
- Always watertight: Guaranteed closed
- Deterministic: Unique solution
- Never fails: Robust algorithm
- Foundation: Base for other methods
- Loses ALL concavity: Only convex
- Not shape-preserving: Creates new geometry
- Limited use: Only bounding volumes
Convex Hull (1970s)
β
Alpha Shapes (1994) β Allows non-convex
β
Power Crust (2001) β Better thin features
Convex Hull is the upper bound of all shape approximations:
- Alpha Shapes: Ξ±ββ = Convex Hull
- Any tighter fit must be non-convex
[PLACEHOLDER: Alpha spectrum from tight to convex hull]
[PLACEHOLDER: Different alpha values comparison]
| Property | Value |
|---|---|
| Year | 1994 (Edelsbrunner & MΓΌcke) |
| Base | Delaunay 3D + Filtering |
| Key Parameter | Alpha (radius) |
| Complexity | O(nΒ²) worst case |
Alpha Shapes = Delaunay 3D tetrahedra + size filter
Ξ± β 0: Points only
Ξ± small: Detailed, holes
Ξ± medium: Shape outline
Ξ± β β: Convex Hull
Delaunay 3D (base):
- Create ALL tetrahedra (fills volume)
- Result: Convex hull
Alpha Shapes (improvement):
- Create ALL tetrahedra (same as Delaunay)
- Filter: Remove "large" tetrahedra (Ξ± threshold)
- Extract boundary
- Result: Non-convex shape
- Non-convex: Captures concavities
- Adjustable detail: Ξ± parameter
- No spurious connections: Filters unwanted triangles
- Well-studied: Strong theory
- Parameter tuning: Needs Ξ± selection
- Not always watertight: May have holes
- Multiple components: Can fragment
- Still derivative: Based on Delaunay
| Delaunay 3D | Alpha Shapes | |
|---|---|---|
| Tetrahedra | All kept | Filtered by Ξ± |
| Result | Convex hull | Non-convex possible |
| Parameters | None | Alpha (critical) |
| Output | Unique | Varies with Ξ± |
Formula: Ξ± = mean_edge_length Γ multiplier
| Multiplier | Effect | Use Case |
|---|---|---|
| 1.5 | Very tight | Max detail |
| 2.5 | Balanced β | Most cases |
| 4.0 | Loose | Gap filling |
| 6.0+ | Very loose | Near convex |
[PLACEHOLDER: Alpha parameter effect series]
Alpha Shapes (1994)
β
Weighted Alpha Shapes (2000s) β Non-uniform points
β
Robust Cocone (2002) β Better normals
β
Power Crust (2001) β Thin features
[PLACEHOLDER: Tetrahedra filling space]
| Property | Value |
|---|---|
| Year | 1980s-1990s |
| Output | Volume tetrahedra |
| Surface | Convex hull (boundary) |
Extend 2D Delaunay to 3D:
- 2D: Triangles
- 3D: Tetrahedra (4 vertices each)
- 3D foundation: Base for many methods
- Well-studied: Rich theory
- Efficient: O(n log n) expected
- Only convex surface: Same as convex hull
- Not directly useful: Needs post-processing
- Volume filling: Creates interior tetrahedra
Delaunay 3D is NOT a standalone method - it's a building block:
Delaunay 3D Tetrahedra
β
Used by:
β’ Alpha Shapes (filter tetrahedra)
β’ Power Crust (medial axis)
β’ Cocone (normal estimation)
β’ Natural Neighbor (interpolation)
Delaunay 2D ββextendsββ> Delaunay 3D
β
filters by size
β
Alpha Shapes
β
adds weighting
β
Weighted Alpha Shapes
[PLACEHOLDER: Delaunay family relationship diagram]
When to use: Point clouds needing surface reconstruction
[PLACEHOLDER: Ball rolling animation]
| Property | Value |
|---|---|
| Year | 1999 (Bernardini et al.) |
| Paradigm | Local geometric growth |
| Key Parameters | Ball radii (3 values typical) |
| Complexity | O(n) expected |
Imagine a ball rolling on point cloud:
- Ball touches 3 points β create triangle
- Pivot around edge to find next point
- Repeat until complete
Step 1: Seed Step 2: Pivot Step 3: Grow
βββββββ βββββββ ββββββββββββ
β² β β± β² βββ± β² β±ββ² β β±
β² β± β²ββ± β²β± β β²β±
β ββββ βββββ
- Fast: 5-10Γ faster than Poisson
- Geometry preserving: No new vertices
- Natural results: No over-smoothing
- Low memory: No voxelization
- Simple concept: Easy to understand
- Requires uniform density: Points must be evenly spaced
- Cannot fill holes: Only connects existing points
- Radius sensitive: Wrong radii β poor results
- Not watertight: Depends on data completeness
- Needs normals: Or must estimate
Ball Pivoting (1999) β Original
β
Variations:
β’ Adaptive BPA (2000s) β Variable radii
β’ Parallel BPA (2010s) β GPU acceleration
β’ Robust BPA (2010s) β Noise handling
Critical parameter: Ball size
| Radius Type | Formula | Use Case |
|---|---|---|
| Small | avg_nn Γ 1.5 | Details |
| Medium | avg_nn Γ 2.5 β | Main structure |
| Large | avg_nn Γ 4.0 | Gap filling |
Typical: Use 3 radii: [small, medium, large]
[PLACEHOLDER: Different radii comparison]
| Ball Pivoting | Alpha Shapes | |
|---|---|---|
| Approach | Local growth | Global β filter |
| Speed | Faster | Slower |
| Quality | Natural | Adjustable |
| Foundation | Direct geometry | Delaunay-based |
[PLACEHOLDER: Greedy growth visualization]
| Property | Value |
|---|---|
| Year | 2000s |
| Paradigm | Greedy frontier expansion |
| Base | Similar to BPA but different strategy |
Greedy expansion from seed triangle:
- Start with one triangle
- For each edge on frontier: find best next point
- Add triangle greedily (locally optimal)
- Repeat
Like BPA but:
BPA: Ball constraint (geometric)
Greedy: Best angle (heuristic)
- Simpler parameters: No radius tuning
- Faster in some cases: Greedy is quick
- More flexible: Adapts to density
- Less robust: Greedy can fail
- Quality varies: No geometric guarantee
- Not widely used: BPA more popular
- Still needs normals: Same as BPA
Ball Pivoting (1999)
β
Greedy Projection (2000s) β Alternative approach
β
Both influenced by:
β
Advancing Front (CFD mesh generation)
Greedy Projection is a variant, not evolution:
- Use BPA for most cases (more robust)
- Use Greedy if BPA radius tuning fails
[PLACEHOLDER: Smooth watertight result]
| Property | Value |
|---|---|
| Year | 2006 (Kazhdan, Bolitho, Hoppe) |
| Paradigm | Global optimization (PDE solver) |
| Key Parameters | Depth (8-11), density threshold |
| Complexity | O(n log n) with octree |
Mathematical elegance: Solve Poisson equation
Problem: Point cloud + normals
β
Formulate: βΒ·N = βΒ·βΟ = ΞΟ (Poisson equation)
β
Solve: Find indicator function Ο
β
Extract: Isosurface at Ο = 0.5
Physical intuition: Normals are "vector field" β Find surface whose gradient matches
[PLACEHOLDER: Poisson concept - vector field to surface]
Key innovations:
- Octree spatial structure: Adaptive resolution
- Global optimization: Not local like BPA
- Watertight guarantee: Always closed surface
- Automatic hole filling: Implicit in formulation
- Highest quality: Globally optimal
- Always watertight: Guaranteed
- Automatic hole filling: No manual intervention
- Noise robust: With proper parameters
- Mathematically rigorous: PDE-based
- Slow: Depth 10 can take minutes
- Memory intensive: High depth needs RAM
- Requires good normals: Critical input
- May create geometry: Can add artifacts
- Parameter sensitive: Needs tuning
Controls octree resolution:
| Depth | Grid | Quality | Speed | Use Case |
|---|---|---|---|---|
| 8 | 256Β³ | βββ | β‘β‘β‘ | Preview |
| 9 | 512Β³ | ββββ | β‘β‘ | Standard β |
| 10 | 1024Β³ | βββββ | β‘ | High quality |
| 11 | 2048Β³ | βββββ | π’ | Research |
[PLACEHOLDER: Depth comparison visual]
Filters low-density regions:
| Threshold | Effect | Use Case |
|---|---|---|
| 0.01 | Keep detail | Clean data |
| 0.05 | Balanced β | Standard |
| 0.10 | Heavy filter | Noisy data |
Poisson (2006) β Original, globally optimal
β
Streaming Poisson (2007) β Large datasets
β
Screened Poisson (2013) β Better data fit
β
Parallel Poisson (2010s) β GPU acceleration
Before Poisson: Messy, holes, manual work After Poisson: Smooth, watertight, automatic
Influence: 3D scanning, reconstruction, printing
[PLACEHOLDER: Before/after Poisson revolution comparison]
[PLACEHOLDER: Screened vs standard comparison]
| Property | Value |
|---|---|
| Year | 2013 (Kazhdan & Hoppe) |
| Base | Poisson + Screening term |
| Key Addition | Data fitting term |
Standard Poisson equation:
ΞΟ = βΒ·N
Screened Poisson equation:
ΞΟ + Ξ»P = βΒ·N + Ξ»P
β
Screening term: Pull surface toward data
Physical meaning:
- Poisson: Smooth global solution
- Screened: Smooth + close to input data
- Better data fidelity: Stays closer to input
- Less over-smoothing: Preserves details
- Fewer artifacts: Less spurious geometry
- Still watertight: Maintains closure
- Same speed: No performance cost
- Still slow for large datasets
- Still needs good normals
- Still parameter sensitive
| Use Poisson When | Use Screened Poisson When |
|---|---|
| Data very noisy | Data relatively clean |
| Need maximum smooth | Need preserve detail |
| Large holes to fill | Small gaps only |
| Medical imaging | 3D scanning |
Poisson (2006)
β
Observation: Sometimes too smooth
β
Screened Poisson (2013) β Add data term
β
Current state-of-the-art for PDE-based reconstruction
Screened Poisson is currently the best PDE-based method for:
- High-quality 3D scanning
- Photogrammetry
- LiDAR reconstruction
- Any application needing watertight + detailed
[PLACEHOLDER: Quality comparison across methods]
[PLACEHOLDER: Volume to surface extraction]
| Property | Value |
|---|---|
| Year | 1987 (Lorensen & Cline) |
| Domain | Volume data (voxels) |
| Input | 3D scalar field |
| Output | Isosurface mesh |
Extract surface from volume data:
- Divide space into cubes (voxels)
- For each cube: check which corners are inside/outside
- Use lookup table (256 cases) to create triangles
- Assemble into mesh
Volume Data β Threshold β Triangle cases β Mesh
- Guaranteed watertight: Always closed
- Handles any topology: Genus-n surfaces
- Well-studied: Decades of refinement
- Efficient: Linear in voxels
- Requires volume data: Not for point clouds
- Memory intensive: O(resolutionΒ³)
- Staircase artifacts: At low resolution
- Many triangles: Can be inefficient
Marching Cubes (1987) β Original
β
Marching Tetrahedra (1991) β Simpler cases
β
Dual Contouring (2002) β Sharp features
β
Flying Edges (2015) β Faster algorithm
Different domain than other methods:
- Most methods: Point cloud β Surface
- Marching Cubes: Volume β Surface
Use for: Medical imaging (CT/MRI), implicit surfaces, signed distance fields
[PLACEHOLDER: Medical imaging example]
| Property | Value |
|---|---|
| Year | 2001 (Amenta et al.) |
| Base | Weighted Voronoi |
| Status | Research, less practical |
Uses medial axis transform:
- Compute "poles" (furthest Voronoi vertices)
- Power diagram on poles
- Extract crust
- Better thin features than Alpha Shapes
- Provable guarantees
- Good for theory
- Complex implementation
- Not in standard libraries
- Superseded by Poisson for practical use
Power Crust showed that provable reconstruction is possible, but Poisson is more practical.
START
Is data 2D/2.5D (terrain, flat)?
ββ YES β Delaunay 2D or Heightmap
ββ NO β Continue
Is data volumetric (voxels)?
ββ YES β Marching Cubes
ββ NO β Continue
Need FAST preview?
ββ YES β Ball Pivoting or Alpha Shapes
ββ NO β Continue
Need WATERTIGHT (3D printing, simulation)?
ββ CRITICAL β Poisson or Screened Poisson
ββ NOT CRITICAL β Continue
Is point cloud DENSE and UNIFORM?
ββ YES β Ball Pivoting (fast, accurate)
ββ NO β Poisson (robust, quality)
DEFAULT: Try Ball Pivoting β If unsatisfied β Poisson
[PLACEHOLDER: Interactive flowchart]
| Data Type | First Choice | Second Choice | Avoid |
|---|---|---|---|
| Terrain/DEM | Heightmap | Delaunay 2D | Ball Pivoting |
| Dense 3D scan | Ball Pivoting | Screened Poisson | Delaunay 2D |
| Sparse points | Alpha Shapes | Poisson (low depth) | Ball Pivoting |
| Medical CT/MRI | Marching Cubes | Poisson | Heightmap |
| Photogrammetry | Screened Poisson | Ball Pivoting | Delaunay 2D |
| Game terrain | Heightmap | - | Poisson (slow) |
| 3D printing | Screened Poisson | Poisson | Any non-watertight |
Speed β‘:
- Convex Hull / Delaunay 2D
- Heightmap
- Alpha Shapes
- Ball Pivoting
Quality π:
- Screened Poisson (depth 10)
- Standard Poisson (depth 10)
- Ball Pivoting (well-tuned)
- Alpha Shapes
Watertight β :
- Screened Poisson
- Standard Poisson
- Marching Cubes
1970s: Delaunay 2D
β
1980s: Constrained Delaunay, Heightmaps
β
Still used today for terrain, GIS
1980s: Convex Hull, Delaunay 3D
β
1994: Alpha Shapes β Major advancement
β
2001: Power Crust β Theoretical peak
1987: Marching Cubes β Volume domain
β
1999: Ball Pivoting β Fast, practical
β
2006: Poisson β Quality revolution
β
2013: Screened Poisson β Current state-of-art
β
2020s: Neural methods (future)
[PLACEHOLDER: Complete timeline visualization]
- 1970s-1980s: Geometric algorithms (Delaunay, Convex Hull)
- 1990s: Refinement (Alpha Shapes, BPA)
- 2000s: Global optimization (Poisson)
- 2010s: Refinement (Screened Poisson)
- 2020s: Learning-based (Neural implicit surfaces)
| Axis | Fast End | Quality End |
|---|---|---|
| Speed vs Quality | Delaunay, BPA | Poisson depth 10 |
| Local vs Global | BPA, Alpha | Poisson |
| Simple vs Complex | Convex Hull | Screened Poisson |
| Memory | BPA | Poisson depth 11 |
Delaunay 2D βextendsβ> Delaunay 3D βfiltersβ> Alpha Shapes
β
ββsurfaceβ> Convex Hull
Ball Pivoting ββsimilarββ> Greedy Projection
Poisson ββimprovesβ> Screened Poisson
Marching Cubes β Different domain (volume)
[PLACEHOLDER: Method relationship graph]
- Delaunay 2D: Foundation of 2D triangulation
- Alpha Shapes: Non-convex 3D boundaries
- Ball Pivoting: Fast 3D reconstruction
- Poisson: Quality 3D reconstruction
- Screened Poisson: State-of-the-art
| Method | Impact |
|---|---|
| Delaunay 2D | Foundation of computational geometry |
| Alpha Shapes | Made non-convex reconstruction practical |
| Ball Pivoting | Made fast 3D scanning viable |
| Poisson | Revolutionized reconstruction quality |
| Screened Poisson | Current state-of-the-art |
Current: PDE-based (Poisson family)
β
Emerging: Neural implicit surfaces
β’ Neural Radiance Fields (NeRF)
β’ Occupancy Networks
β’ DeepSDF
β
Future: Hybrid approaches
β’ Classical + Learning
β’ Best of both worlds
Images needed:
- Evolution timeline diagram
- Delaunay 2D step-by-step
- Circumcircle criterion
- Alpha shapes spectrum (different Ξ±)
- Ball pivoting animation
- Poisson depth comparison (8, 9, 10)
- Screened vs standard Poisson
- Method relationship graph
- Decision flowchart
- Quality comparison gallery
- Use case examples per method
- Before/after reconstructions
Version: 2.0 Last Updated: 2026-02-05 Scope: Comprehensive overview from 2D to state-of-the-art 3D
