I should note, before I begin, I'm a programmer, not a mathematician, so if my question seems stupid, there's a reason for that. :-j
I'm trying to create a 3d model of a sphere with 6 rings around it. Where the rings intersect are important; they need to be equidistant from one another, and there can't be any more than 2 rings intersecting at any point. This is for a game, where the points of intersection are areas of maximum flexibility.
As a degenerate case, consider the case for 3 rings;
As the image shows, each point where 2 rings intersect has at least 90 degrees of arc between itself and any other point of intersection. What I want is a model with 6 rings, where the distance between any arbitrary point of intersection and it's closest neighbor is maximized.
Here's the openSCAD code I used to create this image. I expect people on this forum will mostly be interested in the rotation matrix I'm using.
orbit_ring_rotations = [ [[ 0, 0, 0]], [[ 0, 90, 0]], [[ 0, 90, 90]] ]; for (i = [0:1:3 -1]) rotate(orbit_ring_rotations[i]) rotate_extrude(angle = 360, $fn=quality) translate([3, 0, 0]) circle(r = .1);
I really don't have any idea how to attack this problem from here, except to write a program that tries all of the combinations (for integer values between 0 and 359 in the rotation matrix, anyway). But seeing as that's kinda complicated, if there's a math-y solution, I'd love to hear it.