Shoelace formula explained

The shoelace formula, 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. It is called the shoelace formula because of the constant cross-multiplying for the coordinates making up the polygon, like threading shoelaces.[2] 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 is based on the trapezoid formula which was described by Carl Friedrich Gauss and C.G.J. Jacobi.[5] The triangle form of the area formula can be considered to be a special case of Green's theorem.

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. 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 polygon area formulas

Given: A planar simple polygon with a positively oriented (counter clock wise) sequence of points

Pi=(xi,yi),i=1,...,n

in a Cartesian coordinate system.
For the simplicity of the formulas below it is convenient to set

P0=Pn,Pn+1=P1

.

The formulas:
The area of the given polygon can be expressed by a variety of formulas, which are connected by simple operations (see below):
If the polygon is negatively oriented, then the result

A

of the formulas is negative. In any case

|A|

is the sought area of the polygon.[7]

Trapezoid formula

The trapezoid formula sums up a sequence of oriented areas

Ai=\tfrac12(yi+yi+1)(xi-xi+1)

of trapezoids with

PiPi+1

as one of its four edges (see below):\beginA &= \frac 1 2 \sum_^n (y_i + y_)(x_i - x_)\\&=\frac 1 2 \Big((y_1+y_2)(x_1-x_2)+ \cdots +(y_n+y_1)(x_n-x_1)\Big)\end

Triangle formula

The triangle formula sums up the oriented areas

Ai

of triangles

OPiPi+1

:[8] \beginA &= \frac 1 2 \sum_^n (x_iy_-x_y_i)=\frac 1 2\sum_^\begin x_i & x_ \\ y_i & y_ \end=\frac 1 2\sum_^\begin x_i & y_i \\ x_ & y_ \end\\&=\frac 1 2 \Big(x_1 y_2- x_2 y_1 +x_2 y_3- x_3 y_2+\cdots +x_ny_1-x_1y_n\Big)\end

Shoelace formula

The triangle formula is the base of the popular shoelace formula, which is a scheme that optimizes the calculation of the sum of the 2×2-Determinants by hand:\begin2A&= \begin x_1 & x_2 \\ y_1 & y_2 \end + \begin x_2 & x_3 \\ y_2 & y_3 \end +\cdots + \begin x_n & x_1 \\ y_n & y_1 \end \\[10mu]&= \begin x_1 & x_2 &x_3 \cdots &x_n&x_1\\ y_1 & y_2 &y_3 \cdots &y_n&y_1 \end\end

Sometimes this determinant is transposed (written vertically, in two columns), as shown in the diagram.

Other formulas

\beginA &=\frac 1 2 \sum_^n y_i(x_-x_)\\& =\frac 1 2 \Big(y_1(x_n-x_2)+y_2(x_1-x_3)+ \cdots+y_n(x_-x_1)\Big)\endA=\frac 1 2 \sum_^n x_i(y_ - y_)

A particularly concise statement of the formula can be given in terms of the exterior algebra. If

v1,...,vn

are the consecutive vertices of the polygon (regarded as vectors in the Cartesian plane) then A = \frac \left| \sum_^ v_i \wedge v_ \right|.

Example

For the area of the pentagon with\begin&P_1=(1,6),P_2=(3,1), P_3=(7,2),\\&P_4=(4,4), P_5=(8,5)\endone gets \begin2A &= \begin 1 & 3 \\ 6 & 1 \end + \begin 3 & 7 \\ 1 & 2 \end + \begin 7 & 4 \\ 2 & 4 \end + \begin 4 & 8 \\ 4 & 5 \end + \begin 8 & 1 \\ 5 & 6 \end \\& =(1-18)\;+(6-7)\;+(28-8)\;+(20-32)\;+(48-5)=33 \\A&= 16.5\end

The advantage of the shoelace form: Only 6 columns have to be written for calculating the 5 determinants with 10 columns.

Deriving the formulas

Trapezoid formula

The edge

Pi,Pi+1

determines the trapezoid

(xi,yi),(xi+1,yi+1),(xi,0),(xi+1,0)

with its oriented area

A_i=\tfrac 1 2(y_i + y_)(x_i - x_)In case of

xi<xi+1

the number

Ai

is negative, otherwise positive or

Ai=0

if

xi=xi+1

. In the diagram the orientation of an edge is shown by an arrow. The color shows the sign of

Ai

: red means

Ai<0

, green indicates

Ai>0

. In the first case the trapezoid is called negative in the second case positive. The negative trapezoids delete those parts of positive trapezoids, which are outside the polygon. In case of a convex polygon (in the diagram the upper example) this is obvious: The polygon area is the sum of the areas of the positive trapezoids (green edges) minus the areas of the negative trapezoids (red edges). In the non convex case one has to consider the situation more carefully (see diagram). In any case the result isA = \sum_^nA_i =\frac 1 2 \sum_^n (y_i + y_)(x_i - x_)

Triangle form, determinant form

Eliminating the brackets and using \sum_^n x_iy_i=\sum_^n x_y_ (see convention

Pn+1=P1

above), one gets the determinant form of the area formula:A =\frac 1 2 \sum_^n (x_i y_-x_y_i)=\frac 1 2\sum_^\begin x_i & x_ \\ y_i & y_ \endBecause one half of the i-th determinant is the oriented area of the triangle

