Skip to content
ExtendedSource checked

Catmull-Clark Subdivision

Refines polygon meshes into smoother subdivision surfaces.

Quick Facts

Compact metadata for implementation and discovery.

Category
Geometry
Difficulty
Advanced
Family
Subdivision Surface
Tier
Extended
Status
Verified
Review
Source Checked
Sources
1
Formulas
1
Relationships
3
Code example
Ready
Visualization
Ready

Overview

Catmull-Clark subdivision creates face, edge, and vertex points, then reconnects them to generate a smoother mesh each iteration.

Core Concepts

face pointedge pointvertex rulesubdivision surface

Quick facts

Complexity

Runtime and memory behavior at a glance.

Best

O(faces)

Average

O(iterations * faces)

Worst

O(iterations * faces)

Space

O(faces)

When to Use

  • Use when collision and intersection tests needs face point.
  • Use when the input matches the assumptions behind subdivision Surface.

When Not to Use

  • Avoid when floating-point robustness is critical and no tolerance strategy is defined.
  • Avoid when a simpler algorithm gives the required result with less setup.

What It Does

  • Refines polygon meshes into smoother subdivision surfaces
  • Uses face point and edge point to guide the work.
  • Produces geometric relation, simplified shape, or constructed geometry.

Use Cases

  • Collision and intersection tests
  • Shape analysis
  • Geometry processing

Inputs

  • Points, segments, polygons, or meshes
  • Query shape or tolerance

Outputs

  • Geometric relation, simplified shape, or constructed geometry

Key Formulas (1)

Face point

F = average(vertices of face)
F = average(vertices of face)

Computes the new point at the center of each face.

Pseudocode

  1. 1.Prepare the inputs and state needed for Catmull-Clark Subdivision.
  2. 2.Apply the face point step while the stopping condition has not been met.
  3. 3.Update intermediate state and discard invalid candidates.
  4. 4.Return geometric relation, simplified shape, or constructed geometry.

Canonical Example

Input
Catmull-Clark Subdivision input with a small representative case
Output
Geometric relation, simplified shape, or constructed geometry
Explanation
Catmull-Clark Subdivision applies face point to produce geometric relation, simplified shape, or constructed geometry.

Implementation Notes

  • Use robust orientation and tolerance checks for boundary cases.
  • Keep the face point step separate enough to test independently.

Common Pitfalls

  • Degenerate cases such as collinear points or shared edges often need explicit handling.
  • Forgetting to check edge cases can make Catmull-Clark Subdivision look correct on only ideal inputs.

Interactive Mechanism Walkthrough

Spatial Primitive & Sweep-Line Canvas

Draw the input shapes, active tests, and generated geometric result.

Catmull-Clark Subdivision mechanism walkthrough step 1 of 4
Step 1 of 4: Prepare the inputs and state needed for Catmull-Clark Subdivision.
geometry-mechanism

Notes

Catmull-Clark Subdivision should be used with the assumptions and tradeoffs of subdivision Surface in mind.

Sources (1)

What each reference supports for this entry.

Catmull-Clark Subdivision

Paper

Original reference for recursively refining polygon meshes into smooth subdivision surfaces.

Open source

Explore Next

Good next jumps from the relationship graph, ranked for useful discovery.

Subdivision refines surfaces while smoothing adjusts existing geometry.

Subdivision increases mesh detail while simplification reduces it.

Tags

Computational GeometryMesh ProcessingSurface ExtractionSmoothing