# Shoelace Theorem

The Shoelace Theorem is a nifty formula for finding the area of a polygon given the coordinates of its vertices.

## Theorem

Suppose the polygon $P$ has vertices $(a_1, b_1)$, $(a_2, b_2)$, ... , $(a_n, b_n)$, listed in clockwise order. Then the area ($A$) of $P$ is

$$A = \dfrac{1}{2} \left|(a_1b_2 + a_2b_3 + \cdots + a_nb_1) - (b_1a_2 + b_2a_3 + \cdots + b_na_1) \right|$$

You can also go counterclockwise order, as long as you find the absolute value of the answer.

The Shoelace Theorem gets its name because if one lists the coordinates in a column, \begin{align*} (a_1 &, b_1) \\ (a_2 &, b_2) \\ & \vdots \\ (a_n &, b_n) \\ (a_1 &, b_1) \\ \end{align*} and marks the pairs of coordinates to be multiplied, $[asy] unitsize(1cm); string[] subscripts={"1","2"," ","n","1"}; for(int i=1; i < 6; ++i) { label(i==3 ? "\vdots" : "a",(0,-i*.7)); label(i==3 ? "\vdots" : "b",(1.2,-i*.7)); label(subscripts[i-1],(0,-i*.7),SE,fontsize(9pt)); label(subscripts[i-1],(1.2,-i*.7),SE,fontsize(9pt)); } for(int i=1; i<5; ++i) draw((0.3,-i*.7)--(1,-(i+1)*.7)); pair c=(1.2,0); label("-",shift(c)*(1.2,-2.1)); label("A=\frac12",shift(-c)*(0,-2.1)); draw(shift(-1/3*c)*((0,-.5)--(0,-3.9))); draw(shift(13/3*c)*((0,-.5)--(0,-3.9))); for(int i=1; i < 6; ++i) { label(i==3 ? "\vdots" : "a",shift(3*c)*(0,-i*.7)); label(i==3 ? "\vdots" : "b",shift(3*c)*(1.2,-i*.7)); label(subscripts[i-1],shift(3*c)*(0,-i*.7),SE,fontsize(9pt)); label(subscripts[i-1],shift(3*c)*(1.2,-i*.7),SE,fontsize(9pt)); } for(int i=1; i<5; ++i) draw(shift(3*c)*(0.3,-(i+1)*.7)--shift(3*c)*(1,-i*.7)); [/asy]$ the resulting image looks like laced-up shoes.

## Other Forms

This can also be written in form of a summation $$A = \dfrac{1}{2} \left|\sum_{i=1}^n{(x_{i+1}+x_i)(y_{i+1}-y_i)}\right|$$ or in terms of determinants as $$A = \dfrac{1}{2} \left|\sum_{i=1}^n{\det\begin{pmatrix}x_i&x_{i+1}\\y_i&y_{i+1}\end{pmatrix}}\right|$$ which is useful in the $3D$ variant of the Shoelace theorem,

or as the special case of Green's Theorem

$\tilde{A}=\iint\left(\frac{\partial M}{\partial x}-\frac{\partial L}{\partial y}\right)dxdy=$$(Ldx+Mdy)$

where $L=-y$ and $M=0$ so $\tilde{A}=A$.

## Proof 1

Claim 1: The area of a triangle with coordinates $A(x_1, y_1)$, $B(x_2, y_2)$, and $C(x_3, y_3)$ is $\frac{|x_1y_2+x_2y_3+x_3y_1-x_1y_3-x_2y_1-x_3y_2|}{2}$.

### Proof of claim 1:

Writing the coordinates in 3D and translating $\triangle ABC$ so that $A=(0, 0, 0)$ we get the new coordinates $A'(0, 0, 0)$, $B(x_2-x_1, y_2-y_1, 0)$, and $C(x_3-x_1, y_3-y_1, 0)$. Now if we let $\vec{b}=(x_2-x_1 \quad y_2-y_1 \quad 0)$ and $\vec{c}=(x_3-x_1 \quad y_3-y_1 \quad 0)$ then by definition of the cross product $[ABC]=\frac{||\vec{b} \times \vec{c}||}{2}=\frac{1}{2}||(0 \quad 0 \quad x_1y_2+x_2y_3+x_3y_1-x_1y_3-x_2y_1-x_3y_2)||=\frac{x_1y_2+x_2y_3+x_3y_1-x_1y_3-x_2y_1-x_3y_2}{2}$.

### Proof:

We will proceed with induction.

By claim 1, the shoelace theorem holds for any triangle. We will show that if it is true for some polygon $A_1A_2A_3...A_n$ then it is also true for $A_1A_2A_3...A_nA_{n+1}$.