O,Pi,Pi+1

this version of the area formula is called triangle form.

Other formulas

With \sum_^n x_iy_=\sum_^n x_y_i\ (see convention

P0=Pn,Pn+1=P1

above) one gets2A=\sum_^n (x_iy_-x_y_i)=\sum_^n x_iy_ - \sum_^n x_y_i=\sum_^n x_y_i - \sum_^n x_y_i Combining both sums and excluding

yi

leads to A=\frac 1 2 \sum_^n y_i(x_-x_) With the identity \sum_^n x_y_i=\sum_^n x_iy_ one getsA=\frac 1 2 \sum_^n x_i(y_-y_)

Alternatively, this is a special case of Green's theorem with one function set to 0 and the other set to x, such that the area is the integral of xdy along the boundary.

Manipulations of a polygon

A(P1,...,Pn)

indicates the oriented area of the simple polygon

P1,...,Pn

with

n\ge4

(see above).

A

is positive/negative if the orientation of the polygon is positive/negative. From the triangle form of the area formula or the diagram below one observes for

1<k<n

:A(P_1, \dots, P_n) = A(P_1, \dots, P_, P_, \dots, P_n) +A(P_, P_k, P_)In case of

k=1 orn

one should first shift the indices.

Hence:

  1. Moving

Pk

affects only

A(Pk-1,Pk,Pk+1)

and leaves

A(P1,...,Pk-1,Pk+1,...,Pn)

unchanged. There is no change of the area if

Pk

is moved parallel to

\overline{Pk-1Pk+1

}.
  1. Purging

Pk

changes the total area by

A(Pk-1,Pk,Pk+1)

, which can be positive or negative.
  1. Inserting point

Q

between

Pk,Pk+1

changes the total area by

A(Pk,Q,Pk+1)

, which can be positive or negative.

Example:

P1=(3,1),P2=(7,2),P3=(4,4),

P4=(8,6),P5=(1,7),Q=(4,3)

With the above notation of the shoelace scheme one gets for the oriented area of the

\begin 3 & 7 & 4 & 8 & 1 & 3\\ 1 & 2 & 4 & 6 & 7 & 1 \end= 20.5

\begin 7 & 4 & 8 & 7\\ 2 & 4 & 6 & 2 \end = -7

\begin 3 & 4 & 7 & 3\\ 1 & 3 & 2 & 1 \end = -3.5

P3

: A(P_1, P_2, P_4, P_5)=\tfrac 1 2 \begin 3 & 7 & 8 & 1 & 3\\ 1& 2 & 6 & 7 & 1 \end= 27.5

Q

between

P1,P2

: A(P_1, Q, P_2, P_3, P_4, P_5)=\tfrac 1 2 \begin 3 & 4 & 7 & 4& 8 & 1 &3\\ 1 & 3 & 2 & 4& 6 & 7 &1 \end = 17One checks, that the following equations hold:A(P_1, P_2, P_3, P_4, P_5) = A(P_1, P_2, P_4, P_5) + A(P_2, P_3, P_4) = 20.5 A(P_1, P_2, P_3, P_4, P_5) + A(P_1, Q, P_2) = A(P_1, Q, P_2, P_3, P_4, P_5) = 17

Generalization

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): A = \frac\left\| \sum_^ v_i \wedge v_ \right\| (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.[9] 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: V = \frac \left\| \sum_ v_a \wedge v_b \wedge v_c \right\| 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

External links

Notes and References

  1. Bart Braden . The Surveyor's Area Formula . The College Mathematics Journal . 17 . 4 . 1986 . 326–337 . 10.2307/2686282 . 2686282 . https://web.archive.org/web/20140629065751/https://www.maa.org/sites/default/files/pdf/pubs/Calc_Articles/ma063.pdf . 29 June 2014 . dead.
  2. Web site: Dahlke. Karl. Shoelace Formula. 9 June 2008.
  3. Hans Pretzsch, Forest Dynamics, Growth and Yield: From Measurement to Model, Springer, 2009,, p. 232.
  4. .
  5. Max Koecher, Aloys Krieg: Ebene Geometrie, Springer-Verlag, 2013, ISBN 3662068095, 9783662068090, p. 116
  6. Ralph P. Boland . Jorge Urrutia . 12th Canadian Conference on Computational Geometry. . 159–162 . Polygon Area Problems . 2000.
  7. Antti Laaksonen: Guide to Competitive Programming: Learning and Improving Algorithms Through Contests, Springer, 2018, ISBN 3319725475, 9783319725475, p. 217
  8. Mauren Abreu de Souza, Humberto Remigio Gamba, Helio Pedrini: Multi-Modality Imaging: Applications and Computational Techniques, Springer, 2018, ISBN 331998974X, 9783319989747, p. 229
  9. Allgower. Eugene L.. Schmidt. Phillip H.. 1986. Computing Volumes of Polyhedra. Mathematics of Computation. 46. 173. 171–174. 10.2307/2008221. 2008221 . 0025-5718. free.