11
$\begingroup$

Consider a convex $n-$gon in $\mathbb{R}^2$ with sides contained in the lines $y=k_ix+b_i, 1\leq i\leq n.$ Then its area equals to $$ S=\frac{1}{2}\sum_{i=1}^{n} \frac{(b_{i+1}-b_i)^2}{k_{i+1}-k_i}. $$ Of course, it is not hard to prove this formula, but it still looks a bit mysterious to me.

Question Has this expression appeared somewhere? It will be wonderful to see a pretty proof of it.

Remark Another expression for $S$ can be found here, formula (17). It is a toy analog of a MHV scattering amplitude in N=4 SYM.

$\endgroup$
2
  • $\begingroup$ I take it the lines are numbered consecutively as you go around the polygon? $\endgroup$ Commented Nov 30, 2019 at 22:27
  • 1
    $\begingroup$ Right, and n+1=1. $\endgroup$ Commented Nov 30, 2019 at 22:27

2 Answers 2

11
$\begingroup$

Denote $A_i=(0,b_i)$. It is a point on $\ell_i=\{(x,y):y=k_ix+b_i\}$, and let $$P_i=\ell_i\cap \ell_{i+1}=\left(\frac{b_{i+1}-b_i}{k_i-k_{i+1}},\frac{k_ib_{i+1}-k_{i+1}b_i}{k_i-k_{i+1}}\right)$$ be the vertex of the polygon. The (properly oriented) area of $\triangle A_iP_iA_{i+1}$ equals $\frac{(b_i-b_{i+1})^2}{2(k_{i+1}-k_{i})}$, and the sum of such oriented areas is the oriented area of the polygon.

$\endgroup$
2
  • $\begingroup$ Ahaha, I see, ok. But still the formula looks strange) $\endgroup$ Commented Nov 30, 2019 at 21:04
  • $\begingroup$ Why strange? $b_{i+1}$ is the base, and the remaining factor is the altitude; the $y$-cooedinate of $P_i$ is irrelevant. $\endgroup$ Commented Dec 2, 2019 at 20:06
5
$\begingroup$

Fedor's derivation is very slick and elegant - surely the best way to guess the formula if you didn't know it already.

It does however require additional justification to show that the oriented areas for all possible line positions will cancel appropriately to get the polygon area, especially if you are aiming to prove the formula for non-convex shapes as well (not asked by the OP but it does apply in this case as well.)

If you want to avoid this and derive it from a standard area formula for polygons you can use Fedor's points of intersection $P_i$ and $P_{i+1}$ and plug them in to obtain:

\begin{equation} \begin{aligned} &\frac{1}{2}\sum_{i=1}^n \det|P_iP_{i+1}|\\ &=\frac{1}{2}\sum_{i=1}^n\frac{(b_{i+1}-b_i)(k_{i+1}b_{i+2}-k_{i+2}b_{i+1})-(b_{i+2}-b_{i+1})(k_{i}b_{i+1}-k_{i+1}b_{i})} {(k_i-k_{i+1})(k_{i+1}-k_{i+2})}\\ &=\frac{1}{2}\sum_{i=1}^n\frac{b_{i+1}^2(k_i-k_{i+2})-b_{i}b_{i+1}(k_{i+1}-k_{i+2})-b_{i+1}b_{i+2}(k_i-k_{i+1})} {(k_i-k_{i+1})(k_{i+1}-k_{i+2})}\\ &=\frac{1}{2}\sum_{i=1}^n\frac{b_{i+1}^2(k_i-k_{i+1}+k_{i+1}-k_{i+2})} {(k_i-k_{i+1})(k_{i+1}-k_{i+2})}-\frac{1}{2}\sum_{i=1}^n\frac{b_{i}b_{i+1}}{(k_i-k_{i+1})}-\frac{1}{2}\sum_{i=1}^n\frac{b_{i+1}b_{i+2}}{(k_{i+1}-k_{i+2})}\\ &=\frac{1}{2}\sum_{i=1}^n\frac{b_{i+1}^2} {(k_i-k_{i+1})} +\frac{1}{2}\sum_{i=1}^n\frac{b_{i+1}^2} {(k_{i+1}-k_{i+2})} -\frac{1}{2}\sum_{i=1}^n\frac{b_{i}b_{i+1}}{(k_i-k_{i+1})} -\frac{1}{2}\sum_{i=1}^n\frac{b_{i+1}b_{i+2}}{(k_{i+1}-k_{i+2})}\\ &=\frac{1}{2}\sum_{i=1}^n\frac{b_{i+1}^2} {(k_i-k_{i+1})} +\frac{1}{2}\sum_{i=1}^n\frac{b_{i}^2} {(k_{i}-k_{i+1})} -\frac{1}{2}\sum_{i=1}^n\frac{b_{i}b_{i+1}}{(k_i-k_{i+1})} -\frac{1}{2}\sum_{i=1}^n\frac{b_{i}b_{i+1}}{(k_{i}-k_{i+1})}\\ &=\frac{1}{2}\sum_{i=1}^n\frac{b_{i+1}^2+b_{i}^2-2b_{i}b_{i+1}} {(k_i-k_{i+1})}\\ &=\frac{1}{2}\sum_{i=1}^n\frac{(b_{i+1}-b_{i})^2} {(k_i-k_{i+1})} \end{aligned} \end{equation}

Update: Actually I just realised that Fedor's method looks to be the exact dual of the method behind the formula I used:

"Sum the areas to a point between two points meeting at consecutive pairs of polygon sides" (The method I used)

$\Updownarrow$ "point-line duality"

"Sum the areas to a line between two lines joining consecutive pairs of polygon points" (Fedor's method)

So this might be a good way to justify it.

$\endgroup$
1
  • $\begingroup$ @FedorPetrov's derivation mentioned in the post. $\endgroup$ Commented Sep 18, 2021 at 0:01

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.