Barycentric subdivision

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

In geometry, the barycentric subdivision is a standard way of dividing an arbitrary convex polygon into triangles, a convex polyhedron into tetrahedra, or, in general, a convex polytope into simplices with the same dimension, by connecting the barycenters of their faces in a specific way.

The name is also used in topology for a similar operation on cell complexes. The result is topologically equivalent to that of the geometric operation, but the parts have arbitrary shape and size. This is an example of a finite subdivision rule.

Both operations have a number of applications in mathematics and in geometric modeling, especially whenever some function or shape needs to be approximated piecewise, e.g. by a spline.

Barycentric subdivision of a simplex

Barycentric subdivision of the 2-simplex or triangle

The barycentric subdivision (henceforth BCS) of an n-dimensional simplex S consists of (n + 1)! simplices. Each piece, with vertices v_0,v_1,\dots,v_n, can be associated with a permutation p_0,p_1,\dots,p_n of the vertices of S, in such a way that each vertex v_i is the barycenter of the points p_0,p_1,\dots,p_i.

Error creating thumbnail: File with dimensions greater than 25 MP
4 stages of barycentric subdivision

In particular, the BCS of a single point (a 0-dimensional simplex) consists of that point itself. The BCS of a line segment (1-simplex) S consists of two smaller segments, each connecting one endpoint (0-dimensional face) of S to the midpoint of S itself (1-dimensional face).

The BCS of a triangle S divides it into six triangles; each part has one vertex v_2 at the barycenter of S, another one v_1 at the midpoint of some side, and the last one v_0 at one of the original vertices.

The BCS of a tetrahedron S divides it into 24 tetrahedra; each part has one vertex at the center of S, one on some face, one along some edge, and the last one at some vertex of S.

An important feature of BCS is the fact that the maximal diameter of an n-dimensional simplex shrinks at least by the factor \frac n{n+1}.[1]

Barycentric subdivision of a convex polytope

Another way of defining the BCS of a simplex S is to associate each part to a sequence F_0,F_1,\dots,F_n of faces of S, with increasing dimensions, such that F_i is a facet of F_{i+1}, for i from 0 to n-1. Then each vertex v_i of the corresponding piece is the barycenter of face F_i.

This alternative definition can be extended to the BCS of an arbitrary n-dimensional convex polytope into a number of n-simplices. Thus the BCS of a pentagon P, for example, has 10 triangles: each triangle is associated to three elements F_0,F_1,F_2 of P — respectively, a corner of P, a side of P incident to that corner, and P itself.

Similarly the BCS of a cube consists of 48 tetrahedra, each of them associated to a sequence F_0,F_1,F_2,F_3 of nested elements — a vertex, an edge, a face, and the whole cube. Note that there are 8 choices for F_0, 3 for F_1 (given F_0), and 2 for F_2 (given F_0,F_1).

Barycentric subdivision in topology

Barycentric subdivision is an important tool in simplicial homology theory, where it is used as a means of obtaining finer simplicial complexes (containing the original ones, i.e. with more simplices). This in turn is crucial to the simplicial approximation theorem, which roughly states that one can approximate any continuous function between polyhedra by a (finite) simplicial map, given a sufficient amount of subdivision of the respective simplicial complexes whom they realize. Ultimately, this approximation technique is a standard ingredient in the proof that simplicial homology groups are topological invariants.[1][2]

A generalization of barycentric subdivision can also be defined for a cell complex. Informally, such an object can be thought of as an assemblage of one or more chunks of rubber (cells), each shaped like a convex polytope, which are glued to each other by their facets — possibly with much stretching and twisting.

The topological version of BCS replaces each cell by an assemblage of rubber simplices, likewise glued together by their facets and possibly deformed. The procedure is (1) select for each cell a deformation map that converts it into a geometric convex polytope, preserving its incidence and topological connections; (2) perform the geometric BCS on this polytope; and, then (3) map the resulting subdivision back to the original cells.

The result of barycentric subdivision, when viewed as an abstract simplicial complex, is an example of a flag complex. It has one vertex for every cell of the original cell complex and one maximal-dimensional cell for every flag (a collection of cells of different dimensions, all related to each other by inclusion) of the original cell complex.

Applications

The barycentric subdivision is chiefly used to replace an arbitrarily complicated convex polytope or topological cell complex by an assemblage of pieces, all of them of bounded complexity (simplices, in fact). A typical application is modeling the shape of a car body by a spline — a piecewise-defined polynomial function. The algebra of such functions becomes much simpler and easier to program if each "piece" is a "topological triangle", i.e. is attached to exactly three other pieces. However, a human user may find it more natural to design the shape by joining patches with more liberal shapes and topologies. Barycentric subdivision is a convenient way to convert that "user-friendly" model into a "computer-friendly" one.

Repeated barycentric subdivision

When approximating a mathematical function or a surface by a spline, the accuracy of the approximation is usually determined by the piece size — the bigger the pieces, the larger the error. Thus it is often necessary to split large pieces into smaller ones, in order to achieve a prescribed accuracy.

In theory, BCS could be used for that purpose, since it has the property that the longest edge of any piece is smaller than the longest edge of the original polytope by a factor less than n/(n + 1). Therefore, by applying BCS sufficiently many times, the largest edge can be made as small as desired.

However, in practice BCS is not well-suited for that purpose. For one thing, each application after the first one multiplies the number of simplices by (n+1)!. BCS also multiplies the degree of each original vertex by n!, and the degree of each edge by (n-1)!. Moreover, the BCS will split all simplices, even those that are already small enough. Finally, each BCS stage also makes the simplices not only smaller but "skinnier", i.e. it tends to increase their aspect ratio (the ratio between the longest and shortest edge). For all these reasons, in practice one rarely applies more than one round of BCS, and other subdivision schemes are used instead.

Relative barycentric subdivision

For simplicial complexes L\subset K one defines the relative barycentric subdivision K^* of K modulo L that consists of those simplixes with vertices v_0\dots v_kB(S'_1)\dots B(S'_l) associated to a sequence S_0 < \cdots < S_k of proper faces of L and barycenters B(S'_i) of simplexes in K\setminus L.

Clearly, L remains a subcomplex of K^*. Only the simplexes away from L shrink.

Related notions

False barycentric subdivision

Sometimes the term "barycentric subdivision" is improperly used for any subdivision of a polytope P into simplices that have one vertex at the centroid of P, and the opposite facet on the boundary of P. While this property holds for the true barycentric subdivision, it also holds for other subdivisions which are not the BCS.

For example, if one makes a straight cut from the barycenter of a triangle to each of its three corners, one obtains a subdivision into three triangles. Generalizing this idea, one obtains a schema for subdividing an n-dimensional simplex into n+1 simplices. However, this subdivision is not the BCS.

Simplicial sets

The barycentric division can also be defined for simplicial sets, in a way that is compatible (with respect to the topological realization functor) with the above division of simplices.[3]

Notes

  1. 1.0 1.1 Munkres, James R.: Elements of Algebraic Topology
  2. Giblin, P.J.: Graphs, Surfaces and Homology
  3. Lua error in package.lua at line 80: module 'strict' not found., p. 182

See also