Shoelace formula

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

The shoelace formula or shoelace algorithm (also known as Gauss's area formula and the surveyor's formula[1]) is a mathematical algorithm to determine the area of a simple polygon whose vertices are described by their Cartesian coordinates in the plane.[2] The user cross-multiplies corresponding coordinates to find the area encompassing the polygon, and subtracts it from the surrounding polygon to find the area of the polygon within. It is called the shoelace formula because of the constant cross-multiplying for the coordinates making up the polygon, like threading shoelaces.[2] It is also sometimes called the shoelace method. It has applications in surveying and forestry,[3] among other areas.

The formula was described by Albrecht Ludwig Friedrich Meister (1724–1788) in 1769[4] and by Carl Friedrich Gauss in 1795.[full citation needed] It can be verified by dividing the polygon into triangles, and can be considered to be a special case of Green's theorem.

The area formula is derived by taking each edge AB, and calculating the area of triangle ABO with a vertex at the origin O, by taking the cross-product (which gives the area of a parallelogram) and dividing by 2. As one wraps around the polygon, these triangles with positive and negative area will overlap, and the areas between the origin and the polygon will be cancelled out and sum to 0, while only the area inside the reference triangle remains. This is why the formula is called the surveyor's formula, since the "surveyor" is at the origin; if going counterclockwise, positive area is added when going from left to right and negative area is added when going from right to left, from the perspective of the origin.[citation needed]

The area formula can also be applied to self-overlapping polygons since the meaning of area is still clear even though self-overlapping polygons are not generally simple.[5] Furthermore, a self-overlapping polygon can have multiple "interpretations" but the Shoelace formula can be used to show that the polygon's area is the same regardless of the interpretation.[6]


The formula can be represented by the expression


  • A is the area of the polygon,
  • n is the number of sides of the polygon, and
  • (xiyi), i = 1, 2, ..., n are the ordered vertices (or "corners") of the polygon.


where xn+1 = x1 and x0 = xn, as well as yn+1 = y1 and y0 = yn.

If the points are labeled sequentially in the counterclockwise direction, then the sum of the above determinants is positive and the absolute value signs can be omitted;[1] if they are labeled in the clockwise direction, the sum of the determinants will be negative. This is because the formula can be viewed as a special case of Green's theorem.

A particularly concise statement of the formula can be given in terms of the exterior algebra. If are the consecutive vertices of the polygon (regarded as vectors in the Cartesian plane) then


Proof for a triangle[edit]

Given the coordinates of a triangle, find its area .

Referring to the figure, let be the area of the triangle whose vertices are given by the coordinates and Draw the minimum area rectangle around the triangle so its sides are parallel to the or axes. At least one vertex of the triangle will be on a corner of the rectangle. In the figure, the areas of the three surrounding triangles are and Obviously is equal to the area of the rectangle (call it ) minus the areas of the other three triangles:

By inspection of the figure it can be seen that the areas are given by

Collecting terms and rearranging yields

which can be written as a determinant

If the coordinates are written in a clockwise order, the value of the determinant will be

Rearranging another way

which is the form of the shoelace formula. This formula can be extended to find the area of any polygon since a simple polygon can be divided into triangles.

Given the coordinates of a quadrilateral, find its area .

Proof for a quadrilateral and general polygon[edit]

Finding the area of a quadrilateral demonstrates how the shoelace formula is generalized to any polygon by dividing the polygon into triangles. Consider the figure of a quadrilateral whose coordinates are labeled in counterclockwise order. The quadrilateral is divided into two triangles with areas and Using the triangle formula on each triangle we get

Since both triangles were traced in a counterclockwise direction, both areas are positive and we get the area of the quadrilateral by adding the two areas. The last positive term and the last negative term of cancel with the first positive term and the first negative term of giving


The user must know the points of the polygon in a Cartesian plane. For example, take a triangle with coordinates {(2, 1), (4, 5), (7, 8)}. Take the first x-coordinate and multiply it by the second y-value, then take the second x-coordinate and multiply it by the third y-value, and repeat as many times until it is done for all wanted points. This can be represented by the following formula:[9]

