The NeMeSi Project

Arrow Overview
Arrow Data structure
Arrow Fairing
Arrow Multiresolution
Arrow Subdivision
Arrow Feature Extraction
Arrow Publications

The fairing framework

The pipeline used to remove high frequencies from models is described by the following pipeline:
The fairing pipeline
The removal of high frequencies from a non-manifold models is computed in three steps.
  1. First, an approximation of the Laplacian is computed for each vertex in the model. Note that more than a Laplacian might be computed per vertex: a vertex that lies on an intersection possesses both a 1D and a 2D Laplacian. Any existing operator can be used to this end, such as the umbrella , the improved umbrella , the curvature flow and the second order difference operators.
  2. The approximation computed in the previous step is then used a second step to compute the vertex displacement. This operator has the goal of removing high frequency from meshes while preserving the topology of the model, and guaranteeing cross-intersection smoothness. This can be formulated as an overdermined system of equations, which can be solved by minimizing either the 2- or infinite norm.
    The minimization of the two norm yealds the algebraic solution:
    Non-manifold fairing equation
  3. Optionally, a volume preserving step can be added to the pipeline, which guarantees local volume preservation of the model. The concept of locality is very important, since a model possesses many volumes, and thus global strategies are not applicable. The basic idea is simple: the displacement of a vertex causes a change in volume, which can be computed efficiently. This change can be compensated by displacing the neighbor vertices in the opposite direction. This operation can be computed using one of three different operators, which trade off quality and robustness for speed.
    The local volume preservation operator is visualized by the following set of figures:
    Initial vertex configuration Displacement of the central vertex Displacement of the neighbor vertices Final vertex configuration
The result of the fairing process is dependent on the underlaying model semantics, as discussed in the data structure section. The following example shows the results of the fairing operator applied to the same model using different semantics:
Input model Smoothed model 1 Smoothed model 2 Smoothed model 3
We used our operators on larger models as well: here are a few examples generated from geoscience models as well as from syntetic data:
Input model Smoothed model
Input model Smoothed model

Valid HTML 4.0!