Andaba buscando representar cualquier polígono regular de $$n$$ lados, centrado en el origen o no, de radio circunscrito $$R$$, entonces para representar puntos sobre los lados, necesitamos introducir el parámetro $$t$$ y fue definiendo lados y empece a unir cosas en común
$$t$$ es el parámetro.
$$k$$ determina el lado del polígono,$$k=0,1,\ldots,n-1$$..
$$u$$ determina la posición sobre ese lado.
$$R$$ determina el tamaño, es el radio circunscrito.
$$\varphi$$ es el ángulo inicial de orientación. Para que el vértice inicial no quede sobre el eje x sino un segmento perpendicular al eje $$\varphi=\pi/n$$
Elijo la cantidad de puntos a representar de la figura como un múltiplo del número de lados así entonces $$\Delta t=2\pi/N_P $$ con $$N_p=Q\cdot n)\quad to\quad Q\in\mathbb N$$ si $$N_p$$ no fuera múltiplo del número de lados puede ser que algún vértice no quede preciso, cuanto mas grande $$N_p$$ sería mas preciso, pero siendo múltiplo se pueden usar menos puntos ya que los vértices quedan bien definidos.
$$ \alpha=\frac{2\pi}{n} $$
Y hacemos un contador $$r$$ entre 0 y $$N_p-1$$ donde $$t= r\cdot \Delta t$$
$$ u=t\bmod\alpha $$
$$ k=t//\alpha=\left\lfloor\frac{t}{\alpha}\right\rfloor $$
Para el polígono con centro en $$X_o,Y_o$$
Los vértices consecutivos son:
$$ P_k=X_o+R(\cos(k\alpha+\varphi),\sin(k\alpha+\varphi)) $$
$$ P_{k+1}=Y_o+R(\cos((k+1)\alpha+\varphi),\sin((k+1)\alpha+\varphi)) $$
y el resto de puntos los interpolo entre ambos vértices :
$$ \boxed{x(t)=X_o+R\left[\left(1-\frac{u}{\alpha}\right)\cos(k\alpha+\varphi)+\frac{u}{\alpha}\cos((k+1)\alpha+\varphi)\right]} $$
$$ \boxed{y(t)=Y_o+R\left[\left(1-\frac{u}{\alpha}\right)\sin(k\alpha+\varphi)+\frac{u}{\alpha}\sin((k+1)\alpha+\varphi)\right]} $$
Esta parametrización funciona para cualquier $$n\geq3$$, sin necesidad de definir ecuaciones diferentes para cada polígono.
No es una parametrización de Fourier, pero permite dibujar cualquier polígono programando código sencillo, incluso como una función pasando los siguientes parámetros $$X_o,Y_o,R,n,\varphi$$
Para hacerlo con Series de Fourier, me lo pasó la IA
Spoiler
La idea es aproximar la trayectoria poligonal mediante una suma de senos y cosenos.
Un polígono regular de $$n$$ lados, centrado en el origen y con radio circunscrito $$R$$.
Podemos representar sus coordenadas mediante una función compleja:
$$ z(t)=x(t)+iy(t) $$
La parametrización por tramos que recorre los lados tiene una serie de Fourier compleja particularmente interesante:
$$ \boxed{ z(t)=\sum\_{m=-\infty}^{\infty}c_m e^{i(1+mn)t} } $$
donde los coeficientes son:
$$ \boxed{ c_m=\frac{R n^2\sin(\pi/n)}{\pi^2(1+mn)^2} e^{-i\pi/n} } $$
Esta expresión corresponde a una orientación inicial con un vértice en $$(R,0)$$, y $$0\leq t\leq2\pi$$.
Por tanto, separando las partes real e imaginaria:
$$ x(t)=\operatorname{Re}(z(t)) $$
$$ y(t)=\operatorname{Im}(z(t)) $$
para centrarlo en otro punto $$X_o,Y_o$$ solo hay que sumar esas coordenadas a $$[x(t),y(t)]$$
Aproximación mediante una suma finita
Para calcularlo numéricamente, podemos truncar la serie:
$$ \boxed{ z_N(t)= Z_o+\frac{R n^2\sin(\pi/n)}{\pi^2} e^{-i\pi/n} \sum\_{m=-N}^{N} \frac{e^{i(1+mn)t}}{(1+mn)^2} } $$
Cuanto mayor sea $$N$$, mejor será la aproximación al polígono.
La serie representa una curva cerrada que se aproxima al polígono, pero sin exigir que sus lados sean exactamente rectos ni tengan vértices definidos.
Con Fourier se pueden representar todos los polígonos regulares variando solamente $$Z_o$$,$$n$$, $$R$$ y $$t$$, también se lo puede rotar añadiendo $$\varphi$$
$$ \boxed{ z_N(t)= Z_o+\frac{R n^2\sin(\pi/n)}{\pi^2} e^{-i\pi/n+\varphi} \sum\_{m=-N}^{N} \frac{e^{i(1+mn)t}}{(1+mn)^2} } $$