3
$\begingroup$

Let $P_n$ be the regular convex $n$-gon centered at $p_0$ with $n$ vertices $p_1, p_2, ..., p_n$ and $(n>2)$.

Let $S_n$ be the set of all points "$s$" within the region bounded by $P_n$ where:

$distance(s,p_0) \leq distance(s,p_k)$... $(\forall k=\{1,2,...,n\})$.

For instance $S_3$ would look like this:

enter image description here

And $S_4$ would look like this:

enter image description here

And just thinking about this to the extreme... $\lim_{n\to\infty}S_n$ should look something like this (call it "$S_\infty$" for simplicity):

enter image description here

Is there a way to show (either using geometry or a simple brute-force code in Python) what $S_n$ should look like for any $n>2$?

I would really like to see what shapes emerge. Is there a way to animate it in Python? Like have circles radiate from each vertex $p_k$ and the center $p_0$ until they crash into each other to make straight lines defining the new region $S_n$?

Depending on the answer, I'd ideally like to transpose this question into 3-D for the 5 platonic solids.

For instance, examining a cube (i.e. 8 vertices), define $D_8$ as the set of all points "$s$" such that:

$distance(s,p_0) \leq distance(s,p_k)$... $(\forall k=\{1,2,...,8\})$.

Then $D_8$ is actually a truncated octahedron! I'm super curious what the other 4 platonic solids produce... As well as what higher $S_n$ regions look like (e.g. for a pentagon, hexagon, octagon, dodecagon, etc.).

Here's an insight that I find to be an elegant solution for n=3,4, or 6 (triangle, square, hexagon). Observe that you can tessellate all of 2-D space with regular triangles, squares, and regular hexagons. Now imagine each vertex $p_k$ is actually the center of a nearby triangle/square/hexagon (centered at $p_k$ instead of at $p_0$).

For instance: $S_3$ can be more easily distinguished by drawing 3 more triangles centered at $p_1, p_2 and p_3$.

enter image description here

Similarly for $S_4$, drawing 4 more squares centered at $p_1, p_2, p_3 and p_4$ would show us the shape below, which we can then easily discern needs to be distilled into the $S_4$ shading we saw above.

enter image description here

EDIT:

Based on the comment about Voronoi Diagrams, I did more research and tried it out in R. Here's the region $S_8$ for example (use your imagination to connect the 8 outer dots to form the enclosing octagon): enter image description here

The upshot seems to be that actually only $n=3$ and $n=4$ were interesting. For $n>4$ the pattern is simply to create a smaller version of the n-gon rotated by the internal angle of that n-gon. The shrinkage continues forever, but is also slowing forever, with the limit being circle of radius $\frac{r}{2}$ shown in the $S_\infty$ diagram from above.

More directly:

$\dfrac{Area(S_3)}{Area(P_3)}=\dfrac{2}{3}$

$\dfrac{Area(S_4)}{Area(P_4)}=\dfrac{1}{2}$

$\dots = \dots$

$\dfrac{Area(S_\infty)}{Area(P_\infty)}=\dfrac{1}{4}$ (limit -> lower bound)

$\endgroup$
3
  • 4
    $\begingroup$ You're talking about the Voronoi diagram of the vertices and the centroid. $\endgroup$
    – user856
    Jan 26 '20 at 7:47
  • $\begingroup$ Geometrically, that inequality represents the half-space containing $p_0$ defined by the perpendicular bisecting plane of the line segment connecting $p_0$ and $p_k$. Take the intersection of all these half-spaces with the original polyhedron. $\endgroup$
    – mr_e_man
    Jan 26 '20 at 22:24
  • $\begingroup$ @mr_e_man As said in a compact way by Rahul, it is the Voronoi cell associated with the center $p_0$, in the Voronoi diagram generated by the $p_k$s. $\endgroup$
    – Jean Marie
    Jan 29 '20 at 19:08
1
$\begingroup$

You can obtain it easily with Wolfram Mathematica (see the pictures below).

P[n_] := Table[{Cos[2*Pi*i/n], Sin[2*Pi*i/n]}, {i, 0, n}];

graph[n_] := RegionPlot[AllTrue[Table[(x - P[n][[i, 1]])^2 + (y - P[n][[i, 2]])^2, {i, 1,n}], # > x^2 + y^2 &], {x, -1, 1}, {y, -1, 1}, PlotPoints -> 20];

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

The 3D version can be built in the same way. For instance, for the tetrahedron:

P = {{1, 1, 1}, {1, -1, -1}, {-1, 1, -1}, {-1, -1, 1}};

p2 = ConvexHullMesh[P, MeshCellStyle -> {1 -> {Thick, Black}, 2 -> Opacity[0.2]}];

p1 = RegionPlot3D[ RegionMember[p2, {x, y, z}] && AllTrue[ Table[ Norm[{x, y, z} - P[[i]]], {i, 1, Length[P]}], # > x^2 + y^2 + z^2 &] , {x, -1, 1}, {y, -1, 1}, {z, -1, 1}, PlotPoints -> 60];

Show[p2, p1, ViewPoint -> {2, 4, 4}]

enter image description here

$\endgroup$
3
  • 1
    $\begingroup$ It's neat that for the cube some of the faces are perfect hexagons. $\endgroup$
    – user856
    Jan 29 '20 at 10:57
  • $\begingroup$ @PierreCarre can you please provide the sample code for the cube? I'm not too familiar with these functions in mathematica unfortunately $\endgroup$
    – Andrew
    Jan 31 '20 at 2:45
  • 1
    $\begingroup$ @Andrew I just added some code for the 3D case. $\endgroup$ Jan 31 '20 at 10:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.