We cut $A_1A_2A_3...A_nA_{n+1}$ into two polygons, $A_1A_2A_3...A_n$ and $A_1A_nA_{n+1}$. Let the coordinates of point $A_i$ be $(x_i, y_i)$. Then, applying the shoelace theorem on $A_1A_2A_3...A_n$ and $A_1A_nA_{n+1}$ we get

$$[A_1A_2A_3...A_n]=\frac{1}{2}\sum_{i=1}^{n}(x_iy_{i+1}-x_{i+1}y_i)$$ $$[A_1A_nA_{n+1}]=\frac{1}{2}(x_1y_2+x_2y_3+x_3y_1-x_1y_3-x_2y_1-x_3y_2)$$

Hence

$$[A_1A_2A_3...A_nA_{n+1}]=[A_1A_2A_3...A_n]+[A_1A_nA_{n+1}]=\frac{1}{2}\sum_{i=1}^{n}(x_iy_{i+1}-x_{i+1}y_i)+\frac{1}{2}(x_1y_2+x_2y_3+x_3y_1-x_1y_3-x_2y_1-x_3y_2)$$ $$=\frac{1}{2}((x_2y_1+x_3y_2+...+x_{n+1}y_n+x_1y_{n+1})-(x_1y_2+x_2y_3+...+x_ny_{n+1}+x_{n+1}y_1))=\boxed{\frac{1}{2}\sum_{i=1}^n(x_iy_{i+1}-x_{i+1}y_i)}$$

As claimed.

~ShreyJ

## Proof 2

Let $\Omega$ be the set of points belonging to the polygon. We have that $$A=\int_{\Omega}\alpha,$$ where $\alpha=dx\wedge dy$. The volume form $\alpha$ is an exact form since $d\omega=\alpha$, where $$\omega=\frac{x\,dy}{2}-\frac{y\,dx}{2}.\label{omega}$$ Using this substitution, we have $$\int_{\Omega}\alpha=\int_{\Omega}d\omega.$$ Next, we use the Theorem of Stokes to obtain $$\int_{\Omega}d\omega=\int_{\partial\Omega}\omega.$$ We can write $\partial \Omega=\bigcup A(i)$, where $A(i)$ is the line segment from $(x_i,y_i)$ to $(x_{i+1},y_{i+1})$. With this notation, we may write $$\int_{\partial\Omega}\omega=\sum_{i=1}^n\int_{A(i)}\omega.$$ If we substitute for $\omega$, we obtain $$\sum_{i=1}^n\int_{A(i)}\omega=\frac{1}{2}\sum_{i=1}^n\int_{A(i)}{x\,dy}-{y\,dx}.$$ If we parameterize, we get $$\frac{1}{2}\sum_{i=1}^n\int_0^1{(x_i+(x_{i+1}-x_i)t)(y_{i+1}-y_i)}-{(y_i+(y_{i+1}-y_i)t)(x_{i+1}-x_i)\,dt}.$$ Performing the integration, we get $$\frac{1}{2}\sum_{i=1}^n\frac{1}{2}[(x_i+x_{i+1})(y_{i+1}-y_i)- (y_{i}+y_{i+1})(x_{i+1}-x_i)].$$ More algebra yields the result $$\frac{1}{2}\sum_{i=1}^n(x_iy_{i+1}-x_{i+1}y_i).$$

## Proof 3

This is a very nice approach that directly helps in understanding the sum as terms which are areas of trapezoids.

See page 271 in this book (in the Polygon Area section.) https://cses.fi/book/book.pdf

(The only thing that needs to be modified in this proof is that one must shift the entire polygon up by k, until all the y coordinates are positive, but this term gets canceled in the resulting sum.)

## Problems

### Introductory

In right triangle $ABC$, we have $\angle ACB=90^{\circ}$, $AC=2$, and $BC=3$. Medians $AD$ and $BE$ are drawn to sides $BC$ and $AC$, respectively. $AD$ and $BE$ intersect at point $F$. Find the area of $\triangle ABF$.

### Exploratory

Observe that $$\frac12\left|\det\begin{pmatrix} x_1 & y_1\\ x_2 & y_2 \end{pmatrix}\right|$$ is the area of a triangle with vertices $(x_1,y_1),(x_2,y_2),(0,0)$ and $$\frac16\left|\det\begin{pmatrix} x_1 & y_1 & z_1\\ x_2 & y_2 & z_2\\ x_3 & y_3 & z_3 \end{pmatrix}\right|$$ is the volume of a tetrahedron with vertices $(x_1, y_1, z_1), (x_2, y_2, z_2),(x_3, y_3, z_3),(0,0,0)$. Does a similar formula hold for $n$Dimensional triangles for any $n$? If so how can we use this to derive the $n$D Shoelace Formula?