Geometry processing, or mesh processing, is an area of research that uses concepts from applied mathematics, computer science and engineering to design efficient algorithms for the acquisition, reconstruction, analysis, manipulation, simulation and transmission of complex 3D models. As the name implies, geometry processing is meant to be analogous to signal processing and image processing. Many concepts, data structures and algorithms are directly analogous. For example, where image smoothing might convolve an intensity signal with a blur kernel formed using the Laplace operator, geometric smoothing might be achieved by convolving a surface geometry with a blur kernel formed using the Laplace-Beltrami operator.
Applications of geometry processing algorithms already cover a wide range of areas from multimedia, entertainment and classical computer-aided design, to biomedical computing, reverse engineering and scientific computing.
Properties of a shape
Geometry processing involves working with a shape, usually in 2D or 3D, although the shape can live in a space of arbitrary dimensions. The processing of a shape involves three stages, which is known as its life cycle. At its "birth," a shape can be instantiated through one of three methods: a model, a mathematical representation, or a scan. After a shape is born, it can be analyzed and edited repeatedly in a cycle. This usually involves acquiring different measurements, such as the distances between the points of the shape, the smoothness of the shape, or its Euler characteristic. Editing may involve denoising, deforming, or performing rigid transformations. Finally, at the final stage of the shape's "life," it is consumed as a product. For example, it can be sent to a 3D printer to be used as a physical model.
Like any other shape, the shapes used in geometry processing have properties pertaining to their geometry and topology. The geometry of a shape concerns the position of the shape's points in space, tangents, normals, and curvature. It also includes the dimension in which the shape lives (ex. or ). The topology of a shape is a collection of properties that do not change even after smooth transformations have been applied to the shape. It concerns dimensions such as the number of holes and boundaries, as well as the orientability of the shape. One example of a non-orientable shape is the Mobius strip.
Poisson reconstruction from surface points to mesh
Depending on how a shape is initialized or "birthed," the shape might exist only as a nebula of sampled points that represent its surface in space. To transform the surface points into a mesh, the Poisson reconstruction strategy can be employed. This method states that the indicator function, a function that determines which points in space belong to the surface of the shape, can actually be computed from the sampled points. The key concept is that gradient of the indicator function is 0 everywhere, except at the sampled points, where it is equal to the inward surface normal. More formally, suppose the collection of sampled points from the surface is denoted by , each point in the space by , and the corresponding normal at that point by . Then the gradient of the indicator function is defined as:
The task of reconstruction then becomes a variational problem. To find the indicator function of the surface, we must find a function such that is minimized, where is the vector field defined by the samples.
One common problem encountered in geometry processing is how to merge multiple views of a single object captured from different angles or positions. This problem is known as registration. In registration, we wish to find an optimal rigid transformation that will align surface with surface . More formally, if is the projection of a point x from surface onto surface , we want to find the optimal rotation matrix and translation vector that minimize the following objective function:
While rotations are non-linear in general, small rotations can be linearized as skew-symmetric matrices. Moreover, the distance function is non-linear, but is amenable to linear approximations if the change in is small. An iterative solution such as Iterative Closest Point (ICP) is therefore employed to solve for small transformations iteratively, instead of solving for the potentially large transformation in one go. In ICP, n random sample points from are chosen and projected onto . Then the optimal transformation is calculated based on the difference between each and its projection. In the following iteration, the projections are calculated based on the result of applying the previous transformation on the samples. The process is repeated until convergence.
When shapes are defined or scanned, there may be accompanying noise, either to a signal acting upon the surface or to the actual surface geometry. Reducing noise on the former is known as data denoising, while noise reduction on the latter is known as surface fairing. The task of geometric smoothing is analogous to signal noise reduction, and consequently employs similar approaches.
The pertinent Lagrangian to be minimized is derived by recording the conformity to the initial signal and the smoothness of the resulting signal, which approximated by the magnitude of the gradient with a weight :
Taking a variation on emits the necessary condition
By discretizing this onto piecewise-constant elements with our signal on the vertices we obtain
where our choice of is chosen to be for the cotangent Laplacian and the term is to map the image of the Laplacian from areas to points. Because the variation is free, this results in a self-adjoint linear problem to solve with a parameter : When working with triangle meshes one way to determine the values of the Laplacian matrix is through analyzing the geometry of connected triangles on the mesh.
Where and are the angles opposite the edge 
Occasionally, we need to flatten a 3D surface onto a flat plane. This process is known as parameterization. The goal is to find coordinates u and v onto which we can map the surface so that distortions are minimized. In this manner, parameterization can be seen as an optimization problem. One of the major applications of mesh parameterization is texture mapping.
Mass springs method
One way to measure the distortion accrued in the mapping process is to measure how much the length of the edges on the 2D mapping differs from their lengths in the original 3D surface. In more formal terms, the objective function can be written as:
Where is the set of mesh edges and is the set of vertices. However, optimizing this objective function would result in a solution that maps all of the vertices to a single vertex in the uv-coordinates. Borrowing an idea from graph theory, we apply the Tutte Mapping and restrict the boundary vertices of the mesh onto a unit circle or other convex polygon. Doing so prevents the vertices from collapsing into a single vertex when the mapping is applied. The non-boundary vertices are then positioned at the barycentric interpolation of their neighbours. The Tutte Mapping, however, still suffers from severe distortions as it attempts to make the edge lengths equal, and hence does not correctly account for the triangle sizes on the actual surface mesh.
Least-squares conformal mappings
Another way to measure the distortion is to consider the variations on the u and v coordinate functions. The wobbliness and distortion apparent in the mass springs methods are due to high variations in the u and v coordinate functions. With this approach, the objective function becomes the Dirichlet energy on u and v:
There are a few other things to consider. We would like to minimize the angle distortion to preserve orthogonality. That means we would like . In addition, we would also like the mapping to have proportionally similar sized regions as the original. This results to setting the Jacobian of the u and v coordinate functions to 1.
To avoid the problem of having all the vertices mapped to a single point, we also require that the solution to the optimization problem must have a non-zero norm and that it is orthogonal to the trivial solution.
- Botsch, Mario; Kobbelt, Leif; Pauly, Mark; Alliez, Pierre (2010). Polygon Mesh Processing. CRC Press. ISBN 9781568814261.
- "Poisson surface reconstruction". hhoppe.com. Retrieved 2017-01-26.
- "Chris Tralie : Laplacian Meshes". www.ctralie.com. Retrieved 2017-03-16.
- Desbrun, Mathieu (2002). "Intrinsic Parameterizations of Surface Meshes" (PDF). Eurographics. 21.
- Levy, Bruno (2002). "Least squares conformal maps for automatic texture atlas generation" (PDF). ACM Transactions on Graphics (TOG) - Proceedings of ACM SIGGRAPH 2002. 21: 362–371.
- Symposium on Geometry Processing
- Multi-Res Modeling Group, Caltech
- Mathematical Geometry Processing Group, Free University of Berlin
- Computer Graphics Group, RWTH Aachen University
- Polygonal Mesh Processing Book
- Discrete Differential Geometry: An Applied Introduction, course notes by Keenan Crane et al.
- Video tutorials from SGP 2017 grad school