In this post we will work with a fixed sequence of lengths $\ell_1,\dots,\ell_n>0$. This means we imagine polygons as composed of rigid edges connected by flexible joints at the vertices. Denote by $\mathcal{M}_m$ the space of curvature functions $\kappa=(\kappa_1,\ldots,\kappa_n)$ that correspond to closed regular polygons with $n$ vertices and tangent winding number $m$. We can conveniently describe $\mathcal{M}_m$ as the zero set of the function

\begin{align*}\qquad F:(-\pi,\pi)^n &\to \mathbb{R}^3 = \mathbb{R}\times \mathbb{C}\\\\ F(\kappa_1,\ldots,\kappa_n)&=\left(\begin{array}{c} \kappa_1+\ldots +\kappa_n -2 \pi n \\ \ell_0 e^{i\alpha_0}+\ldots +\ell_{n-1}\, e^{i\alpha_{n-1}}\end{array}\right).\end{align*}

By the above calculation the derivative of $F$ is given as

\[F'(\kappa_1,\ldots,\kappa_n)\left(\begin{array}{c}\dot{\kappa}_1\\ \vdots \\ \dot{\kappa}_n\end{array}\right)=\left(\begin{array}{c} \dot{\kappa}_1+\ldots +\dot{\kappa}_n \\ \dot{\kappa}_1 \gamma_1+\ldots + \dot{\kappa}_n \gamma_n \end{array}\right).\]

**Theorem:** The rank of $F’$ is three at all points of $\mathcal{M}_m$. Therefore, by the implicit function theorem, $\mathcal{M}_m$ is a smooth manifold.

**Proof:** At a point $(\kappa_1,\ldots,\kappa_n)$ where the columns of $dF(\kappa_1,\ldots,\kappa_n)$ were linearly dependent we would have $a,b,c\in \mathbb{R}$ such that

\[a \mbox{Re}(\gamma_j)+b \mbox{Im}(\gamma_j)+c=0\]

for all $j$. But this means that the whole polygon lies on a straight line, which is impossible for a regular polygon.

$\square$

Suppose we have a vector field tangent to $\mathcal{M}_m$ that we want to follow numerically. This means that for any $\kappa=(\kappa_1,\ldots,\kappa_n)\in \mathcal{M}_m$ we are given a certain tangent vector

\[X_\kappa \in T_\kappa \mathcal{M}_m=\mbox{ker}F'(\kappa).\]

We want to find curves $t\mapsto \eta(t)\in \mathcal{M}_m$ that satisfy for all $t$

\[\dot{\eta}(t)=X_\eta(t).\]

If we already have constructed $\kappa=\eta(t)$ we might attempt to find $\eta(t+\epsilon)$ as

\[\tilde{\kappa}=\kappa+\epsilon \dot{\kappa}\]

where $\dot{\kappa}=X_{\kappa(t)}$. Since $\dot{\kappa}$ lies in the kernel of $F'(\kappa)$ the condition

\[\tilde{\kappa}_1+\ldots+\tilde{\kappa}_n=2\pi m\]

will be satisfied. The second condition

\[\ell_0 e^{i\tilde{\alpha}_0}+\ldots +\ell_{n-1} \,e^{i\tilde{\alpha}_{n-1}}\]

however is non-linear and so we cannot be sure that $\tilde{\kappa}$ corresponds to a closed regular polygon. We first have to project $\tilde{\kappa}$ back to $\mathcal{M}_m$.

To this end we add to $\tilde{\kappa}$ an element of $(T_\kappa\mathcal{M}_m)^\perp$, the normal space to $\mathcal{M}_m$ at the point $\kappa$. This space is spanned by

\begin{align*}N_0&=(1,\ldots,1)\\\\ N_1&=(x_1,\ldots,x_n) \\\\ N_2 &=(y_1,\ldots,y_n)\end{align*}

Here $\gamma_j=x_j+iy_j$ and we assume that a translation has been applied to $\gamma$ in order to achieve

\[\gamma_1+\ldots,+\gamma_n=0.\]

Since the condition $\tilde{\kappa}_1+\ldots+\tilde{\kappa}_n=2\pi m$ already has been dealt with there is no need to work with $N_1$. We therefore are looking for $\lambda_1,\lambda_2 \in \mathbb{R}$ such that

\[f(\lambda_1,\lambda_2)=(0,0).\]

Here

\[f(\lambda_1,\lambda_2)=G(\kappa+\lambda_1 N_1 + \lambda_2 N_2)\]

where

\[G(\hat{\kappa}):=\ell_1e^{i\hat{\alpha}_1}+\ldots+\ell_{n-1}e^{i\hat{\alpha}_{n-1}}\,.\]

Thus we are left with the problem of finding a zero of $f$. From the calculation at the beginning of the post we know the derivative of $f$, so a Newton method seems the right thing to implement.