0

I'm trying to build a visualization. The idea is to form a sphere out of circles. Similar to this:

Ball made of circles

In other words I want to pack certain number, lets say N, of circles in a sphere. All circles should have same radius and closest circles should have same distance from their centers.

I know how to draw a circle so the real problem is to find centers of the circles. How to find points on sphere where all neighboring points will be located on the same distance from each other and what is this distance is equal to.

Describing this task as a function it would have following notation

  [RadiusOfSphere, NumberOfPoints] -> [CenterOfCircle, MaximumCircleRadius]
Tikhon Belousko
  • 767
  • 1
  • 9
  • 26

1 Answers1

0

As the problem is stated, there may be no possible solution. The obstacle is that not every number of points N may admit a packing of the kind you are specifying.

You can take the radius to be fixed at 1 and scale afterwards in all cases here.

The requirement that the circles have the same radius and have the same distance to nearest neighbors is tantamount to saying that nearest neighbors are tangent to each other. All nearest neighbors, under this assumption, have the same gap on a line segment connecting their centers. Expand the radius by one-half this gap and now all closest circles are tangent. The centers don't move under this transformation. So we can assume the circles are tangent.

Circle packing is not a trivial mathematical problem, and proofs minimality or non-existence have tended to require computer-assisted proofs. I don't even know about that existence for arbitrary N. There might be a result out there, but it didn't come up in a brief search.

If you don't need every N, but simply a series of them so you can get N big enough, every quasiregular polyhedron and their duals (such as the rhombic triacontahedron, which folks on here might know better as a 30-sided die) all admit circle packings. So do their subdivisions (the figure induced by splitting edges into k pieces). So for given number of circles >N, pick one of the above polyhedrons and subdivide it so that the number of faces is large enough.

eh9
  • 7,340
  • 20
  • 43