   Maximizing spacing between X points on a sphere?
  Here's what I'd like to do. I want to be given a set of X points, where the X points are on the surface of a sphere and spaced out as far as possible. I'm interested in a polar representation rather than a rectangular one, so radius is irrelevant; all I need is theta and phi.I have no idea how to approach this, but I'm sure one of you does. I'd really appreciate some help!   
  Just in case you haven't seen it already, there's a thread on the subject here, which includes a link to a discussion of the general problem on mathworld here. Don't know if that will help at all, but it seemed like it might be relevant.   ;  I have tried to solve this problem approximately in the past. You can make your particles repell each other with some law like magnetic repulsion (force is proportional to the inverse of the square of the distance) and update their position using Euler's method (and projecting back to the sphere so they don't expand forever). Instead of using the force as an acceleration, I would just take it as a speed, which is similar to having a lot of drag. Anyway, after some iterations, and if your timestep is small enough, you'll get very reasonable positions for your points. This method may not be very fast, but you render your points as you progress and it looks very neat.Another method that I have heard of but never tried is finding the two closest points and pushing them apart a little bit. Rinse, repeat. I guess the results would be similar.;  Would it be easier to generate them as points of a regular polyhedron? For example, for the sphere problem if you have 8 points a cube is incorrect, but for my purposes it's still alright.   ;  If you are trying to space out 8 points, then that's fine. If you are trying to solve the X point problem, then I would suggest an algorithm that starts by dividing up steradians. Is this a problem you can solve before implementation, or is it something you need to solve on the fly? If you can do it beforehand, alvaro's suggestion might be the quickest path. If you need to solve it on the fly, but for trivial problems (like 8 points), then it may not be too difficult. If you need a general solution, it seems like it could be a fun way to spend an afternoon.I'll watch this thread.   ;Quote:Original post by PromitWould it be easier to generate them as points of a regular polyhedron? For example, for the sphere problem if you have 8 points a cube is incorrect, but for my purposes it's still alright.Why don't you tell us what you are really trying to do? It will be easier to help you that way.   ;  All I want to do is draw a number of points in some kind of regular arrangement. Originally I figured sphere, but since that's apparently an unsolved problem, I'm wondering how difficult it is to generate a regular polyhedron with N vertices.   ;Quote:Original post by PromitI'm wondering how difficult it is to generate a regular polyhedron with N vertices.For N = 4, 6, 8, 12, or 20It is easy because those are the 5 convex regular polyhedra.For any other N, its is 'Very Difficult'(read Impossible), because those first 5 above were the only ones.If you lose the 'regular polyhedron' requirement, then maybe....   ;  Take an icosahedron and divide each triangular face in a bunch of triangles, drawing lines parallel to the sides. Now you can imagine a sphere containing the 12 vertices of the icosahedron, and then project the new vertices to the sphere. That should get you a fairly even mesh of triangles.A similar idea seems to be what they used to design this: