Geometry processingGeometry 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, many of the concepts, data structures, and algorithms are directly analogous to signal processing and .
Mean curvature flowIn the field of differential geometry in mathematics, mean curvature flow is an example of a geometric flow of hypersurfaces in a Riemannian manifold (for example, smooth surfaces in 3-dimensional Euclidean space). Intuitively, a family of surfaces evolves under mean curvature flow if the normal component of the velocity of which a point on the surface moves is given by the mean curvature of the surface. For example, a round sphere evolves under mean curvature flow by shrinking inward uniformly (since the mean curvature vector of a sphere points inward).
Cotangent bundleIn mathematics, especially differential geometry, the cotangent bundle of a smooth manifold is the vector bundle of all the cotangent spaces at every point in the manifold. It may be described also as the dual bundle to the tangent bundle. This may be generalized to with more structure than smooth manifolds, such as complex manifolds, or (in the form of cotangent sheaf) algebraic varieties or schemes. In the smooth case, any Riemannian metric or symplectic form gives an isomorphism between the cotangent bundle and the tangent bundle, but they are not in general isomorphic in other categories.
Cotangent spaceIn differential geometry, the cotangent space is a vector space associated with a point on a smooth (or differentiable) manifold ; one can define a cotangent space for every point on a smooth manifold. Typically, the cotangent space, is defined as the dual space of the tangent space at , , although there are more direct definitions (see below). The elements of the cotangent space are called cotangent vectors or tangent covectors. All cotangent spaces at points on a connected manifold have the same dimension, equal to the dimension of the manifold.
Curve-shortening flowIn mathematics, the curve-shortening flow is a process that modifies a smooth curve in the Euclidean plane by moving its points perpendicularly to the curve at a speed proportional to the curvature. The curve-shortening flow is an example of a geometric flow, and is the one-dimensional case of the mean curvature flow. Other names for the same process include the Euclidean shortening flow, geometric heat flow, and arc length evolution. As the points of any smooth simple closed curve move in this way, the curve remains simple and smooth.
Polygon meshIn 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 polygons (n-gons), since this simplifies rendering, but may also be more generally composed of concave polygons, or even polygons with holes. The study of polygon meshes is a large sub-field of computer graphics (specifically 3D computer graphics) and geometric modeling.
Vertex (computer graphics)A vertex (plural vertices) in computer graphics is a data structure that describes certain attributes, like the position of a point in 2D or 3D space, or multiple points on a surface. 3D models are most often represented as triangulated polyhedra forming a triangle mesh. Non-triangular surfaces can be converted to an array of triangles through tessellation. Attributes from the vertices are typically interpolated across mesh surfaces. The vertices of triangles are associated not only with spatial position but also with other values used to render the object correctly.
Skeletal animationSkeletal animation or rigging is a technique in computer animation in which a character (or other articulated object) is represented in two parts: a surface representation used to draw the character (called the mesh or skin) and a hierarchical set of interconnected parts (called bones, and collectively forming the skeleton or rig), a virtual armature used to animate (pose and keyframe) the mesh.
Polygonal modelingIn 3D computer graphics, polygonal modeling is an approach for modeling objects by representing or approximating their surfaces using polygon meshes. Polygonal modeling is well suited to scanline rendering and is therefore the method of choice for real-time computer graphics. Alternate methods of representing 3D objects include NURBS surfaces, subdivision surfaces, and equation-based (implicit surface) representations used in ray tracers. The basic object used in mesh modeling is a vertex, a point in three-dimensional space.
ShaderIn computer graphics, a shader is a computer program that calculates the appropriate levels of light, darkness, and color during the rendering of a 3D scene—a process known as shading. Shaders have evolved to perform a variety of specialized functions in computer graphics special effects and video post-processing, as well as general-purpose computing on graphics processing units. Traditional shaders calculate rendering effects on graphics hardware with a high degree of flexibility.
Mesh generationMesh generation is the practice of creating a mesh, a subdivision of a continuous geometric space into discrete geometric and topological cells. Often these cells form a simplicial complex. Usually the cells partition the geometric input domain. Mesh cells are used as discrete local approximations of the larger domain. Meshes are created by computer algorithms, often with human guidance through a GUI , depending on the complexity of the domain and the type of mesh desired.
Computer representation of surfacesIn technical applications of 3D computer graphics (CAx) such as computer-aided design and computer-aided manufacturing, surfaces are one way of representing objects. The other ways are wireframe (lines and curves) and solids. Point clouds are also sometimes used as temporary ways to represent an object, with the goal of using the points to create one or more of the three permanent representations. If one considers a local parametrization of a surface: then the curves obtained by varying u while keeping v fixed are coordinate lines, sometimes called the u flow lines.
Arnoldi iterationIn numerical linear algebra, the Arnoldi iteration is an eigenvalue algorithm and an important example of an iterative method. Arnoldi finds an approximation to the eigenvalues and eigenvectors of general (possibly non-Hermitian) matrices by constructing an orthonormal basis of the Krylov subspace, which makes it particularly useful when dealing with large sparse matrices. The Arnoldi method belongs to a class of linear algebra algorithms that give a partial result after a small number of iterations, in contrast to so-called direct methods which must complete to give any useful results (see for example, Householder transformation).