Maximize number of points along surface of sphere given minimum angle between them

129 Views Asked by At

Background:
I've been playing a game called Dyson Sphere Program. In this game you produce energy by building Dyson spheres around stars. Each sphere consists of several "nodes" which, for mathematical purposes, may be treated as points along the surface of a sphere. The amount of power which a Dyson sphere generates is directly proportional to the number of nodes, so maximizing this number is ideal. The catch is: No two nodes may be less than 4.10 degrees apart from each other.

The best published player designs currently come close to 2700 nodes. I believe these designs were achieved through manual trial and error using the in-game editor. However, I'm wondering if there's a way to mathematically identify the maximum number of nodes (and possibly their configurations) completely independent from the game. Just for fun, I'm also wondering if there's a general approach that one could take for an arbitrary minimum angle between points.

Question:
Mathematically, my problem could be stated as such: Assume a sphere centered at (0,0,0). Assume a minimum angle θ between any two points on the sphere with a vertex at (0,0,0). Given θ, what is the maximum number of points m that can be placed on the sphere?

Additionally, given that the sphere has a radius r what are the valid sets of 3-dimensional coordinates for these m points as a function of r?

Examples:

  1. If θ is 360°, then m would be 1. The point would be valid anywhere on the sphere.
  2. If θ is 180°, then m would be 2. The first point would be valid anywhere on the sphere. The second point would have to be on the opposite end of the sphere from the first point.
  3. If θ is 90°, then m would be 6. Any configuration where the last five points were at cardinal maxima relative to the first point would be valid.

Notes:

  1. The points do not have to be equidistant from each other as in similar questions.
  2. Because I don't know how I would describe the answer to this question as a formula I suspect I might not be familiar with the mathematical concepts required to solve this problem. Any references to resources which might help me to learn these concepts would be greatly appreciated. Even just the names of the concepts would be a helpful starting point.