Algorithm for smoothing edges of an open 3D mesh
Master System Design with Codemia
Enhance your system design skills with over 120 practice problems, detailed solutions, and hands-on exercises.
Introduction
In 3D computer graphics, a polygonal mesh consists of vertices, edges, and faces that define the shape of a 3D object. These meshes are used in animation, simulation, and modeling. However, the raw output from 3D scans or rough modeling often has jagged or harsh edges that need to be smoothed for visual or analytical reasons. Edges of an open 3D mesh can be smoothed using different algorithms that combine geometric processing with topological refinement. This article explores three key techniques: Laplacian smoothing, Taubin smoothing, and bilateral mesh smoothing.
Edge Smoothing Algorithms
1. Laplacian Smoothing
Laplacian smoothing is the most widely used algorithm due to its simplicity and effectiveness. The core idea is to move each vertex toward the centroid of its neighbors, iteratively.
How It Works
The new position of a vertex is computed as the average of its neighboring vertices:
Here represents the set of neighboring vertices connected to by an edge.
Practical Notes
This method works well for eliminating noise but tends to cause shrinkage of the mesh over many iterations. The mesh gradually contracts toward its center of mass. An optional volume-preservation constraint can counteract this side effect by rescaling the mesh after each iteration to maintain its original volume.
2. Taubin Smoothing
To avoid the significant shrinkage caused by pure Laplacian smoothing, Taubin smoothing applies alternating positive and negative Laplacian steps.
How It Works
Taubin smoothing alternates between a shrinking step (with factor ) and an inflating step (with factor ):
where is the Laplacian operator at vertex , and and are positive scalar parameters satisfying . The first step shrinks, and the second step inflates just enough to cancel the volume loss. Typical values are and (note is applied as a negative factor internally to produce inflation).
3. Bilateral Mesh Smoothing
This technique extends the bilateral filter from image processing to 3D meshes. It applies local smoothing while preserving sharp geometric features like creases and corners.
How It Works
The new vertex position is a weighted average where the weights depend on both spatial distance and normal similarity:
Here and are Gaussian weighting functions. accounts for spatial proximity (closer neighbors have more influence), while accounts for normal similarity (neighbors whose displacement aligns with the surface normal are penalized, preserving sharp features).
Implementation Considerations
Boundary Conditions
When applying smoothing on an open mesh, boundary vertices require careful handling. Common strategies include:
- Fixing boundary vertices in place (no smoothing applied)
- Smoothing boundary vertices only along the boundary curve
- Using reduced weight for boundary neighbors
Special rules should maintain geometric continuity along the edges without losing boundary detail.
Iteration and Stability
- Number of Iterations: The amount of smoothing is controlled by how many times the process repeats. Too many iterations distort the mesh, while too few leave noise.
- Stability: Taubin smoothing provides better stability by canceling shrinkage at each iteration pair. Laplacian smoothing requires external volume correction to remain stable over many passes.
Quality Measures
After applying any smoothing algorithm, mesh quality can be evaluated by:
- Vertex Degree Uniformity: Check whether vertex connectivity stays close to the ideal (6 for triangular meshes).
- Area and Volume Conservation: Measure how well the surface area or enclosed volume was preserved.
- Feature Preservation: Verify that intended sharp edges or corners remain intact.
Comparison Table
| Algorithm | Key Feature | Benefits | Drawbacks |
| Laplacian Smoothing | Simple neighbor averaging | Easy to implement, reduces noise | Causes significant mesh shrinkage |
| Taubin Smoothing | Alternating shrink/inflate steps | Preserves volume, avoids shrinkage | Requires parameter tuning |
| Bilateral Mesh Smoothing | Feature-preserving Gaussian weights | Retains sharp edges, no shrinkage | Computationally more expensive |
Conclusion
Edge smoothing of open 3D meshes is a crucial step for improving visual quality and utility in 3D modeling applications. Laplacian smoothing offers the simplest approach but suffers from shrinkage. Taubin smoothing addresses that limitation with alternating steps. Bilateral mesh smoothing goes further by preserving sharp geometric features. Choosing the right method depends on the specific needs of the application: whether volume preservation, feature retention, or computation speed is the highest priority.

