Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Barycentric coordinate system
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Coordinate system that is defined by points instead of vectors}} {{Distinguish|Barycentric coordinates (astronomy)}} [[File:TriangleBarycentricCoordinates.svg|thumb|upright=1.3|Barycentric coordinates <math>(\lambda_1, \lambda_2, \lambda_3)</math> on an equilateral triangle and on a right triangle.]] [[File:Barycentric subdivision of a 3-simplex.svg|thumb|A 3-simplex, with barycentric subdivisions of 1-faces (edges) 2-faces (triangles) and 3-faces (body).]] In [[geometry]], a '''barycentric coordinate system''' is a [[coordinate system]] in which the location of a point is specified by reference to a [[simplex]] (a [[triangle]] for points in a [[plane (mathematics)|plane]], a [[tetrahedron]] for points in [[three-dimensional space]], etc.). The '''barycentric coordinates''' of a point can be interpreted as [[mass]]es placed at the vertices of the simplex, such that the point is the [[center of mass]] (or ''barycenter'') of these masses. These masses can be zero or negative; they are all positive if and only if the point is inside the simplex. Every point has barycentric coordinates, and their sum is never zero. Two [[tuple]]s of barycentric coordinates specify the same point if and only if they are proportional; that is to say, if one tuple can be obtained by multiplying the elements of the other tuple by the same non-zero number. Therefore, barycentric coordinates are either considered to be defined [[up to]] multiplication by a nonzero constant, or normalized for summing to unity. Barycentric coordinates were introduced by [[August Ferdinand Möbius|August Möbius]] in 1827.<ref>{{cite book |last=Möbius |first=August Ferdinand |author-link=August Ferdinand Möbius |year=1827 |title=Der barycentrische Calcul |publisher=J.A. Barth |place=Leipzig}}<br> Reprinted in {{cite book |last=Möbius |first=August Ferdinand |display-authors=0 |year=1885 |contribution=Der barycentrische Calcul |title=August Ferdinand Möbius Gesammelte Werke |volume=1 |editor-last=Baltzer |editor-first=Richard |publisher=S. Hirzel |place=Leipzig |pages=1–388 |contribution-url=https://archive.org/details/gesammeltewerkeh01mbuoft/page/n24/ }}</ref><ref>Max Koecher, Aloys Krieg: ''Ebene Geometrie.'' Springer-Verlag, Berlin 2007, {{ISBN|978-3-540-49328-0}}, S. 76.</ref><ref name=Hille>Hille, Einar. "Analytic Function Theory, Volume I", Second edition, fifth printing. Chelsea Publishing Company, New York, 1982, {{ISBN|0-8284-0269-8}}, page 33, footnote 1</ref> They are special [[homogeneous coordinates]]. Barycentric coordinates are strongly related with [[Cartesian coordinates]] and, more generally, to [[affine coordinates]] ({{xref|see {{slink|Affine space|Relationship between barycentric and affine coordinates}}}}). Barycentric coordinates are particularly useful in [[triangle geometry]] for studying properties that do not depend on the angles of the triangle, such as [[Ceva's theorem]], [[Routh's theorem]], and [[Menelaus's theorem]]. In [[computer-aided design]], they are useful for defining some kinds of [[Bézier surface]]s.<ref>Josef Hoschek, Dieter Lasser: ''Grundlagen der geometrischen Datenverarbeitung.'' Teubner-Verlag, 1989, {{ISBN|3-519-02962-6}}, S. 243.</ref><ref>Gerald Farin: ''Curves and Surfaces for Computer Aided Geometric Design.'' Academic Press, 1990, {{ISBN|9780122490514}}, S. 20.</ref> == Definition == Let <math>A_0, \ldots, A_n</math> be {{math|''n'' + 1}} points in a [[Euclidean space]], a [[flat (geometry)|flat]] or an [[affine space]] <math>\mathbf A</math> of dimension {{mvar|n}} that are [[affinely independent]]; this means that there is no [[affine subspace]] of dimension {{math|''n'' − 1}} that contains all the points,<ref name="Reventós Tarrida">Reventós Tarrida, Agustí. "Affine Maps, Euclidean Motions and Quadrics". Springer, 2011, {{ISBN|978-0-85729-709-9}}, page 11</ref> or, equivalently that the points define a [[simplex]]. Given any point <math>P\in \mathbf A,</math> there are [[scalar (mathematics)|scalars]] <math>a_0, \ldots, a_n</math> that are not all zero, such that <math display=block> ( a_0 + \cdots + a_n ) \overset{}\overrightarrow{OP} = a_0 \overset{}\overrightarrow {OA_0} + \cdots + a_n \overset{}\overrightarrow {OA_n}, </math> for any point {{mvar|O}}. (As usual, the notation <math>\overset{}\overrightarrow {AB}</math> represents the [[translation (geometry)|translation vector]] or [[free vector]] that maps the point {{mvar|A}} to the point {{mvar|B}}.) The elements of a {{math|(''n'' + 1)}} tuple <math>(a_0: \dotsc: a_n)</math> that satisfies this equation are called ''barycentric coordinates'' of {{mvar|P}} with respect to <math>A_0, \ldots, A_n.</math> The use of colons in the notation of the tuple means that barycentric coordinates are a sort of [[homogeneous coordinates]], that is, the point is not changed if all coordinates are multiplied by the same nonzero constant. Moreover, the barycentric coordinates are also not changed if the auxiliary point {{mvar|O}}, the [[origin (mathematics)|origin]], is changed. The barycentric coordinates of a point are unique [[up to]] a [[scaling (geometry)|scaling]]. That is, two tuples <math>(a_0: \dotsc: a_n)</math> and <math>(b_0: \dotsc: b_n)</math> are barycentric coordinates of the same point [[if and only if]] there is a nonzero scalar <math>\lambda</math> such that <math>b_i=\lambda a_i</math> for every {{mvar|i}}. In some contexts, it is useful to constrain the barycentric coordinates of a point so that they are unique. This is usually achieved by imposing the condition <math display=block>\sum a_i = 1,</math> or equivalently by dividing every <math>a_i</math> by the sum of all <math>a_i.</math> These specific barycentric coordinates are called '''normalized''' or '''absolute barycentric coordinates'''.<ref name=Deaux>Deaux, Roland. "Introduction to The Geometry of Complex Numbers". Dover Publications, Inc., Mineola, 2008, {{ISBN|978-0-486-46629-3}}, page 61</ref> Sometimes, they are also called [[affine coordinates]], although this term refers commonly to a slightly different concept. Sometimes, it is the normalized barycentric coordinates that are called ''barycentric coordinates''. In this case the above defined coordinates are called ''homogeneous barycentric coordinates''. With above notation, the homogeneous barycentric coordinates of {{mvar|A{{sub|i}}}} are all zero, except the one of index {{mvar|i}}. When working over the [[real number]]s (the above definition is also used for affine spaces over an arbitrary [[field (mathematics)|field]]), the points whose all normalized barycentric coordinates are nonnegative form the [[convex hull]] of <math>\{A_0, \ldots, A_n\},</math> which is the [[simplex]] that has these points as its vertices. With above notation, a tuple <math>(a_1, \ldots, a_n)</math> such that <math display=block>\sum_{i=0}^n a_i=0</math> does not define any point, but the vector <math display=block> a_0 \overset{}\overrightarrow {OA_0} + \cdots + a_n \overset{}\overrightarrow {OA_n}</math> is independent from the origin {{mvar|O}}. As the direction of this vector is not changed if all <math>a_i</math> are multiplied by the same scalar, the homogeneous tuple <math>(a_0: \dotsc: a_n)</math> defines a direction of lines, that is a [[point at infinity]]. See below for more details. ==Relationship with Cartesian or affine coordinates== Barycentric coordinates are strongly related to [[Cartesian coordinates]] and, more generally, [[affine coordinates]]. For a space of dimension {{mvar|n}}, these coordinate systems are defined relative to a point {{mvar|O}}, the [[origin (mathematics)|origin]], whose coordinates are zero, and {{mvar|n}} points <math>A_1, \ldots, A_n,</math> whose coordinates are zero except that of index {{mvar|i}} that equals one. A point has coordinates <math display=block>(x_1, \ldots, x_n)</math> for such a coordinate system if and only if its normalized barycentric coordinates are <math display=block>(1-x_1-\cdots - x_n,x_1, \ldots, x_n)</math> relatively to the points <math>O, A_1, \ldots, A_n.</math> The main advantage of barycentric coordinate systems is to be symmetric with respect to the {{math|''n'' + 1}} defining points. They are therefore often useful for studying properties that are symmetric with respect to {{math|''n'' + 1}} points. On the other hand, distances and angles are difficult to express in general barycentric coordinate systems, and when they are involved, it is generally simpler to use a Cartesian coordinate system. ==Relationship with projective coordinates== Homogeneous barycentric coordinates are also strongly related with some [[projective coordinates]]. However this relationship is more subtle than in the case of affine coordinates, and, for being clearly understood, requires a coordinate-free definition of the [[projective completion]] of an [[affine space]], and a definition of a [[projective frame]]. The ''projective completion'' of an affine space of dimension {{mvar|n}} is a [[projective space]] of the same dimension that contains the affine space as the [[set complement|complement]] of a [[hyperplane]]. The projective completion is unique [[up to]] an [[isomorphism]]. The hyperplane is called the [[hyperplane at infinity]], and its points are the [[points at infinity]] of the affine space.<ref name="Berger">{{Citation | last1=Berger | first1=Marcel | author1-link=Marcel Berger | title=Geometry I | publisher=Springer | location=Berlin | isbn= 3-540-11658-3 | year=1987}}</ref> Given a projective space of dimension {{mvar|n}}, a ''projective frame'' is an ordered set of {{math|''n'' + 2}} points that are not contained in the same hyperplane. A projective frame defines a projective coordinate system such that the coordinates of the {{math|(''n'' + 2)}}th point of the frame are all equal, and, otherwise, all coordinates of the {{mvar|i}}th point are zero, except the {{mvar|i}}th one.<ref name=Berger/> When constructing the projective completion from an affine coordinate system, one commonly defines it with respect to a projective frame consisting of the intersections with the hyperplane at infinity of the [[coordinate axes]], the origin of the affine space, and the point that has all its affine coordinates equal to one. This implies that the points at infinity have their last coordinate equal to zero, and that the projective coordinates of a point of the affine space are obtained by completing its affine coordinates by one as {{math|(''n'' + 1)}}th coordinate. When one has {{math|''n'' + 1}} points in an affine space that define a barycentric coordinate system, this is another projective frame of the projective completion that is convenient to choose. This frame consists of these points and their [[centroid]], that is the point that has all its barycentric coordinates equal. In this case, the homogeneous barycentric coordinates of a point in the affine space are the same as the projective coordinates of this point. A point is at infinity if and only if the sum of its coordinates is zero. This point is in the direction of the vector defined at the end of {{slink||Definition}}. ==Barycentric coordinates on triangles== {{see also|Ternary plot|Triangle center}} In the context of a [[triangle]], barycentric coordinates are also known as '''area coordinates''' or '''areal coordinates''', because the coordinates of ''P'' with respect to triangle ''ABC'' are equivalent to the (signed) ratios of the areas of ''PBC'', ''PCA'' and ''PAB'' to the area of the reference triangle ''ABC''. 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. Consider a triangle <math>ABC</math> with vertices <math>A=(a_1,a_2)</math>, <math>B=(b_1,b_2)</math>, <math>C=(c_1,c_2)</math> in the x,y-plane, <math>\mathbb{R}^2</math>. One may regard points in <math>\mathbb{R}^2</math> as vectors, so it makes sense to add or subtract them and multiply them by scalars. Each triangle <math>ABC</math> has a ''signed area'' or ''sarea'', which is plus or minus its area: <math>\operatorname{sarea}(ABC) = \pm \operatorname{area}(ABC).</math> The sign is plus if the path from <math>A</math> to <math>B</math> to <math>C</math> then back to <math>A</math> goes around the triangle in a counterclockwise direction. The sign is minus if the path goes around in a clockwise direction. Let <math>P</math> be a point in the plane, and let <math>(\lambda_1,\lambda_2,\lambda_3)</math> be its ''normalized barycentric coordinates'' with respect to the triangle <math>ABC</math>, so <math>P = \lambda_1 A + \lambda_2 B + \lambda_3 C</math> and <math>1 = \lambda_1 + \lambda_2 + \lambda_3.</math> Normalized barycentric coordinates <math>(\lambda_1,\lambda_2,\lambda_3)</math> are also called ''areal coordinates'' because they represent ratios of signed areas of triangles: <math>\begin{align}\lambda_1 &= \operatorname{sarea}(PBC)/\operatorname{sarea}(ABC)\\ \lambda_2 &= \operatorname{sarea}(APC)/\operatorname{sarea}(ABC)\\ \lambda_3 &= \operatorname{sarea}(ABP)/\operatorname{sarea}(ABC).\end{align}</math> One may prove these ratio formulas based on the facts that a triangle is half of a parallelogram, and the area of a parallelogram is easy to compute using a [[determinant]]. Specifically, let <math>D = -A+B+C.</math> <math>ABCD</math> is a parallelogram because its pairs of opposite sides, represented by the pairs of displacement vectors <math>D-C=B-A</math>, and <math>D-B=C-A</math>, are parallel and congruent. Triangle <math>ABC</math> is half of the parallelogram <math>ABDC</math>, so twice its signed area is equal to the signed area of the parallelogram, which is given by the <math>2\times 2</math> determinant <math>\det(B-A,C-A)</math> whose ''columns'' are the displacement vectors <math>B-A</math> and <math>C-A</math>: <math display=block>\operatorname{sarea}(ABCD)=\det\begin{pmatrix}b_1-a_1 & c_1-a_1 \\ b_2-a_2 & c_2-a_2\end{pmatrix}</math> Expanding the determinant, using its [[Determinant#Properties of the determinant|''alternating'' and ''multilinear'' properties]], one obtains <math>\begin{align}\det(B-A,C-A) &= \det(B,C)-\det(A,C)-\det(B,A)+\det(A,A) \\ &= \det(A,B)+\det(B,C)+\det(C,A) \end{align}</math> so <math>2 \operatorname{sarea}(ABC) = \det(A,B)+\det(B,C)+\det(C,A).</math> Similarly, <math>2 \operatorname{sarea}(PBC) = \det(P,B)+\det(B,C)+\det(C,P) </math>, To obtain the ratio of these signed areas, express <math>P</math> in the second formula in terms of its barycentric coordinates: <math>\begin{align}2 \operatorname{sarea}(PBC) &= \det(\lambda_1 A + \lambda_2 B + \lambda_3 C, B) + \det(B,C) + \det(C,\lambda_1 A + \lambda_2 B + \lambda_3 C)\\ &= \lambda_1 \det(A,B) + \lambda_3 \det(C,B) + \det(B,C) + \lambda_1 \det(C,A) + \lambda_2 \det(C,B)\\ &= \lambda_1 \det(A,B) + \lambda_1 \det(C,A) + (1-\lambda_2 - \lambda_3) \det(B,C) \end{align}.</math> The barycentric coordinates are normalized so <math>1 = \lambda_1 + \lambda_2 + \lambda_3</math>, hence <math>\lambda_1 = (1-\lambda_2 - \lambda_3)</math> . Plug that into the previous line to obtain <math>\begin{align}2 \operatorname{sarea}(PBC) &= \lambda_1 (\det(A,B)+\det(B,C)+\det(C,A)) \\ &= (\lambda_1)(2 \operatorname{sarea}(ABC)).\end{align}</math> Therefore <math>\lambda_1 = \operatorname{sarea}(PBC)/\operatorname{sarea}(ABC)</math>. Similar calculations prove the other two formulas <math>\lambda_2 = \operatorname{sarea}(APC)/\operatorname{sarea}(ABC)</math> <math>\lambda_3 = \operatorname{sarea}(ABP)/\operatorname{sarea}(ABC)</math>. [[Trilinear coordinates]] <math>(\gamma_1,\gamma_2,\gamma_3)</math> of <math>P</math> are signed distances from <math>P</math> to the lines BC, AC, and AB, respectively. The sign of <math>\gamma_1</math> is positive if <math>P</math> and <math>A</math> lie on the same side of BC, negative otherwise. The signs of <math>\gamma_2</math> and <math>\gamma_3</math> are assigned similarly. Let <math>a = \operatorname{length}(BC)</math>, <math>b = \operatorname{length}(CA)</math>, <math>c = \operatorname{length}(AB)</math>. Then <math>\begin{align}\gamma_1 a &= \pm 2\operatorname{sarea}(PBC)\\ \gamma_2 b &= \pm 2\operatorname{sarea}(APC)\\ \gamma_3 c &= \pm 2\operatorname{sarea}(ABP)\end{align}</math> where, as above, sarea stands for signed area. All three signs are plus if triangle ABC is positively oriented, minus otherwise. The relations between trilinear and barycentric coordinates are obtained by substituting these formulas into the above formulas that express barycentric coordinates as ratios of areas. Switching back and forth between the barycentric coordinates and other coordinate systems makes some problems much easier to solve. === Conversion between barycentric and Cartesian coordinates === ==== Edge approach ==== Given a point <math>\mathbf{r}</math> in a triangle's plane one can obtain the barycentric coordinates <math>\lambda_1</math>, <math>\lambda_2</math> and <math>\lambda_3</math> from the [[Cartesian coordinates]] <math>(x, y)</math> or vice versa. We can write the Cartesian coordinates of the point <math>\mathbf{r}</math> in terms of the Cartesian components of the triangle vertices <math>\mathbf{r}_1</math>, <math>\mathbf{r}_2</math>, <math>\mathbf{r}_3</math> where <math>\mathbf{r}_i = (x_i, y_i)</math> and in terms of the barycentric coordinates of <math>\mathbf{r}</math> as <math display=block>\begin{align} x &= \lambda_1 x_1 + \lambda_2 x_2 + \lambda_3 x_3 \\[2pt] y &= \lambda_1 y_1 + \lambda_2 y_2 + \lambda_3 y_3 \end{align}</math> That is, the Cartesian coordinates of any point are a weighted average of the Cartesian coordinates of the triangle's vertices, with the weights being the point's barycentric coordinates summing to unity. To find the reverse transformation, from Cartesian coordinates to barycentric coordinates, we first substitute <math>\lambda_3 = 1 - \lambda_1 - \lambda_2</math> into the above to obtain <math display=block>\begin{align} x &= \lambda_1 x_1 + \lambda_2 x_2 + (1 - \lambda_1 - \lambda_2) x_3 \\[2pt] y &= \lambda_1 y_1 + \lambda_2 y_2 + (1 - \lambda_1 - \lambda_2) y_3 \end{align}</math> Rearranging, this is <math display=block>\begin{align} \lambda_1(x_1 - x_3) + \lambda_2(x_2 - x_3) + x_3 - x &= 0 \\[2pt] \lambda_1(y_1 - y_3) + \lambda_2(y_2 -\, y_3) + y_3 - \, y &= 0 \end{align}</math> This [[linear transformation]] may be written more succinctly as <math display=block> \mathbf{T} \cdot \lambda = \mathbf{r}-\mathbf{r}_3 </math> where <math>\lambda</math> is the [[coordinate space|vector]] of the first two 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 display=block> \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 display=block> \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 [[Matrix inversion#Inversion of 2×2 matrices|2×2 inverse matrix]] of <math>\mathbf{T}</math>, an easy problem. Explicitly, the formulae for the barycentric coordinates of point <math>\mathbf{r}</math> in terms of its Cartesian coordinates (''x, y'') and in terms of the Cartesian coordinates of the triangle's vertices are: <math display="block">\begin{align} \lambda_1 =&\ \frac{(y_2-y_3)(x-x_3) + (x_3-x_2)(y-y_3)}{\det(\mathbf T)} \\[4pt] &= \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)} \\[4pt] &= \frac{(\mathbf{r}-\mathbf{r_3})\times(\mathbf{r_2}-\mathbf{r_3})}{(\mathbf{r_1}-\mathbf{r_3})\times(\mathbf{r_2}-\mathbf{r_3})} \\[12pt] \lambda_2 =&\ \frac{(y_3-y_1)(x-x_3) + (x_1-x_3)(y-y_3)}{\det(\mathbf T)} \\[4pt] &= \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)} \\[4pt] &= \frac{(\mathbf{r}-\mathbf{r_3})\times(\mathbf{r_3}-\mathbf{r_1})}{(\mathbf{r_1}-\mathbf{r_3})\times(\mathbf{r_2}-\mathbf{r_3})} \\[12pt] \lambda_3 =&\ 1 - \lambda_1 - \lambda_2 \\[4pt] &= 1-\frac{(\mathbf{r}-\mathbf{r_3})\times(\mathbf{r_2}-\mathbf{r_1})}{(\mathbf{r_1}-\mathbf{r_3})\times(\mathbf{r_2}-\mathbf{r_3})} \\[4pt] &= \frac{(\mathbf{r}-\mathbf{r_1})\times(\mathbf{r_1}-\mathbf{r_2 })}{(\mathbf{r_1}-\mathbf{r_3})\times(\mathbf{r_2}-\mathbf{r_3})} \end{align}</math>When understanding the last line of equation, note the identity <math>(\mathbf{r_1}-\mathbf{r_3})\times(\mathbf{r_2}-\mathbf{r_3})=(\mathbf{r_3}-\mathbf{r_1})\times(\mathbf{r_1}-\mathbf{r_2})</math>. ==== Vertex approach ==== Another way to solve the conversion from Cartesian to barycentric coordinates is to write the relation in the [[Matrix (mathematics)|matrix]] form <math display="block"> \mathbf{R} \boldsymbol{\lambda} = \mathbf{r}</math>with <math>\mathbf{R} = \left(\, \mathbf{r}_1 \,|\, \mathbf{r}_2 \,|\, \mathbf{r}_3 \right)</math> and <math>\boldsymbol{\lambda} = \left(\lambda_1,\lambda_2,\lambda_3\right)^\top,</math> i.e.<math display="block"> \begin{pmatrix} x_1 & x_2 & x_3\\ y_1 & y_2 & y_3 \end{pmatrix} \begin{pmatrix} \lambda_1 \\ \lambda_2 \\ \lambda_3 \end{pmatrix} = \begin{pmatrix}x\\y\end{pmatrix} </math>To get the unique normalized solution we need to add the condition <math>\lambda_1 + \lambda_2 + \lambda_3 = 1</math>. The barycentric coordinates are thus the solution of the [[System of linear equations|linear system]]<math display="block"> \left(\begin{matrix} 1 & 1 & 1 \\ x_1 & x_2 & x_3\\ y_1 & y_2 & y_3 \end{matrix}\right) \begin{pmatrix} \lambda_1 \\ \lambda_2 \\ \lambda_3 \end{pmatrix} = \left(\begin{matrix} 1\\x\\y \end{matrix}\right) </math>which is<math display="block"> \begin{pmatrix} \lambda_1 \\ \lambda_2 \\ \lambda_3 \end{pmatrix} = \frac{1}{2A} \begin{pmatrix} x_2y_3-x_3y_2 & y_2-y_3 & x_3-x_2 \\ x_3y_1-x_1y_3 & y_3-y_1 & x_1-x_3 \\ x_1y_2-x_2y_1 & y_1-y_2 & x_2-x_1 \end{pmatrix}\begin{pmatrix} 1\\x\\y \end{pmatrix} </math>where <math display="block"> 2A = \det(1|R) = x_1(y_2-y_3) + x_2(y_3-y_1) + x_3(y_1-y_2)</math>is twice the signed area of the triangle. The area interpretation of the barycentric coordinates can be recovered by applying [[Cramer's rule]] to this linear system. ===Conversion between barycentric and trilinear coordinates=== A point with [[trilinear coordinates]] ''x'' : ''y'' : ''z'' has barycentric coordinates ''ax'' : ''by'' : ''cz'' where ''a'', ''b'', ''c'' are the side lengths of the triangle. Conversely, a point with barycentrics <math>\lambda_1 : \lambda_2 : \lambda_3</math> has trilinears <math>\lambda_1/a:\lambda_2/b:\lambda_3/c.</math> ===Equations in barycentric coordinates=== The three sides ''a, b, c'' respectively have equations<ref name=Scott/> <math display=block>\lambda_1=0, \quad \lambda_2=0, \quad \lambda_3=0.</math> The equation of a triangle's [[Euler line]] is<ref name=Scott/> <math display=block> \begin{vmatrix} \lambda_1 & \lambda_2 & \lambda_3 \\1 & 1 & 1\\\tan A & \tan B & \tan C \end{vmatrix} =0.</math> Using the previously given conversion between barycentric and trilinear coordinates, the various other equations given in [[Trilinear coordinates#Formulas]] can be rewritten in terms of barycentric coordinates. ===Distance between points=== The displacement vector of two normalized points <math>P=(p_1,p_2,p_3)</math> and <math>Q=(q_1,q_2,q_3)</math> is<ref name=Olympiad/> <math display=block>\overset{}\overrightarrow{P Q}=(p_1-q_1,p_2-q_2,p_3-q_3).</math> The distance {{mvar|d}} between {{mvar|P}} and {{mvar|Q}}, or the length of the displacement vector <math>\overset{}\overrightarrow{P Q}=(x,y,z),</math> is<ref name=Scott/><ref name=Olympiad/> <math display=block>\begin{align} d^2 &= |PQ|^2 \\[2pt] &= -a^2yz - b^2zx - c^2xy \\[4pt] &= \frac{1}{2} \left[x^2(b^2+c^2-a^2) + y^2(c^2+a^2-b^2) + z^2(a^2+b^2-c^2)\right]. \end{align}</math> where ''a, b, c'' are the sidelengths of the triangle. The equivalence of the last two expressions follows from <math>x+y+z=0,</math> which holds because <math display=block>\begin{align} x+y+z &= (p_1-q_1) + (p_2-q_2) + (p_3-q_3) \\[2pt] &= (p_1+p_2+p_3) - (q_1+q_2+q_3) \\[2pt] &= 1 - 1 = 0. \end{align}</math> The barycentric coordinates of a point can be calculated based on distances ''d''<sub>''i''</sub> to the three triangle vertices by solving the equation <math display=block> \left(\begin{matrix} -c^2 & c^2 & b^2-a^2 \\ -b^2 & c^2-a^2 & b^2 \\ 1 & 1 & 1 \end{matrix}\right)\boldsymbol{\lambda} = \left(\begin{matrix} d^2_A - d^2_B \\ d^2_A - d^2_C \\ 1 \end{matrix}\right).</math> === Applications=== [[File:3_jugs_puzzle_barycentric_plot.svg|thumb|upright=1.25|Two solutions to the 8, 5 and 3 L [[water pouring puzzle]] using a barycentric plot. The yellow area denotes combinations achievable with the jugs. The solid red and dashed blue paths show pourable transitions. When a vertex lands on the dotted triangle, 4 L has been measured.]] ====Determining location with respect to a triangle ==== Although barycentric coordinates are most commonly used to handle points inside a triangle, they can also be used to describe a point outside the triangle. If the point is not inside the triangle, then we can still use the formulas above to compute the barycentric coordinates. However, since the point is outside the triangle, at least one of the coordinates will violate our original assumption that <math>\lambda_{1...3}\geq 0</math>. In fact, given any point in cartesian coordinates, we can use this fact to determine where this point is with respect to a 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 but not at a vertex, one of the area coordinates <math>\lambda_{1...3}</math> (the one associated with the opposite vertex) is zero, while the other two lie in the open interval <math>(0,1).</math> If the point lies on a vertex, the coordinate associated with that vertex equals 1 and the others equal zero. Finally, if the point lies outside the triangle at least one coordinate is negative. 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>. <math display=block>\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> and <math>\lambda_i = 0\; \text {, for some i in } {1, 2, 3}</math>. :Otherwise, <math>\mathbf{r}</math> lies outside the triangle. In particular, if a point lies on the far side of a line the barycentric coordinate of the point in the triangle that is not on the line will have a negative value. ====Interpolation on a triangular unstructured grid ==== [[File:Piecewise linear function2D.svg|thumb|upright=1.3|Surface (upper part) obtained from linear interpolation over a given triangular grid (lower part) in the ''x'',''y'' plane. The surface approximates a function ''z''=''f''(''x'',''y''), given only the values of ''f'' on the grid's vertices.]] If <math>f(\mathbf{r}_1),f(\mathbf{r}_2),f(\mathbf{r}_3)</math> are known quantities, but the values of {{mvar|f}} inside the triangle defined by <math>\mathbf{r}_1,\mathbf{r}_2,\mathbf{r}_3</math> is unknown, they can be approximated using [[linear interpolation]]. Barycentric coordinates provide a convenient way to compute this interpolation. If <math>\mathbf{r}</math> is a point inside the triangle with barycentric coordinates <math>\lambda_1</math>, <math>\lambda_2</math>, <math>\lambda_3</math>, then <math display=block>f(\mathbf{r}) \approx \lambda_1 f(\mathbf{r}_1) + \lambda_2 f(\mathbf{r}_2) + \lambda_3 f(\mathbf{r}_3)</math> In general, given any [[unstructured grid]] or [[polygon mesh]], this kind of technique can be used to approximate the value of {{mvar|f}} at all points, as long as the function's value is known at all vertices of the mesh. In this case, we have many triangles, each corresponding to a different part of the space. To interpolate a function {{mvar|f}} at a point <math>\mathbf{r}</math>, first a triangle must be found that contains <math>\mathbf{r}</math>. To do so, <math>\mathbf{r}</math> is transformed into the barycentric coordinates of each triangle. If some triangle is found such that the coordinates satisfy <math>0 \leq \lambda_i \leq 1 \;\forall\; i \text{ in } 1,2,3</math>, then the point lies in that triangle or on its edge (explained in the previous section). Then the value of <math>f(\mathbf{r})</math> can be interpolated as described above. These methods have many applications, such as the [[finite element method]] (FEM). ====Integration over a triangle or tetrahedron ==== The integral of a function over the domain of the triangle can be annoying to compute in a cartesian coordinate system. One generally has to split the triangle up into two halves, and great messiness follows. Instead, it is often easier to make a [[Integration by substitution|change of variables]] to any two barycentric coordinates, e.g. <math>\lambda_1,\lambda_2</math>. Under this change of variables, <math display=block> \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> where {{mvar|A}} is the [[Triangle#Using coordinates|area]] of the triangle. This result follows from the fact that a rectangle in barycentric coordinates corresponds to a quadrilateral in cartesian coordinates, and the ratio of the areas of the corresponding shapes in the corresponding coordinate systems is given by <math>2A</math>. Similarly, for integration over a tetrahedron, instead of breaking up the integral into two or three separate pieces, one could switch to 3D tetrahedral coordinates under the change of variables <math display="block"> \int\int_{T} f(\mathbf{r}) \ d\mathbf{r} = 6V \int_{0}^{1} \int_{0}^{1 - \lambda_3} \int_ {0}^{1-\lambda_2-\lambda_3} f(\lambda_1\mathbf{r}_1 + \lambda_2\mathbf{r}_2 + \lambda_3\mathbf{r}_3 + (1-\lambda_1-\lambda_2-\lambda_3)\mathbf{r}_4) \ d\lambda_1 \ d\lambda_2 \ d\lambda_3 </math>where {{mvar|V}} is the volume of the tetrahedron. ===Examples of special points=== In the homogeneous barycentric coordinate system defined with respect to a triangle <math>ABC</math>, the following statements about special points of <math>ABC</math> hold. The three [[vertex (geometry)|vertices]] {{mvar|A}}, {{mvar|B}}, and {{mvar|C}} have coordinates<ref name=Scott>Scott, J. A. "Some examples of the use of areal coordinates in triangle geometry", ''[[Mathematical Gazette]]'' 83, November 1999, 472–477.</ref> <math display=block>\begin{array}{rccccc} A = & 1 &:& 0 &:& 0 \\ B = & 0 &:& 1 &:& 0 \\ C = & 0 &:& 0 &:& 1 \end{array}</math> The [[centroid]] has coordinates <math>1:1:1.</math><ref name=Scott/> If {{mvar|a}}, {{mvar|b}}, {{mvar|c}} are the [[length|edge lengths]] <math>BC</math>, <math>CA</math>, <math>AB</math> respectively, <math>\alpha</math>, <math>\beta</math>, <math>\gamma</math> are the [[angle | angle measures]] <math>\angle CAB</math>, <math>\angle ABC</math>, and <math>\angle BCA</math> respectively, and {{mvar|s}} is the [[semiperimeter]] of <math>ABC</math>, then the following statements about special points of <math>ABC</math> hold in addition. The [[circumcenter]] has coordinates<ref name=Scott/><ref name=Olympiad>{{cite web|last1=Schindler|first1=Max|last2=Chen|first2=Evan|title=Barycentric Coordinates in Olympiad Geometry|url=https://www.mit.edu/~evanchen/handouts/bary/bary-full.pdf|access-date=14 January 2016|date=July 13, 2012}}</ref><ref name=ck>Clark Kimberling's Encyclopedia of Triangles {{cite web |url=http://faculty.evansville.edu/ck6/encyclopedia/ETC.html |title=Encyclopedia of Triangle Centers |access-date=2012-06-02 |url-status=dead |archive-url=https://web.archive.org/web/20120419171900/http://faculty.evansville.edu/ck6/encyclopedia/ETC.html |archive-date=2012-04-19 }}</ref><ref name=":0">[http://mathworld.wolfram.com/BarycentricCoordinates.html Wolfram page on barycentric coordinates]</ref> <math display=block>\begin{array}{rccccc} & \sin 2\alpha &:& \sin 2\beta &:& \sin 2\gamma \\[2pt] =& 1-\cot\beta\cot\gamma &:& 1-\cot\gamma\cot\alpha &:& 1-\cot\alpha\cot\beta \\[2pt] =& a^2(-a^2+b^2+c^2) &:& b^2(a^2-b^2+c^2) &:& c^2(a^2+b^2-c^2) \end{array}</math> The [[orthocenter]] has coordinates<ref name=Scott/><ref name=Olympiad/> <math display=block>\begin{array}{rccccc} & \tan\alpha &:& \tan\beta &:& \tan\gamma \\[2pt] =& a\cos\beta\cos\gamma &:& b\cos\gamma\cos\alpha &:& c\cos\alpha\cos\beta \\[2pt] =& (a^2+b^2-c^2)(a^2-b^2+c^2) &:& (-a^2+b^2+c^2)(a^2+b^2-c^2) &:& (a^2-b^2+c^2)(-a^2+b^2+c^2) \end{array}</math> The [[incenter]] has coordinates <math>a:b:c=\sin \alpha:\sin \beta:\sin \gamma.</math><ref name=Olympiad/><ref name=NK>Dasari Naga, Vijay Krishna, "On the Feuerbach triangle", ''Forum Geometricorum'' 17 (2017), 289–300: p. 289. http://forumgeom.fau.edu/FG2017volume17/FG201731.pdf</ref> The [[excenter]]s have coordinates<ref name=NK/> <math display=block>\begin{array}{rrcrcr} J_A = & -a &:& b &:& c \\ J_B = & a &:& -b &:& c \\ J_C = & a &:& b &:& -c \end{array}</math> The [[nine-point center]] has coordinates<ref name=Scott/><ref name=NK/> <math display=block>\begin{array}{rccccc} & a\cos(\beta-\gamma) &:& b\cos(\gamma-\alpha) &:& c\cos(\alpha-\beta) \\[4pt] =& 1+\cot\beta\cot\gamma &:& 1+\cot\gamma\cot\alpha &:& 1+\cot\alpha\cot\beta \\[4pt] =& a^2(b^2+c^2) - (b^2-c^2)^2 &:& b^2(c^2+a^2) - (c^2-a^2)^2 &:& c^2(a^2+b^2) - (a^2-b^2)^2 \end{array}</math> The [[Gergonne Point|Gergonne point]] has coordinates <math>(s-b)(s-c):(s-c)(s-a):(s-a)(s-b)</math>. The [[Nagel point]] has coordinates <math>s-a:s-b:s-c</math>. The [[symmedian point]] has coordinates <math>a^2:b^2:c^2</math>.<ref name=":0" /> ==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 four 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 display=block> \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 display=block> \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> and <math>\lambda_4 = 1 - \lambda_1 - \lambda_2 - \lambda_3</math>with the corresponding Cartesian coordinates:<math display="block">\begin{align} x &= \lambda_1 x_1 + \lambda_2 x_2 + \lambda_3 x_3 + (1-\lambda_1-\lambda_2-\lambda_3)x_4 \\ y &= \lambda_1 y_1 + \,\lambda_2 y_2 + \lambda_3 y_3 + (1-\lambda_1-\lambda_2-\lambda_3)y_4 \\ z &= \lambda_1 z_1 + \,\lambda_2 z_2 + \lambda_3 z_3 + (1-\lambda_1-\lambda_2-\lambda_3)z_4 \end{align}</math>Once again, the problem of finding the barycentric coordinates has been reduced to [[matrix inverse|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 == Barycentric coordinates <math>(\lambda_1, \lambda_2, ..., \lambda_k)</math> of a point <math>p \in \mathbb{R}^n</math> that are defined with respect to a finite set of ''k'' points <math>x_1, x_2, ..., x_k \in \mathbb{R}^n</math> instead of a [[simplex]] are called '''generalized barycentric coordinates'''. For these, the equation <math display=block>(\lambda_1 + \lambda_2 + \cdots + \lambda_k)p = \lambda_1 x_1 + \lambda_2 x_2 + \cdots + \lambda_k x_k</math> is still required to hold.<ref>{{Cite journal |last1=Meyer |first1=Mark |last2=Barr |first2=Alan |last3=Lee |first3=Haeyoung |last4=Desbrun |first4=Mathieu |date=6 April 2012 |title=Generalized Barycentric Coordinates on Irregular Polygons |url=http://www.geometry.caltech.edu/pubs/MHBD02.pdf |journal=Journal of Graphics Tools |volume=7 |pages=13–22 |doi=10.1080/10867651.2002.10487551|s2cid=13370238 }}</ref> Usually one uses normalized coordinates, <math>\lambda_1 + \lambda_2 + \cdots + \lambda_k = 1</math>. As for the case of a simplex, the points with nonnegative normalized generalized coordinates (<math>0 \le \lambda_i \le 1</math>) form the [[convex hull]] of {{math|''x''<sub>1</sub>, ..., ''x''<sub>''n''</sub>}}. If there are more points than in a full simplex (<math>k > n + 1</math>) the generalized barycentric coordinates of a point are ''not'' unique, as the defining linear system (here for n=2)<math display="block"> \left(\begin{matrix} 1 & 1 & 1 & ... \\ x_1 & x_2 & x_3 & ... \\ y_1 & y_2 & y_3 & ... \end{matrix}\right) \begin{pmatrix} \lambda_1 \\ \lambda_2 \\ \lambda_3 \\ \vdots \end{pmatrix} = \left(\begin{matrix} 1\\x\\y \end{matrix}\right) </math>is [[Underdetermined system|underdetermined]]. The simplest example is a [[quadrilateral]] in the plane. Various kinds of additional restrictions can be used to define unique barycentric coordinates.<ref>{{Cite journal|last=Floater|first=Michael S.|date=2015|title=Generalized barycentric coordinates and applications *|url=https://www.mn.uio.no/math/english/people/aca/michaelf/papers/gbc.pdf|journal=Acta Numerica|language=en|volume=24|pages=161–214|doi=10.1017/S0962492914000129|s2cid=62811364 |issn=0962-4929}}</ref> === Abstraction === More abstractly, generalized barycentric coordinates express a convex 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 === [[File:Barycentric RGB.svg|alt=Barycentric coordinates are used for blending three colors over a triangular region evenly in computer graphics.|thumb|Barycentric coordinates are used for blending three colors over a triangular region evenly in computer graphics.]] Generalized barycentric coordinates have applications in [[computer graphics]] and more specifically in [[geometric model]]ling.<ref>{{Cite journal |last=Floater |first=Michael S. |date=2003 |title=Mean value coordinates |url=https://linkinghub.elsevier.com/retrieve/pii/S0167839603000025 |journal=Computer Aided Geometric Design |language=en |volume=20 |issue=1 |pages=19–27 |doi=10.1016/S0167-8396(03)00002-5}}</ref> 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. Barycentric coordinates are also used in [[geophysics]].<ref>ONUFRIEV, VG; DENISIK, SA; FERRONSKY, VI, BARICENTRIC MODELS IN ISOTOPE STUDIES OF NATURAL-WATERS. NUCLEAR GEOPHYSICS, 4, 111-117 (1990)</ref> ==See also== *[[Ternary plot]] *[[Convex combination]] *[[Water pouring puzzle]] *[[Homogeneous coordinates]] == References == <references/> *Scott, J. A. ''Some examples of the use of areal coordinates in triangle geometry'', Mathematical Gazette 83, November 1999, 472–477. *Schindler, Max; Chen, Evan (July 13, 2012). ''Barycentric Coordinates in Olympiad Geometry'' (PDF). Retrieved 14 January 2016. *Clark Kimberling's Encyclopedia of Triangles ''Encyclopedia of Triangle Centers''. Archived from the original on 2012-04-19. Retrieved 2012-06-02. * {{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. | author-link=Harold Scott MacDonald Coxeter | title=Introduction to geometry | url=https://archive.org/details/introductiontoge00coxe | url-access=limited | edition=2nd | publisher=John Wiley and Sons | year=1969 | isbn=978-0-471-50458-0 | pages=[https://archive.org/details/introductiontoge00coxe/page/n233 216]–221 | zbl=0181.48101 }} * [https://web.archive.org/web/20120519111614/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}} * [http://www.sciencedirect.com/science/article/pii/S009784930700180X Barycentric coordinates computation in homogeneous coordinates], Vaclav Skala, Computers and Graphics, Vol.32, No.1, pp. 120–127, 2008 == External links == * [https://www.math.nyu.edu/~crorres/Archimedes/Lever/LeverLaw.html Law of the lever] * [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://totologic.blogspot.fr/2014/01/accurate-point-in-triangle-test.html Accurate 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 * [https://www.geogebra.org/wiki/en/Barycenter_Command Barycenter command] and [https://www.geogebra.org/wiki/en/TriangleCurve_Command TriangleCurve command] at [[Geogebra]]. {{DEFAULTSORT:Barycentric Coordinate System}} [[Category:Linear algebra]] [[Category:Affine geometry]] [[Category:Triangle geometry]] [[Category:Coordinate systems]] [[Category:Two-dimensional coordinate systems]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Citation
(
edit
)
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite web
(
edit
)
Template:Distinguish
(
edit
)
Template:ISBN
(
edit
)
Template:Math
(
edit
)
Template:MathWorld
(
edit
)
Template:Mvar
(
edit
)
Template:See also
(
edit
)
Template:SfnRef
(
edit
)
Template:Short description
(
edit
)
Template:Slink
(
edit
)
Template:Xref
(
edit
)