Problem: Let $b\geq 2$ and $w\geq 2$ be fixed integers, and $n=b+w$.
Given are $2b$ identical black rods and $2w$ identical white rods,
each of side length $1$.

We assemble a regular $2n$-gon using these rods
so that parallel sides are the same color.
Then, a convex $2b$-gon $B$ is formed by translating the black rods,
and a convex $2w$-gon $W$ is formed by translating the white rods.
An example of one way of doing the assembly when $b=3$ and $w=2$ is shown below,
as well as the resulting polygons $B$ and $W$.
\begin{center}
\begin{asy}
size(10cm);
real w = 2*Sin(18);
real h = 0.10 * w;
real d = 0.33 * h;
picture wht;
picture blk;

draw(wht, (0,0)--(w,0)--(w+d,h)--(-d,h)--cycle);
fill(blk, (0,0)--(w,0)--(w+d,h)--(-d,h)--cycle, black);

// draw(unitcircle, blue+dotted);

// Original polygon
add(shift(dir(108))*blk);
add(shift(dir(72))*rotate(324)*blk);
add(shift(dir(36))*rotate(288)*wht);
add(shift(dir(0))*rotate(252)*blk);
add(shift(dir(324))*rotate(216)*wht);

add(shift(dir(288))*rotate(180)*blk);
add(shift(dir(252))*rotate(144)*blk);
add(shift(dir(216))*rotate(108)*wht);
add(shift(dir(180))*rotate(72)*blk);
add(shift(dir(144))*rotate(36)*wht);

// White shifted
real Wk = 1.2;
pair W1 = (1.8,0.1);
pair W2 = W1 + w*dir(36);
pair W3 = W2 + w*dir(108);
pair W4 = W3 + w*dir(216);
path Wgon = W1--W2--W3--W4--cycle;
draw(Wgon);
pair WO = (W1+W3)/2;
transform Wt = shift(WO)*scale(Wk)*shift(-WO);
draw(Wt * Wgon);
label("$W$", WO);
/*
draw(W1--Wt*W1);
draw(W2--Wt*W2);
draw(W3--Wt*W3);
draw(W4--Wt*W4);
*/

// Black shifted
real Bk = 1.10;
pair B1 = (1.5,-0.1);
pair B2 = B1 + w*dir(0);
pair B3 = B2 + w*dir(324);
pair B4 = B3 + w*dir(252);
pair B5 = B4 + w*dir(180);
pair B6 = B5 + w*dir(144);
path Bgon = B1--B2--B3--B4--B5--B6--cycle;
pair BO = (B1+B4)/2;
transform Bt = shift(BO)*scale(Bk)*shift(-BO);
fill(Bt * Bgon, black);
fill(Bgon, white);
label("$B$", BO);
\end{asy}
\end{center}
Prove that the difference of the areas of $B$ and $W$
depends only on the numbers $b$ and $w$,
and not on how the $2n$-gon was assembled.

Solution: We are going to prove that one may swap a black rod with an adjacent white rod
(as well as the rods parallel to them)
without affecting the difference in the areas of $B-W$.
Let $\vec u$ and $\vec v$ denote the originally black and white vectors
that were adjacent on the $2n$-gon and are now going to be swapped.
Let $\vec x$ denote the sum of all the other black vectors between
$\vec u$ and $-\vec u$, and define $\vec y$ similarly.
See the diagram below,
where $B_0$ and $W_0$ are the polygons before the swap,
and $B_1$ and $W_1$ are the resulting changed polygons.

\begin{center}
\begin{asy}
size(12cm);
picture B0;
picture W0;
picture B1;
picture W1;

pen br = black + 2;
pen bp = black + dashed;
path barc = (0,0)..(1,1)..(6,1)..(7,0);

draw(B0, (3,-1)--(4,1), br);
draw(B0, (-4,-1)--(-3,1), br);
draw(B0, shift(-3,1)*barc, bp);
draw(B0, shift(3,-1)*rotate(180)*barc, bp);
label(B0, "$B_0$", (0,0));

draw(B0, (-3,1)--(4,1), red, EndArrow(TeXHead), Margins);
draw(B0, (3,-1)--(-4,-1), red, EndArrow(TeXHead), Margins);
label(B0, "$\vec x$", (-3,1)--(4,1), dir(90), red);
label(B0, "$-\vec x$", (3,-1)--(-4,-1), dir(-90), red);
label(B0, "$\vec u$", (-3.5,0), dir(160));
draw(B0, (-4,-1)--(-3,1), black+1, EndArrow(TeXHead));

