Geometry processing
   HOME

TheInfoList



OR:

Geometry processing, or
mesh A mesh is a barrier made of connected strands of metal, fiber, or other flexible or ductile materials. A mesh is similar to a web or a net in that it has many attached or woven strands. Types * A plastic mesh may be extruded, oriented, exp ...
processing, is an area of research that uses concepts from
applied mathematics Applied mathematics is the application of mathematical methods by different fields such as physics, engineering, medicine, biology, finance, business, computer science, and industry. Thus, applied mathematics is a combination of mathemati ...
,
computer science Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to practical disciplines (includi ...
and
engineering Engineering is the use of scientific principles to design and build machines, structures, and other items, including bridges, tunnels, roads, vehicles, and buildings. The discipline of engineering encompasses a broad range of more speciali ...
to design efficient
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing ...
s for the acquisition, reconstruction, analysis, manipulation, simulation and transmission of complex 3D models. As the name implies, many of the concepts, data structures, and algorithms are directly analogous to signal processing and image processing. 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 A surface, as the term is most generally used, is the outermost or uppermost layer of a physical object or space. It is the portion or region of the object that can first be perceived by an observer using the senses of sight and touch, and is ...
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 Multimedia is a form of communication that uses a combination of different content forms such as text, audio, images, animations, or video into a single interactive presentation, in contrast to tradit ...
,
entertainment Entertainment is a form of activity that holds the attention and interest of an audience or gives pleasure and delight. It can be an idea or a task, but is more likely to be one of the activities or events that have developed over thousa ...
and classical computer-aided design, to biomedical computing, reverse engineering, and scientific computing. Geometry processing is a common research topic at SIGGRAPH, the premier
computer graphics Computer graphics deals with generating images with the aid of computers. Today, computer graphics is a core technology in digital photography, film, video games, cell phone and computer displays, and many specialized applications. A great de ...
academic conference, and the main topic of the annual Symposium on Geometry Processing.


Geometry processing as a life cycle

Geometry processing involves working with a
shape A shape or figure is a graphical representation of an object or its external boundary, outline, or external surface, as opposed to other properties such as color, texture, or material type. A plane shape or plane figure is constrained to lie ...
, 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 model is an informative representation of an object, person or system. The term originally denoted the plans of a building in late 16th-century English, and derived via French and Italian ultimately from Latin ''modulus'', a measure. Models c ...
, 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. At the final stage of the shape's "life," it is consumed. This can mean it is consumed by a viewer as a rendered asset in a game or movie, for instance. The end of a shape's life can also be defined by a decision about the shape, like whether or not it satisfies some criteria. Or it can even be fabricated in the real world, through a method such as 3D printing or laser cutting.


Discrete Representation of a Shape

Like any other shape, the shapes used in geometry processing have properties pertaining to their
geometry Geometry (; ) is, with arithmetic, one of the oldest branches of mathematics. It is concerned with properties of space such as the distance, shape, size, and relative position of figures. A mathematician who works in the field of geometry is ...
and
topology In mathematics, topology (from the Greek words , and ) is concerned with the properties of a geometric object that are preserved under continuous deformations, such as stretching, twisting, crumpling, and bending; that is, without closing ...
. The geometry of a shape concerns the position of the shape's
points in space Point or points may refer to: Places * Point, Lewis, a peninsula in the Outer Hebrides, Scotland * Point, Texas, a city in Rains County, Texas, United States * Point, the NE tip and a ferry terminal of Lismore, Inner Hebrides, Scotland * Points ...
,
tangent In geometry, the tangent line (or simply tangent) to a plane curve at a given point is the straight line that "just touches" the curve at that point. Leibniz defined it as the line through a pair of infinitely close points on the curve. Mo ...
s, normals, and curvature. It also includes the dimension in which the shape lives (ex. R^2 or R^3). The
topology In mathematics, topology (from the Greek words , and ) is concerned with the properties of a geometric object that are preserved under continuous deformations, such as stretching, twisting, crumpling, and bending; that is, without closing ...
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 In mathematics, orientability is a property of some topological spaces such as real vector spaces, Euclidean spaces, surfaces, and more generally manifolds that allows a consistent definition of "clockwise" and "counterclockwise". A space i ...
of the shape. One example of a non-orientable shape is the Mobius strip. In computers, everything must be discretized. Shapes in geometry processing are usually represented as
triangle mesh In computer graphics, a triangle mesh is a type of polygon mesh. It comprises a set of triangles (typically in three dimensions) that are connected by their common edges or vertices. Many graphics software packages and hardware devices can ...
es, which can be seen as a
graph Graph may refer to: Mathematics *Graph (discrete mathematics), a structure made of vertices and edges **Graph theory, the study of such graphs and their properties *Graph (topology), a topological space resembling a graph in the sense of discre ...
. Each node in the graph is a vertex (usually in R^3), which has a position. This encodes the geometry of the shape. Directed edges connect these vertices into triangles, which by the right hand rule, then have a direction called the normal. Each triangle forms a face of the mesh. These are combinatoric in nature and encode the topology of the shape. In addition to triangles, a more general class of
polygon mesh In 3D computer graphics and solid modeling, a polygon mesh is a collection of , s and s that defines the shape of a polyhedral object. The faces usually consist of triangles ( triangle mesh), quadrilaterals (quads), or other simple convex p ...
es can also be used to represent a shape. More advanced representations like progressive meshes encode a coarse representation along with a sequence of transformations, which produce a fine or high resolution representation of the shape once applied. These meshes are useful in a variety of applications, including geomorphs, progressive transmission, mesh compression, and selective refinement.


Properties of a shape


Euler Characteristic

One particularly important property of a 3D shape is its Euler characteristic, which can alternatively be defined in terms of its
genus Genus ( plural genera ) is a taxonomic rank used in the biological classification of living and fossil organisms as well as viruses. In the hierarchy of biological classification, genus comes above species and below family. In binomial nom ...
. The formula for this in the continuous sense is \chi= 2c - 2h - b, where c is the number of connected components, h is number of holes (as in donut holes, see torus), and b is the number of connected components of the boundary of the surface. A concrete example of this is a mesh of a
pair of pants Trousers (British English), slacks, or pants are an item of clothing worn from the waist to anywhere between the knees and the ankles, covering both legs separately (rather than with cloth extending across both legs as in robes, skirts, and dr ...
. There is one connected component, 0 holes, and 3 connected components of the boundary (the waist and two leg holes). So in this case, the Euler characteristic is -1. To bring this into the discrete world, the Euler characteristic of a mesh is computed in terms of its vertices, edges, and faces. \chi = , V, - , E, + , F, .


Surface reconstruction


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 S, each point in the space by p_i, and the corresponding normal at that point by n_i. Then the gradient of the indicator function is defined as: \triangledown g = \begin \textbf_i, & \forall p_i \in S \\ 0, & \text\end The task of reconstruction then becomes a variational problem. To find the indicator function of the surface, we must find a function \chi such that \lVert \triangledown \chi - \textbf \rVert is minimized, where \textbf is the vector field defined by the samples. As a variational problem, one can view the minimizer \chi as a solution of Poisson's equation. After obtaining a good approximation for \chi and a value \sigma for which the points (x,y,z) with \chi(x,y,z)= \sigma lie on the surface to be reconstructed, the
marching cubes Marching cubes is a computer graphics algorithm, published in the 1987 SIGGRAPH proceedings by Lorensen and Cline, for extracting a polygonal mesh of an isosurface from a three-dimensional discrete scalar field (the elements of which are sometim ...
algorithm can be used to construct a
triangle mesh In computer graphics, a triangle mesh is a type of polygon mesh. It comprises a set of triangles (typically in three dimensions) that are connected by their common edges or vertices. Many graphics software packages and hardware devices can ...
from the function \chi , which can then be applied in subsequent computer graphics applications.


Registration

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 Register or registration may refer to: Arts entertainment, and media Music * Register (music), the relative "height" or range of a note, melody, part, instrument, etc. * ''Register'', a 2017 album by Travis Miller * Registration (organ), th ...
. In registration, we wish to find an optimal rigid transformation that will align surface X with surface Y. More formally, if P_Y(x) is the projection of a point ''x'' from surface X onto surface Y, we want to find the optimal rotation matrix R and translation vector t that minimize the following objective function: \int_, , Rx + t - P_Y(x), , dx While rotations are non-linear in general, small rotations can be linearized as skew-symmetric matrices. Moreover, the distance function x - P_Y(x) is non-linear, but is amenable to linear approximations if the change in X 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 X are chosen and projected onto Y. In order to sample points uniformly at random across the surface of the triangle mesh, the random sampling is broken into two stages: uniformly sampling points within a triangle; and non-uniformly sampling triangles, such that each triangle's associated probability is proportional to its surface area. Thereafter, the optimal transformation is calculated based on the difference between each x 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.


Smoothing

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 \bar f and the smoothness of the resulting signal, which approximated by the magnitude of the gradient with a weight \lambda: \mathcal(f) = \int_\, f - \bar f\, ^2 + \lambda \, \nabla f\, ^2 dx. Taking a variation \delta f on \mathcal emits the necessary condition 0 = \delta\mathcal(f) = \int_\delta f(\mathbf + \lambda \nabla^2) f - \delta f \bar f dx. By discretizing this onto piecewise-constant elements with our signal on the vertices we obtain \begin \sum_ M_i \delta f_i \bar f_i &= \sum_i M_i\delta f_i \sum_j (\mathbf + \lambda \nabla^2) f_j = \sum_i \delta f_i \sum_j (M + \lambda M\nabla^2) f_j, \end where our choice of \nabla^2 is chosen to be M^\mathbf for the cotangent Laplacian \mathbf and the M^ 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 \lambda: \bar f =(M + \lambda \mathbf) f. When working with triangle meshes one way to determine the values of the Laplacian matrix L is through analyzing the geometry of connected triangles on the mesh. L_ = \begin \frac(\cot(\alpha_) + \cot(\beta_)) & \text \\ -\sum\limits_L_ & i = j \\ 0 & \text \end Where \alpha_ and \beta_ are the angles opposite the edge (i,j) The mass matrix M as an operator computes the local integral of a function's value and is often set for a mesh with m triangles as follows: M_ = \begin \frac\sum\limits_^m\begin Area(t) & \text \\ 0 & \text \end & \text \\ 0 & \text \end


Parameterization

Occasionally, we need to flatten a 3D surface onto a flat plane. This process is known as
parameterization In mathematics, and more specifically in geometry, parametrization (or parameterization; also parameterisation, parametrisation) is the process of finding parametric equations of a curve, a surface, or, more generally, a manifold or a variety, d ...
. 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 Texture mapping is a method for mapping a texture on a computer-generated graphic. Texture here can be high frequency detail, surface texture, or color. History The original technique was pioneered by Edwin Catmull in 1974. Texture mappi ...
.


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: \underset \sum_ , , u_i - u_j, , ^2 Where E is the set of mesh edges and U 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 In geometry, a convex polygon is a polygon that is the boundary of a convex set. This means that the line segment between two points of the polygon is contained in the union of the interior and the boundary of the polygon. In particular, it is a ...
. 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 In mathematics, the Dirichlet energy is a measure of how ''variable'' a function is. More abstractly, it is a quadratic functional on the Sobolev space . The Dirichlet energy is intimately connected to Laplace's equation and is named after the ...
on ''u'' and ''v:'' \underset \int_S , , \nabla u, , ^2 + , , \nabla v, , ^2 dA There are a few other things to consider. We would like to minimize the angle distortion to preserve orthogonality. That means we would like \nabla u = \nabla v^. 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. \begin \dfrac & \dfrac\\ em \dfrac & \dfrac \end = 1 Putting these requirements together, we can augment the Dirichlet energy so that our objective function becomes: \underset \int_S \frac , , \nabla u, , ^2 + \frac , , \nabla v, , ^2 - \nabla u \cdot \nabla v^ 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.


Deformation

Deformation is concerned with transforming some rest shape to a new shape. Typically, these transformations are continuous and do not alter the topology of the shape. Modern mesh-based shape deformation methods satisfy user deformation constraints at handles (selected vertices or regions on the mesh) and propagate these handle deformations to the rest of shape smoothly and without removing or distorting details. Some common forms of interactive deformations are point-based, skeleton-based, and cage-based. In point-based deformation, a user can apply transformations to small set of points, called handles, on the shape. Skeleton-based deformation defines a skeleton for the shape, which allows a user to move the bones and rotate the joints. Cage-based deformation requires a cage to be drawn around all or part of a shape so that, when the user manipulates points on the cage, the volume it encloses changes accordingly.


Point-based deformation

Handles provide a sparse set of constraints for the deformation: as the user moves one point, the others must stay in place. A rest surface \hat immersed in \R^3 can be described with a mapping \hat : \Omega \rightarrow \R^3, where \Omega is a 2D parametric domain. The same can be done with another mapping x for the transformed surface S. Ideally, the transformed shape adds as little distortion as possible to the original. One way to model this distortion is in terms of displacements d = x - \hat with a Laplacian-based energy. Applying the Laplace operator to these mappings allows us to measure how the position of a point changes relative to its neighborhood, which keeps the handles smooth. Thus, the energy we would like to minimize can be written as: \min_ \int_ , , \Delta \textbf , , ^2 dA. While this method is translation invariant, it is unable to account for rotations. The As-Rigid-As-Possible deformation scheme applies a rigid transformation x_i = R\hat + t to each handle i, where R \in SO(3) \subset \R^3 is a rotation matrix and t \in \R^3 is a translation vector. Unfortunately, there's no way to know the rotations in advance, so instead we pick a “best” rotation that minimizes displacements. To achieve local rotation invariance, however, requires a function \textbf : \Omega \rightarrow SO(3) which outputs the best rotation for every point on the surface. The resulting energy, then, must optimize over both \textbf and \textbf: \min_ \int_ , , \nabla \textbf - \textbf \nabla \hat , , ^2 dA Note that the translation vector is not present in the final objective function because translations have constant gradient.


Inside-Outside Segmentation

While seemingly trivial, in many cases, determining the inside from the outside of a triangle mesh is not an easy problem. In general, given a surface S we pose this problem as determining a function isInside(q) which will return 1 if the point q is inside S, and 0 otherwise. In the simplest case, the shape is closed. In this case, to determine if a point q is inside or outside the surface, we can cast a ray r in any direction from a query point, and count the number of times count_r it passes through the surface. If q was outside S then the ray must either not pass through S (in which case count_r = 0) or, each time it enters S it must pass through twice, because S is bounded, so any ray entering it must exit. So if q is outside, count_r is even. Likewise if q is inside, the same logic applies to the previous case, but the ray must intersect S one extra time for the first time it leaves S. So: isInside_r(q) = \left\{ \begin{array}{ll} 1 & count_r \ is \ odd \\ 0 & count_r \ is \ even\\ \end{array} \right. Now, oftentimes we cannot guarantee that the S is closed. Take the pair of pants example from the top of this article. This mesh clearly has a semantic inside-and-outside, despite there being holes at the waist and the legs. The naive attempt to solve this problem is to shoot many rays in random directions, and classify q as being inside if and only if most of the rays intersected S an odd number of times. To quantify this, let us say we cast k rays, r_1,r_2,\dots,r_k. We associate a number rayTest(q) = \frac{1}{k}\sum_{i=1}^{k} isInside_{r_i}(q) which is the average value of isInside_r from each ray. Therefore: isInside(q) = \left\{ \begin{array}{ll} 1 & rayTest(q) \geq 0.5 \\ 0 & rayTest(q) < 0.5\\ \end{array} \right. In the limit of shooting many, many rays, this method handles open meshes, however it in order to become accurate, far too many rays are required for this method to be computationally ideal. Instead, a more robust approach is the Generalized Winding Number. Inspired by the 2D
winding number In mathematics, the winding number or winding index of a closed curve in the plane around a given point is an integer representing the total number of times that curve travels counterclockwise around the point, i.e., the curve's number of t ...
, this approach uses the
solid angle In geometry, a solid angle (symbol: ) is a measure of the amount of the field of view from some particular point that a given object covers. That is, it is a measure of how large the object appears to an observer looking from that point. The poi ...
at q of each triangle in the mesh to determine if q is inside or outside. The value of the Generalized Winding Number at q, wn(q) is proportional to the sum of the solid angle contribution from each triangle in the mesh: wn(q) = \frac{1}{4\pi}\sum_{t \in F} solidAngle(t) For a closed mesh, wn(q) is equivalent to the characteristic function for the volume represented by S. Therefore, we say: isInside(q) = \left\{ \begin{array}{ll} 1 & wn(q) \geq 0.5 \\ 0 & wn(q) < 0.5 \\ \end{array} \right. Because wn(q) is a
harmonic function In mathematics, mathematical physics and the theory of stochastic processes, a harmonic function is a twice continuously differentiable function f: U \to \mathbb R, where is an open subset of that satisfies Laplace's equation, that is, : \f ...
, it degrades gracefully, meaning the inside-outside segmentation would not change much if we poked holes in a closed mesh. For this reason, the Generalized Winding Number handles open meshes robustly. The boundary between inside and outside smoothly passes over holes in the mesh. In fact, in the limit, the Generalized Winding Number is equivalent to the ray-casting method as the number of rays goes to infinity.


Applications

* Computer-aided design (CAD) * 3D
Surface Reconstruction Surface reconstruction refers to the process by which atoms at the surface of a crystal assume a different structure than that of the bulk. Surface reconstructions are important in that they help in the understanding of surface chemistry for variou ...
, ''e.g.'' range scanners in airport security, autonomous vehicles, medical scanner data reconstruction * Image-to-world Registration, ''e.g.''
Image-guided surgery Image-guided surgery (IGS) is any surgical procedure where the surgeon uses tracked surgical instruments in conjunction with preoperative or intraoperative images in order to directly or indirectly guide the procedure. Image guided surgery systems u ...
*
Architecture Architecture is the art and technique of designing and building, as distinguished from the skills associated with construction. It is both the process and the product of sketching, conceiving, planning, designing, and constructing building ...
, ''e.g.'' creating, reverse engineering * Physics simulations * Computer games ''e.g.''
collision detection Collision detection is the computational problem of detecting the intersection of two or more objects. Collision detection is a classic issue of computational geometry and has applications in various computing fields, primarily in computer grap ...
* Geologic modelling * Visualization (graphics) ''e.g.''
Information visualization Information is an abstract concept that refers to that which has the power to inform. At the most fundamental level information pertains to the interpretation of that which may be sensed. Any natural process that is not completely random, a ...
s,
mathematical visualization Mathematical phenomena can be understood and explored via visualization. Classically this consisted of two-dimensional drawings or building three-dimensional models (particularly plaster models in the 19th and early 20th century), while today it ...
s *
Texture mapping Texture mapping is a method for mapping a texture on a computer-generated graphic. Texture here can be high frequency detail, surface texture, or color. History The original technique was pioneered by Edwin Catmull in 1974. Texture mappi ...
*
Modelling biological systems Modelling biological systems is a significant task of systems biology and mathematical biology. Computational systems biology aims to develop and use efficient algorithms, data structures, visualization and communication tools with the goal of comp ...
''e.g.'' muscle and bone modelling, real-time hand tracking


See also

* Calculus of variations *
Computer graphics Computer graphics deals with generating images with the aid of computers. Today, computer graphics is a core technology in digital photography, film, video games, cell phone and computer displays, and many specialized applications. A great de ...
**
3D computer graphics 3D computer graphics, or “3D graphics,” sometimes called CGI, 3D-CGI or three-dimensional computer graphics are graphics that use a three-dimensional representation of geometric data (often Cartesian) that is stored in the computer for t ...
**
Graphics processing unit A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, m ...
(GPU) * Computer-aided design (CAD) * Digital image **
Digital image processing Digital image processing is the use of a digital computer to process digital images through an algorithm. As a subcategory or field of digital signal processing, digital image processing has many advantages over analog image processing. It allo ...
*
Discrete differential geometry Discrete differential geometry is the study of discrete counterparts of notions in differential geometry. Instead of smooth curves and surfaces, there are polygons, meshes, and simplicial complexes. It is used in the study of computer graphics, g ...
*
Glossary of differential geometry and topology This is a glossary of terms specific to differential geometry and differential topology. The following three glossaries are closely related: * Glossary of general topology * Glossary of algebraic topology *Glossary of Riemannian and metric geome ...
*
Industrial CT scanning Industrial computed tomography (CT) scanning is any computer-aided tomographic process, usually X-ray computed tomography, that uses irradiation to produce three-dimensional internal and external representations of a scanned object. Industrial CT ...
*
List of interactive geometry software Interactive geometry software (IGS) or dynamic geometry environments (DGEs) are computer programs which allow one to create and then manipulate geometric constructions, primarily in plane geometry. In most IGS, one starts construction by putting a ...
*
MeshLab MeshLab is a 3D mesh processing software system that is oriented to the management and processing of unstructured large meshes and provides a set of tools for editing, cleaning, healing, inspecting, rendering, and converting these kinds of meshes ...
*
Signal processing Signal processing is an electrical engineering subfield that focuses on analyzing, modifying and synthesizing ''signals'', such as sound, images, and scientific measurements. Signal processing techniques are used to optimize transmissions, ...
** Digital signal processing ** Digital signal processor (DSP) *
Topology In mathematics, topology (from the Greek words , and ) is concerned with the properties of a geometric object that are preserved under continuous deformations, such as stretching, twisting, crumpling, and bending; that is, without closing ...


References


External links

{{Commonscat
Symposium on Geometry Processing

Multi-Res Modeling Group
Caltech The California Institute of Technology (branded as Caltech or CIT)The university itself only spells its short form as "Caltech"; the institution considers other spellings such a"Cal Tech" and "CalTech" incorrect. The institute is also occasional ...

Mathematical Geometry Processing Group
Free University of Berlin The Free University of Berlin (, often abbreviated as FU Berlin or simply FU) is a public research university in Berlin, Germany. It is consistently ranked among Germany's best universities, with particular strengths in political science and t ...

Computer Graphics Group
RWTH Aachen University
Polygon Mesh Processing Book

Polygon Mesh Processing Library

Discrete Differential Geometry: An Applied Introduction
course notes by Keenan Crane et al.
Video tutorials
from SGP 2017 grad school
libigl
geometry processing library

The Computational Geometry Algorithms Library (see section on Polygon Mesh Processing) 3D imaging 3D computer graphics Geometry Computational geometry Differential geometry