for xi and yi representing each respective coordinate. This formula is just the expansion of those given above for the case n = 3. Using it, one can find that the area of the triangle equals one half of the absolute value of 10 + 32 + 7 − 4 − 35 − 16, which equals 3. The number of variables depends on the number of sides of the polygon. For example, a pentagon will be defined up to x5 and y5:

and a quadrilateral will be defined up to x4 and y4:

More complex example[edit]

Consider the polygon defined by the points (3, 4), (5, 11), (12, 8), (9, 5) and (5, 6), as illustrated in the diagram.

Figure of this example

The area of this polygon is:



The reason this formula is called the shoelace formula is because of a common method used to evaluate it. This method uses matrices. As an example, choose the triangle with vertices (2, 4), (3, −8), and (1, 2). Then construct the following matrix by “walking around” the triangle and ending with the initial point.[10]

First, draw diagonal down and to the right slashes (as shown below),


and multiply the two numbers connected by each slash, then add all the products: (2 × −8) + (3 × 2) + (1 × 4) = −6. Do the same thing with slashes diagonal down and to the left (shown below with downwards slashes):


(4 × 3) + (−8 × 1) + (2 × 2) = 8. Then take the absolute difference of these two numbers: |(−6) − (8)| = 14. Halving this gives the area of the triangle: 7. Organizing the numbers like this makes the formula easier to recall and evaluate. With all the slashes drawn, the matrix loosely resembles a shoe with the laces done up, giving rise to the algorithm's name.


In higher dimensions the area of a polygon can be calculated from its vertices using the exterior algebra form of the Shoelace formula (e.g. in 3d, the sum of successive cross products):

(when the vertices are not coplanar this computes the vector area enclosed by the loop, i.e. the projected area or "shadow" in the plane in which it is greatest).

This formulation can also be generalized to calculate the volume of an n-dimensional polytope from the coordinates of its vertices, or more accurately, from its hypersurface mesh.[11] For example, the volume of a 3-dimensional polyhedron can be found by triangulating its surface mesh and summing the signed volumes of the tetrahedra formed by each surface triangle and the origin:

where the sum is over the faces and care has to be taken to order the vertices consistently (all clockwise or anticlockwise viewed from outside the polyhedron). Alternatively, an expression in terms of the face areas and surface normals may be derived using the divergence theorem (see Polyhedron § Volume).

See also[edit]

External links[edit]


  1. ^ a b Bart Braden (1986). "The Surveyor's Area Formula" (PDF). The College Mathematics Journal. 17 (4): 326–337. doi:10.2307/2686282. JSTOR 2686282.
  2. ^ a b Dahlke, Karl. "Shoelace Formula". Retrieved 9 June 2008.
  3. ^ a b Hans Pretzsch, Forest Dynamics, Growth and Yield: From Measurement to Model, Springer, 2009, ISBN 3-540-88306-1, p. 232.
  4. ^ Meister, A. L. F. (1769), "Generalia de genesi figurarum planarum et inde pendentibus earum affectionibus", Nov. Com. Gött. (in Latin), 1: 144.
  5. ^ P.W. Shor; C.J. Van Wyk (1992), "Detecting and decomposing self-overlapping curves", Comput. Geom. Theory Appl., 2 (1): 31–50, doi:10.1016/0925-7721(92)90019-O
  6. ^ Ralph P. Boland; Jorge Urrutia (2000). Polygon Area Problems. 12th Canadian Conference on Computational Geometry. pp. 159–162.
  7. ^ Shoelace Theorem, Art of Problem Solving Wiki.
  8. ^ Weisstein, Eric W. "Polygon Area". Wolfram MathWorld. Retrieved 24 July 2012.
  9. ^ Richard Rhoad; George Milauskas; Robert Whipple (1991). Geometry for Enjoyment and Challenge (new ed.). McDougal Littell. pp. 717–718. ISBN 0-86609-965-4.
  10. ^ IMSA JHMC Guide, Page. 10 "Shoelace" by Cindy Xi
  11. ^ Allgower, Eugene L.; Schmidt, Phillip H. (1986). "Computing Volumes of Polyhedra" (PDF). Mathematics of Computation. 46 (173): 171–174. doi:10.2307/2008221. ISSN 0025-5718.