Difference between revisions of "Shoelace Theorem"
(fix diagram) |
(Remove vandalism: Undo revision 215818 by Marianasinta (talk)) (Tag: Undo) |
||
(22 intermediate revisions by 13 users not shown) | |||
Line 1: | Line 1: | ||
− | The '''Shoelace Theorem''' is a nifty formula for finding the [[area]] of a [[polygon]] given the [[Cartesian coordinate system | coordinates]] of its [[vertex|vertices]]. | + | The '''Shoelace Theorem''' is a nifty formula for finding the [[area]] of a simple [[polygon]] given the [[Cartesian coordinate system|coordinates]] of its [[vertex|vertices]]. |
==Theorem== | ==Theorem== | ||
− | Suppose the polygon <math>P</math> has vertices <math>( | + | Suppose the polygon <math>P</math> has vertices <math>(x_1, y_1)</math>, <math>(x_2, y_2)</math>, ... , <math>(x_n, y_n)</math>, listed in clockwise order. Then the area (<math>A</math>) of <math>P</math> is |
− | <cmath>A = \dfrac{1}{2} \left|( | + | <cmath>A = \dfrac{1}{2} \left|(x_1y_2 + x_2y_3 + \cdots + x_ny_1) - (y_1x_2 + y_2x_3 + \cdots + y_nx_1) \right|</cmath> |
− | You can also go counterclockwise order, as long as you find the absolute value of the answer. | + | 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, | The Shoelace Theorem gets its name because if one lists the coordinates in a column, | ||
<cmath>\begin{align*} | <cmath>\begin{align*} | ||
− | ( | + | (x_1 &, y_1) \\ |
− | ( | + | (x_2 &, y_2) \\ |
& \vdots \\ | & \vdots \\ | ||
− | ( | + | (x_n &, y_n) \\ |
− | ( | + | (x_1 &, y_1) \\ |
\end{align*}</cmath> | \end{align*}</cmath> | ||
and marks the pairs of coordinates to be multiplied, | and marks the pairs of coordinates to be multiplied, | ||
Line 22: | Line 22: | ||
for(int i=1; i < 6; ++i) | for(int i=1; i < 6; ++i) | ||
{ | { | ||
− | label(i==3 ? "$\vdots$" : "$ | + | label(i==3 ? "$\vdots$" : "$x$",(0,-i*.7)); |
− | label(i==3 ? "$\vdots$" : "$ | + | label(i==3 ? "$\vdots$" : "$y$",(1.2,-i*.7)); |
label(subscripts[i-1],(0,-i*.7),SE,fontsize(9pt)); | label(subscripts[i-1],(0,-i*.7),SE,fontsize(9pt)); | ||
label(subscripts[i-1],(1.2,-i*.7),SE,fontsize(9pt)); | label(subscripts[i-1],(1.2,-i*.7),SE,fontsize(9pt)); | ||
Line 32: | Line 32: | ||
pair c=(1.2,0); | pair c=(1.2,0); | ||
label("$-$",shift(c)*(1.2,-2.1)); | label("$-$",shift(c)*(1.2,-2.1)); | ||
− | label("$A=$",shift(-c)*(0,-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) | for(int i=1; i < 6; ++i) | ||
{ | { | ||
− | label(i==3 ? "$\vdots$" : "$ | + | label(i==3 ? "$\vdots$" : "$x$",shift(3*c)*(0,-i*.7)); |
− | label(i==3 ? "$\vdots$" : "$ | + | label(i==3 ? "$\vdots$" : "$y$",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)*(0,-i*.7),SE,fontsize(9pt)); | ||
label(subscripts[i-1],shift(3*c)*(1.2,-i*.7),SE,fontsize(9pt)); | label(subscripts[i-1],shift(3*c)*(1.2,-i*.7),SE,fontsize(9pt)); | ||
Line 46: | Line 48: | ||
the resulting image looks like laced-up shoes. | the resulting image looks like laced-up shoes. | ||
+ | ==Other Forms== | ||
This can also be written in form of a summation <cmath>A = \dfrac{1}{2} \left|\sum_{i=1}^n{(x_{i+1}+x_i)(y_{i+1}-y_i)}\right|</cmath> | This can also be written in form of a summation <cmath>A = \dfrac{1}{2} \left|\sum_{i=1}^n{(x_{i+1}+x_i)(y_{i+1}-y_i)}\right|</cmath> | ||
− | + | or in terms of determinants as <cmath>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|</cmath> | |
− | + | which is useful in the <math>3D</math> variant of the Shoelace theorem. Note here that <math>x_{n+1} = x_1</math> and <math>y_{n+1} = y_1</math>. | |
+ | |||
+ | The formula may also be considered a special case of Green's Theorem | ||
+ | |||
+ | <cmath>\tilde{A}=\int \int \left(\frac{\partial M}{\partial x}-\frac{\partial L}{\partial y}\right)dxdy=\oint(Ldx+Mdy)</cmath> | ||
+ | |||
+ | where <math>L=-y</math> and <math>M=0</math> so <math>\tilde{A}=A</math>. | ||
==Proof 1== | ==Proof 1== | ||
Line 56: | Line 65: | ||
Writing the coordinates in 3D and translating <math>\triangle ABC</math> so that <math>A=(0, 0, 0)</math> we get the new coordinates <math>A'(0, 0, 0)</math>, <math>B(x_2-x_1, y_2-y_1, 0)</math>, and <math>C(x_3-x_1, y_3-y_1, 0)</math>. Now if we let <math>\vec{b}=(x_2-x_1 \quad y_2-y_1 \quad 0)</math> and <math>\vec{c}=(x_3-x_1 \quad y_3-y_1 \quad 0)</math> then by definition of the cross product <math>[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}</math>. | Writing the coordinates in 3D and translating <math>\triangle ABC</math> so that <math>A=(0, 0, 0)</math> we get the new coordinates <math>A'(0, 0, 0)</math>, <math>B(x_2-x_1, y_2-y_1, 0)</math>, and <math>C(x_3-x_1, y_3-y_1, 0)</math>. Now if we let <math>\vec{b}=(x_2-x_1 \quad y_2-y_1 \quad 0)</math> and <math>\vec{c}=(x_3-x_1 \quad y_3-y_1 \quad 0)</math> then by definition of the cross product <math>[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}</math>. | ||
+ | :) | ||
===Proof:=== | ===Proof:=== | ||
Line 73: | Line 83: | ||
<cmath>=\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)}</cmath> | <cmath>=\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)}</cmath> | ||
− | + | as claimed. | |
~ShreyJ | ~ShreyJ | ||
Line 92: | Line 102: | ||
\int_{\Omega}\alpha=\int_{\Omega}d\omega. | \int_{\Omega}\alpha=\int_{\Omega}d\omega. | ||
</cmath> | </cmath> | ||
− | Next, we use the | + | Next, we use the Theorem of Stokes to obtain |
<cmath> | <cmath> | ||
\int_{\Omega}d\omega=\int_{\partial\Omega}\omega. | \int_{\Omega}d\omega=\int_{\partial\Omega}\omega. | ||
Line 123: | Line 133: | ||
This is a very nice approach that directly helps in understanding the sum as terms which are areas of trapezoids. | This is a very nice approach that directly helps in understanding the sum as terms which are areas of trapezoids. | ||
− | + | The proof is in this book: | |
− | https://cses.fi/book/book.pdf | + | https://cses.fi/book/book.pdf#page=281 |
− | (The only thing that needs to be modified | + | (The only thing that needs to be slightly modified 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 == | == Problems == | ||
=== Introductory === | === Introductory === | ||
− | In right triangle <math>ABC</math>, we have <math>\angle ACB=90^{\circ}</math>, <math>AC=2</math>, and <math>BC=3</math>. [[Median]]s <math>AD</math> and <math>BE</math> are drawn to sides <math>BC</math> and <math>AC</math>, respectively. <math>AD</math> and <math>BE</math> intersect at point <math>F</math>. Find the area of <math>\triangle ABF</math>. | + | In right triangle <math>ABC</math>, we have <math>\angle ACB=90^{\circ}</math>, <math>AC=2</math>, and <math>BC=3</math>. [[Median of a triangle|Median]]s <math>AD</math> and <math>BE</math> are drawn to sides <math>BC</math> and <math>AC</math>, respectively. <math>AD</math> and <math>BE</math> intersect at point <math>F</math>. Find the area of <math>\triangle ABF</math>. |
+ | |||
+ | === Exploratory === | ||
+ | Observe that <cmath>\frac12\left|\det\begin{pmatrix} | ||
+ | x_1 & y_1\\ | ||
+ | x_2 & y_2 | ||
+ | \end{pmatrix}\right|</cmath> is the area of a triangle with vertices <math>(x_1,y_1),(x_2,y_2),(0,0)</math> and <cmath>\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|</cmath> is the volume of a tetrahedron with vertices <math>(x_1, y_1, z_1), (x_2, y_2, z_2),(x_3, y_3, z_3),(0,0,0)</math>. Does a similar formula hold for <math>n</math>Dimensional triangles for any <math>n</math>? If so how can we use this to derive the <math>n</math>D Shoelace Formula? | ||
== External Links== | == External Links== | ||
A good explanation and exploration into why the theorem works by James Tanton: | A good explanation and exploration into why the theorem works by James Tanton: | ||
[http://www.jamestanton.com/wp-content/uploads/2012/03/Cool-Math-Essay_June-2014_SHOELACE-FORMULA.pdf] | [http://www.jamestanton.com/wp-content/uploads/2012/03/Cool-Math-Essay_June-2014_SHOELACE-FORMULA.pdf] | ||
+ | |||
+ | Nice geometric approach and discussion for proving the 3D Shoelace Theorem by Nicholas Patrick and Nadya Pramita: [http://media.icys2018.com/2018/04/IndonesiaPatrickNicholas105190.pdf] | ||
+ | |||
+ | Nice integral approach for proving the 3D Shoelace Theorem (ignoring sign of volume) by @george2079: [https://mathematica.stackexchange.com/a/26015] | ||
Latest revision as of 15:32, 22 February 2024
The Shoelace Theorem is a nifty formula for finding the area of a simple polygon given the coordinates of its vertices.
Contents
Theorem
Suppose the polygon has vertices
,
, ... ,
, listed in clockwise order. Then the area (
) of
is
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,
and marks the pairs of coordinates to be multiplied,
the resulting image looks like laced-up shoes.
Other Forms
This can also be written in form of a summation
or in terms of determinants as
which is useful in the
variant of the Shoelace theorem. Note here that
and
.
The formula may also be considered a special case of Green's Theorem
where and
so
.
Proof 1
Claim 1: The area of a triangle with coordinates ,
, and
is
.
Proof of claim 1:
Writing the coordinates in 3D and translating so that
we get the new coordinates
,
, and
. Now if we let
and
then by definition of the cross product
.
- )
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 then it is also true for
.
We cut into two polygons,
and
. Let the coordinates of point
be
. Then, applying the shoelace theorem on
and
we get
Hence
as claimed.
~ShreyJ
Proof 2
Let be the set of points belonging to the polygon.
We have that
where
.
The volume form
is an exact form since
, where
Using this substitution, we have
Next, we use the Theorem of Stokes to obtain
We can write
, where
is the line
segment from
to
. With this notation,
we may write
If we substitute for
, we obtain
If we parameterize, we get
Performing the integration, we get
More algebra yields the result
Proof 3
This is a very nice approach that directly helps in understanding the sum as terms which are areas of trapezoids.
The proof is in this book: https://cses.fi/book/book.pdf#page=281
(The only thing that needs to be slightly modified 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 , we have
,
, and
. Medians
and
are drawn to sides
and
, respectively.
and
intersect at point
. Find the area of
.
Exploratory
Observe that is the area of a triangle with vertices
and
is the volume of a tetrahedron with vertices
. Does a similar formula hold for
Dimensional triangles for any
? If so how can we use this to derive the
D Shoelace Formula?
External Links
A good explanation and exploration into why the theorem works by James Tanton: [1]
Nice geometric approach and discussion for proving the 3D Shoelace Theorem by Nicholas Patrick and Nadya Pramita: [2]
Nice integral approach for proving the 3D Shoelace Theorem (ignoring sign of volume) by @george2079: [3] AOPS