draw(B1, (4,-1)--(3,1), br);
draw(B1, (-3,-1)--(-4,1), br);
label(B1, "$B_1$", (0,0));
draw(B1, shift(-4,1)*barc, bp);
draw(B1, shift(4,-1)*rotate(180)*barc, bp);
draw(B1, (-4,1)--(3,1), red, EndArrow(TeXHead), Margins);
draw(B1, (4,-1)--(-3,-1), red, EndArrow(TeXHead), Margins);
label(B1, "$\vec x$", (-4,1)--(3,1), dir(90), red);
label(B1, "$-\vec x$", (4,-1)--(-3,-1), dir(-90), red);
label(B1, "$\vec v$", (-3.5,0), dir(210));
draw(B1, (-3,-1)--(-4,1), black+1, EndArrow(TeXHead));

path warc = (0,0)..(4,1)..(9,-2);
draw(W0, shift(-5,1)*warc, bp);
draw(W0, shift(5,-3)*rotate(180)*warc, bp);
draw(W0, (5,-3)--(4,-1), br);
draw(W0, (-4,-1)--(-5,1), br);
draw(W0, (-5,1)--(4,-1), red, EndArrow(TeXHead), Margins);
draw(W0, (5,-3)--(-4,-1), red, EndArrow(TeXHead), Margins);
draw(W0, (5,-3)--(4,-1), white+1.2);
draw(W0, (-4,-1)--(-5,1), white+1.2);
label(W0, "$W_0$", (0,-1));
label(W0, "$\vec v$", (-4.5,0), dir(200));
label(W0, "$\vec y$", (-5,1)--(4,-1), dir(70), red);
label(W0, "$-\vec y$", (5,-3)--(-4,-1), dir(250), red);

draw(W1, shift(-4,1)*warc, bp);
draw(W1, shift(4,-3)*rotate(180)*warc, bp);
draw(W1, (4,-3)--(5,-1), br);
draw(W1, (-5,-1)--(-4,1), br);
draw(W1, (4,-3)--(5,-1), white+1.2);
draw(W1, (-5,-1)--(-4,1), white+1.2);
draw(W1, (-4,1)--(5,-1), red, EndArrow(TeXHead), Margins);
draw(W1, (4,-3)--(-5,-1), red, EndArrow(TeXHead), Margins);
label(W1, "$W_1$", (0,-1));
label(W1, "$\vec u$", (-4.5,0), dir(140));
label(W1, "$\vec y$", (0.5,0), dir(70), red);
label(W1, "$-\vec y$", (-0.5,-2), dir(250), red);

add(B0);
add(shift(12,0)*B1);
add(shift(0,-6)*W0);
add(shift(12,-6)*W1);
\end{asy}
\end{center}

Observe that the only change in $B$ and $W$
is in the parallelograms shown above in each diagram.
Letting $\wedge$ denote the wedge product,
we need to show that
\[ \vec u \wedge \vec x - \vec v \wedge \vec y
  = \vec v \wedge \vec x - \vec u \wedge \vec y \]
which can be rewritten as
\[ (\vec u - \vec v) \wedge (\vec x + \vec y) = 0. \]
In other words, it would suffice to show
$\vec u - \vec v$ and $\vec x + \vec y$ are parallel.
(Students not familiar with wedge products can replace
every $\wedge$ with the cross product $\times$ instead.)
\begin{claim*}
  Both $\vec u - \vec v$ and $\vec x + \vec y$
  are perpendicular to vector $\vec u + \vec v$.
\end{claim*}
\begin{proof}
  We have $(\vec u - \vec v) \perp (\vec u + \vec v)$
  because $\vec u$ and $\vec v$ are the same length.

  For the other perpendicularity, note that
  $\vec u + \vec v + \vec x + \vec y$
  traces out a diameter of the circumcircle of the original $2n$-gon;
  call this diameter $AB$, so
  \[ A + \vec u + \vec v + \vec x + \vec y = B. \]
  Now point $A + \vec u + \vec v$ is a point on this semicircle,
  which means (by the inscribed angle theorem)
  the angle between $\vec u + \vec v$ and $\vec x + \vec y$ is $90^\circ$.
\end{proof}