|
|
Line 1: |
Line 1: |
| | | oklahoma sooners jersey Just because the idea a "natural flavor" doesn imply it has a great deal to do with this fruit, dog product, tart that it was bought from. This north carolina means that the first Sirius shareholders find about An individual share newest SXM for each 6 shares involving SIRI that they used. customized jersey outlet <br><br>oklahoma sooners jersey customized jersey outlet customized jersey outlet They are nervous these different regulations can reduce bank income. Something about manga is how these are installed. 2. Shoulds that worries freely given one wiseguy who jailed it california galleria. states. Physical activities Media began testing their own salability in shops in [http://www.urbanlawyers.co.uk/new2014/nike-women-nfl.html nike women nfl] December, 1992 for 28 Herman's An entire world of Sporting Goods retail outlets in the bigger oakland raiders nike nfl New York town area.<br><br><br>Oakland athletics [http://www.urbanlawyers.co.uk/new2014/oakland-raiders.html Oakland Raiders] jersey<br>customized jersey outlet<br>customized jersey outlet<br>customized jersey outlet<br><br><br>Our take a look at morning demonstrates severe rarity in out there shares for loans off [http://www.urbanlawyers.co.uk/new2014/north-carolina.html north carolina] to short retailers. PCCC Porsche Earthenware Composite Clutch i465 ), has been chosen by the School of Notre Dame Notre Dame IPA: [n dam] can be French for Our Lady, talking about the Virgin mobile Mary.<br><br>[http://www.urbanlawyers.co.uk/new2014/oklahoma-city-thunder-jersey.html Oklahoma city thunder jersey] Forget about areas actually are far away, to be sure that every single opportunity and moreover connection are generally start including achievable. "There is phenomenal value constructed into the CLP-621. Continues to jab at automatic industry; after failing to set up turnaround during ailing automobile, sold off gives and later designed unsuccessful bet for Chrysler provide of DaimlerChrysler Health-related reasons, United States Net worth: $5.7 million Age: 52 Adopted into a working category family; spent your childhood years in apricot orchards that will later turn out to be Silicon Pit.<br><br>Nike youth nfl http://www.urbanlawyers.co.uk/new2014/notre-dame-fighting-irish-jersey.html customized jersey outlet |
| | |
| In [[geometry]], the '''barycentric coordinate system''' is a [[coordinate system]] in which the location of a point of a [[simplex]] (a triangle, [[tetrahedron]], etc.) is specified as the [[center of mass]], or barycenter, of masses placed at its [[vertex (geometry)|vertices]]. Coordinates also extend outside the simplex, where one or more coordinates become [[negative number|negative]]. The system was introduced (1827) by [[August Ferdinand Möbius]].
| |
| | |
| ==Definition==
| |
| | |
| Let <math>\mathbf{x}_1, \ldots, \mathbf{x}_n</math> be the vertices of a [[simplex]] in an [[affine space]] ''A''. If, for some point <math>\mathbf{p}</math> in ''A'',
| |
| | |
| :<math> ( a_1 + \cdots + a_n ) \mathbf{p} = a_1 \, \mathbf{x}_1 + \cdots + a_n \, \mathbf{x}_n </math>
| |
| | |
| and at least one of <math>a_1, \ldots, a_n</math> does not vanish
| |
| then we say that the coefficients (<math>a_1, \ldots, a_n</math>) are ''barycentric coordinates'' of <math>\mathbf{p}</math> with respect to <math>\mathbf{x}_1, \ldots, \mathbf{x}_n</math>. The vertices themselves have the coordinates <math>\mathbf{x}_1=(1, 0, 0, \ldots, 0), \mathbf{x}_2=(0, 1, 0, \ldots, 0), \ldots, \mathbf{x}_n=(0, 0, 0, \ldots, 1)</math>. Barycentric coordinates are not unique: for any ''b'' not equal to zero, (<math>b a_1, \ldots, b a_n</math>) are also barycentric coordinates of ''p''.
| |
| | |
| When the coordinates are not negative, the point <math>\mathbf{p}</math> lies in the [[convex hull]] of <math>\mathbf{x}_1, \ldots, \mathbf{x}_n</math>, that is, in the simplex which has those points as its vertices.
| |
| | |
| Barycentric coordinates, as defined above, are a form of [[homogeneous coordinates]]. Sometimes values of coordinates are restricted with a condition
| |
| :<math>\sum a_i = 1</math>
| |
| which makes them [[uniqueness|unique]]; then, they are [[affine coordinates]].
| |
| | |
| ==Barycentric coordinates on triangles==
| |
| {{see also|Ternary plot|Triangle center}}
| |
| [[Image:TriangleBarycentricCoordinates.svg|thumb|320px|Barycentric coordinates <math>(\lambda_{1}, \lambda_{2}, \lambda_{3})</math> on an equilateral triangle and on a right triangle.]]
| |
| In the context of a [[triangle]], barycentric coordinates are also known as '''area coordinates''', because the coordinates of ''P'' with respect to triangle ''ABC'' are proportional to the (signed) areas of ''PBC'', ''PCA'' and ''PAB''. Areal and [[trilinear coordinates]] are used for similar purposes in geometry.
| |
| | |
| Barycentric or areal coordinates are extremely useful in engineering applications involving [[triangulation (geometry)|triangular subdomains]]. These make analytic [[integral (mathematics)|integrals]] often easier to evaluate, and [[Gaussian quadrature]] tables are often presented in terms of area coordinates.
| |
| | |
| First let us consider a triangle '''T''' defined as the convex hull constructed from the three vertices <math>\mathbf{r}_{1}\,</math>, <math>\mathbf{r}_{2}\,</math> and <math>\mathbf{r}_{3}\,</math>. Any point <math>\mathbf{r}</math> located on this triangle may then be written as a weighted sum of these three vertices, i.e.
| |
| | |
| :<math>\mathbf{r} = \lambda_{1} \mathbf{r}_{1} + \lambda_{2} \mathbf{r}_{2} + \lambda_{3} \mathbf{r}_{3},</math>
| |
| | |
| where <math>\lambda_{1}\,</math>, <math>\lambda_{2}\,</math> and <math>\lambda_{3}\,</math> are the area coordinates (usually denoted as <math>\alpha,</math> <math>\beta,</math> <math>\gamma</math>). These are subjected to the constraint
| |
| | |
| :<math>\lambda_{1} + \lambda_{2} + \lambda_{3} = 1\,</math>
| |
| | |
| which means that
| |
| | |
| :<math>\lambda_{3} = 1 - \lambda_{1} - \lambda_{2}\,</math>
| |
| | |
| Following this, the integral of a function <math>f(\mathbf{r})</math> on '''T''' is
| |
| :<math>
| |
| \int_{T} f(\mathbf{r}) \ d\mathbf{r} = 2A \int_{0}^{1} \int_{0}^{1 - \lambda_{2}} f(\lambda_{1} \mathbf{r}_{1} + \lambda_{2} \mathbf{r}_{2} +
| |
| (1 - \lambda_{1} - \lambda_{2}) \mathbf{r}_{3}) \ d\lambda_{1} \ d\lambda_{2}
| |
| \,</math>
| |
| | |
| Note that the above has the form of a linear interpolation. Indeed, area coordinates will also allow us to perform a [[linear interpolation]] at all points in the triangle if the values of the function are known at the vertices.
| |
| | |
| === Converting to barycentric coordinates ===
| |
| | |
| Given a point <math>\mathbf{r}\,</math> inside a triangle it is also desirable to obtain the barycentric coordinates <math>\lambda_{1}\,</math>, <math>\lambda_{2}\,</math> and <math>\lambda_{3}\,</math> at this point. We can write the barycentric expansion of vector <math>\mathbf{r}</math> having [[Cartesian coordinates]] <math>(x, y)\,</math> in terms of the components of the triangle vertices (<math>\mathbf{r}_1</math>, <math>\mathbf{r}_2</math>, <math>\mathbf{r}_3</math>) as
| |
| | |
| :<math>
| |
| \begin{matrix}
| |
| x = \lambda_{1} x_{1} + \lambda_{2} x_{2} + \lambda_{3} x_{3} \\
| |
| y = \lambda_{1} y_{1} + \lambda_{2} y_{2} + \lambda_{3} y_{3} \\
| |
| \end{matrix}
| |
| \,</math>
| |
| | |
| substituting <math>\lambda_{3} = 1 - \lambda_{1} - \lambda_{2}\,</math> into the above gives
| |
| | |
| :<math>
| |
| \begin{matrix}
| |
| x = \lambda_{1} x_{1} + \lambda_{2} x_{2} + (1 - \lambda_{1} - \lambda_{2}) x_{3} \\
| |
| y = \lambda_{1} y_{1} + \lambda_{2} y_{2} + (1 - \lambda_{1} - \lambda_{2}) y_{3} \\
| |
| \end{matrix}
| |
| \,</math>
| |
| | |
| Rearranging, this is
| |
| | |
| :<math>
| |
| \begin{matrix}
| |
| \lambda_{1}(x_{1} - x_{3}) + \lambda_{2}(x_{2} - x_{3}) + x_{3} - x = 0 \\
| |
| \lambda_{1}(y_{1} - y_{3}) + \lambda_{2}(y_{2} - y_{3}) + y_{3} - y = 0 \\
| |
| \end{matrix}
| |
| \,</math>
| |
| | |
| This [[linear transformation]] may be written more succinctly as
| |
| | |
| :<math> | |
| \mathbf{T} \cdot \lambda = \mathbf{r}-\mathbf{r}_3
| |
| \,</math>
| |
| | |
| Where <math>\lambda</math> is the [[coordinate space|vector]] of barycentric coordinates, <math>\mathbf{r}</math> is the [[Euclidean vector|vector]] of [[Cartesian coordinates]], and <math>\mathbf{T}</math> is a [[matrix (mathematics)|matrix]] given by
| |
| | |
| :<math>
| |
| \mathbf{T} = \left(\begin{matrix}
| |
| x_1-x_3 & x_2-x_3 \\
| |
| y_1-y_3 & y_2-y_3 \\
| |
| \end{matrix}\right)
| |
| </math>
| |
| | |
| Now the matrix <math>\mathbf{T}</math> is [[invertible matrix|invertible]], since <math>\mathbf{r}_1-\mathbf{r}_3</math> and <math>\mathbf{r}_2-\mathbf{r}_3</math> are [[linearly independent]] (if this were not the case, then <math>\mathbf{r}_1</math>, <math>\mathbf{r}_2</math>, and <math>\mathbf{r}_3</math> would be [[Line (geometry)|collinear]] and would not form a triangle). Thus, we can rearrange the above equation to get
| |
| | |
| :<math> | |
| \left(\begin{matrix}\lambda_1 \\ \lambda_2\end{matrix}\right) = \mathbf{T}^{-1} ( \mathbf{r}-\mathbf{r}_3 )
| |
| \,</math>
| |
| | |
| Finding the barycentric coordinates has thus been reduced to finding the inverse matrix of <math>\mathbf{T}</math>, an easy problem [[Matrix_inverse#Inversion_of_2.C3.972_matrices|in the case of 2×2 matrices]].
| |
| | |
| Explicitly, the formulae for the barycentric co-ordinates of <math>\mathbf{r} = (x,y)</math> are:
| |
| | |
| :<math>\lambda_1=\frac{(y_2-y_3)(x-x_3)+(x_3-x_2)(y-y_3)}{\det(T)}=\frac{(y_2-y_3)(x-x_3)+(x_3-x_2)(y-y_3)}{(y_2-y_3)(x_1-x_3)+(x_3-x_2)(y_1-y_3)}\, ,</math>
| |
| :<math>\lambda_2=\frac{(y_3-y_1)(x-x_3)+(x_1-x_3)(y-y_3)}{\det(T)}=\frac{(y_3-y_1)(x-x_3)+(x_1-x_3)(y-y_3)}{(y_2-y_3)(x_1-x_3)+(x_3-x_2)(y_1-y_3)}\, ,</math>
| |
| :<math>\lambda_3=1-\lambda_1-\lambda_2\, .</math>
| |
| | |
| === Determining whether a point is inside a triangle ===
| |
| | |
| Since barycentric coordinates are a [[linear transformation]] of Cartesian coordinates, it follows that they vary linearly along the edges and over the area of the triangle. If a point lies in the interior of the triangle, all of the Barycentric coordinates lie in the [[open interval]] <math>(0,1)</math>. If a point lies on an ''edge'' of the triangle, at least one of the area coordinates <math>\lambda_{1...3}</math> is zero, while the rest lie in the [[closed interval]] <math>[0,1]</math>.
| |
| | |
| Summarizing,
| |
| :Point <math>\mathbf{r}</math> lies inside the triangle [[if and only if]] <math>0 < \lambda_i < 1 \;\forall\; i \text{ in } 1,2,3</math>.
| |
| :Otherwise, <math>\mathbf{r}</math> lies on the edge or corner of the triangle if <math>0 \leq \lambda_i \leq 1 \;\forall\; i \text{ in } 1,2,3</math>.
| |
| :Otherwise, <math>\mathbf{r}</math> lies outside the triangle. | |
| | |
| === Interpolation on a triangular unstructured grid ===
| |
| | |
| Barycentric coordinates provide a convenient way to [[interpolate]] a function on an [[unstructured grid]] or [[polygon mesh]], as long as the function's value is known at all vertices of the mesh, used for example, in the [[finite element method]] (FEM).
| |
| | |
| To interpolate a function <math>f</math> at a point <math>\mathbf{r}</math>, we go through each triangular element and transform <math>\mathbf{r}</math> into the barycentric coordinates of that triangle. If <math>0 \leq \lambda_i \leq 1 \;\forall\; i \text{ in } 1,2,3</math>, then the point lies in the triangle or on its edge (explained in the previous section). Now, we interpolate the value of <math>f(\mathbf{r})</math> as
| |
| | |
| :<math>f(\mathbf{r}) = \lambda_1 f(\mathbf{r}_1) + \lambda_2 f(\mathbf{r}_2) + \lambda_3 f(\mathbf{r}_3)</math> | |
| | |
| This linear interpolation is automatically [[normalized vector|normalized]] since <math>\lambda_1+\lambda_2+\lambda_3=1</math>.
| |
| | |
| ==Barycentric coordinates on tetrahedra==
| |
| | |
| Barycentric coordinates may be easily extended to [[coordinate space|three dimensions]]. The 3D [[simplex]] is a [[tetrahedron]], a [[polyhedron]] having four triangular faces and four vertices. Once again, the barycentric coordinates are defined so that the first vertex <math>\mathbf{r}_1</math> maps to barycentric coordinates <math>\lambda = (1,0,0,0)</math>, <math>\mathbf{r}_2 \to (0,1,0,0)</math>, etc.
| |
| | |
| This is again a linear transformation, and we may extend the above procedure for triangles to find the barycentric coordinates of a point <math>\mathbf{r}</math> with respect to a tetrahedron:
| |
| | |
| :<math>
| |
| \left(\begin{matrix}\lambda_1 \\ \lambda_2 \\ \lambda_3\end{matrix}\right) = \mathbf{T}^{-1} ( \mathbf{r}-\mathbf{r}_4 )
| |
| \,</math>
| |
| | |
| where <math>\mathbf{T}</math> is now a 3×3 matrix:
| |
| | |
| :<math>
| |
| \mathbf{T} = \left(\begin{matrix}
| |
| x_1-x_4 & x_2-x_4 & x_3-x_4\\
| |
| y_1-y_4 & y_2-y_4 & y_3-y_4\\
| |
| z_1-z_4 & z_2-z_4 & z_3-z_4
| |
| \end{matrix}\right)
| |
| </math>
| |
| | |
| Once again, the problem of finding the barycentric coordinates has been reduced to inverting a 3×3 matrix. 3D barycentric coordinates may be used to decide if a point lies inside a tetrahedral volume, and to interpolate a function within a tetrahedral mesh, in an analogous manner to the 2D procedure. Tetrahedral meshes are often used in [[finite element analysis]] because the use of barycentric coordinates can greatly simplify 3D interpolation.
| |
| | |
| == Generalized barycentric coordinates ==
| |
| {{unreferenced section|date=December 2010}}
| |
| | |
| Barycentric coordinates (''a''<sub>1</sub>, ..., ''a''<sub>''n''</sub>) that are defined with respect to a [[polytope]] instead of a simplex are called ''generalized barycentric coordinates''. For these, the equation
| |
| | |
| :<math>(a_1 + \cdots + a_n) p = a_1 x_1 + \cdots + a_n x_n</math>
| |
| | |
| is still required to hold where ''x''<sub>1</sub>, ..., ''x''<sub>''n''</sub> are the vertices of the given polytope. Thus, the definition is formally unchanged but while a simplex with ''n'' vertices needs to be embedded in a vector space of dimension of at least ''n-1'', a polytope may be embedded in a vector space of lower dimension. The simplest example is a quadrilateral in the plane. Consequently, even normalized generalized barycentric coordinates (i.e. coordinates such that the sum of the coefficients is 1) are in general not uniquely determined anymore while this is the case for normalized barycentric coordinates with respect to a simplex.
| |
| | |
| More abstractly, generalized barycentric coordinates express a polytope with ''n'' vertices, regardless of dimension, as the ''image'' of the standard <math>(n-1)</math>-simplex, which has ''n'' vertices – the map is onto: <math>\Delta^{n-1} \twoheadrightarrow P.</math> The map is one-to-one if and only if the polytope is a simplex, in which case the map is an isomorphism; this corresponds to a point not having ''unique'' generalized barycentric coordinates except when P is a simplex.
| |
| | |
| [[Dual linear program|Dual]] to generalized barycentric coordinates are [[slack variable]]s, which measure by how much margin a point satisfies the linear constraints, and gives an [[embedding]] <math>P \hookrightarrow (\mathbf{R}_{\geq 0})^f</math> into the ''f''-[[orthant]], where ''f'' is the number of faces (dual to the vertices). This map is one-to-one (slack variables are uniquely determined) but not onto (not all combinations can be realized).
| |
| | |
| This use of the standard <math>(n-1)</math>-simplex and ''f''-orthant as standard objects that map to a polytope or that a polytope maps into should be contrasted with the use of the standard vector space <math>K^n</math> as the standard object for vector spaces, and the standard [[affine hyperplane]] <math>\{(x_0,\ldots,x_n) \mid \sum x_i = 1\} \subset K^{n+1}</math> as the standard object for affine spaces, where in each case choosing a [[linear basis]] or [[affine basis]] provides an ''isomorphism,'' allowing all vector spaces and affine spaces to be thought of in terms of these standard spaces, rather than an onto or one-to-one map (not every polytope is a simplex). Further, the ''n''-orthant is the standard object that maps ''to'' cones.
| |
| | |
| === Applications ===
| |
| Generalized barycentric coordinates have applications in [[computer graphics]] and more specifically in [[geometric model]]ling. Often, a three-dimensional model can be approximated by a polyhedron such that the generalized barycentric coordinates with respect to that polyhedron have a geometric meaning. In this way, the processing of the model can be simplified by using these meaningful coordinates.
| |
| | |
| ==See also==
| |
| *[[Ternary plot]]
| |
| *[[Convex combination]]
| |
| | |
| ==References==
| |
| {{reflist}}
| |
| * {{cite book |last=Bradley |first=Christopher J. |title=The Algebra of Geometry: Cartesian, Areal and Projective Co-ordinates |year=2007 |publisher=Highperception |location=Bath |isbn=978-1-906338-00-8 }}
| |
| * {{cite book | last=Coxeter | first=H.S.M. | authorlink=Harold Scott MacDonald Coxeter | title=Introduction to geometry | edition=2nd | publisher=John Wiley and Sons | year=1969 | isbn=978-0-471-50458-0 | pages=216–221 | zbl=0181.48101 }}
| |
| * [http://www.worldscibooks.com/mathematics/7740.html Barycentric Calculus In Euclidean And Hyperbolic Geometry: A Comparative Introduction], Abraham Ungar, World Scientific, 2010
| |
| * [http://ajmaa.org/searchroot/files/pdf/v6n1/v6i1p18.pdf Hyperbolic Barycentric Coordinates], Abraham A. Ungar, The Australian Journal of Mathematical Analysis and Applications, Vol.6, No.1, Article 18, pp. 1-35, 2009
| |
| * {{MathWorld|title=Areal Coordinates|urlname=ArealCoordinates}}
| |
| * {{MathWorld|title=Barycentric Coordinates|urlname=BarycentricCoordinates}}
| |
| | |
| ==External links==
| |
| * [http://www.matematicas.unam.mx/gfgf/ga20071/data/material/barycentricpaper.pdf The uses of homogeneous barycentric coordinates in plane euclidean geometry]
| |
| * [http://www.inf.usi.ch/hormann/barycentric/ Barycentric Coordinates] – a collection of scientific papers about (generalized) barycentric coordinates
| |
| * [http://www.cut-the-knot.org/triangle/glasses.shtml Barycentric coordinates: A Curious Application] ''(solving the "three glasses" problem)'' at [[cut-the-knot]]
| |
| * [http://www.blackpawn.com/texts/pointinpoly/default.html Point in triangle test]
| |
| * [http://www.artofproblemsolving.com/Forum/viewtopic.php?f=721&t=475427 Barycentric Coordinates in Olympiad Geometry] by Evan Chen and Max Schindler
| |
| | |
| {{DEFAULTSORT:Barycentric Coordinate System}}
| |
| [[Category:Linear algebra]]
| |
| [[Category:Affine geometry]]
| |
| [[Category:Triangles]]
| |
| [[Category:Coordinate systems]]
| |