Yes, I realized the reason for the gap when I looked at it a bit longer. When the balls are rotated half a "notch" in one ring the other ring has a bit more wiggle room.
Actually, now I'm wondering if it's even possible to build it with Borromean rings. We then have three rings and six intersections. Is it even possible to get all those intersections to line up around the n parts of the rings circumference? Does it fit at all? Does it fit some special values of n?
Why would there be a problem with the number of rings?
So long as there is more than one ring and they are connected there shouldn't be a problem, unless I'm completely missing something. (if I am please tell me)
The issue is the planar arrangement of the rings to maintain the interactions that make them Borromean rings. There is no requirement that the rings be flat. Check out this video.
I imagine you could use the three center points as the interchanges.
I have no idea if there is a problem or not. Just posing the question.
If we have two rings of equal radius, both with points marked out on their circumference making regular polygons, then clearly those rings can be arranged to cross over at two points on the thier circumferences which coincide with our marked points.
It's not clear to me that this can be done with three rings. Just now I'm too tired to think about it.
You can try it yourself, instead of rings think regular polygons, can you overlap 3 hexagons and get vertices to coincide as required? What about sepatagons, octagons etc...? (Those vertices have to coincide because that is where the outer balls of our system will fit.
The requirement that the rings be flat comes from the fact that it's easier to make. As Phil skillfully demonstrates.
If you lift the thing into three dimensions you have a construction problem.
I have no idea if there is a problem or not. Just posing the question.
If we have two rings of equal radius, both with points marked out on their circumference making regular polygons, then clearly those rings can be arranged to cross over at two points on the thier circumferences which coincide with our marked points.
It's not clear to me that this can be done with three rings. Just now I'm too tired to think about it.
You can try it yourself, instead of rings think regular polygons, can you overlap 3 hexagons and get vertices to coincide as required? What about sepatagons, octagons etc...?
The requirement that the rings be flat comes from the fact that it's easier to make. As Phil skillfully demonstrates.
If you lift the thing into three dimensions you have a construction problem.
If you make them flat and ignore the non-interlocking characteristic of Borromean rings, then you can use any number of rings, even with varying radii, if you maintain each interaction as either 1 or 2 points, as Phil so awesomely demonstrated.
Phil's beautiful creation does not demonstrate any such thing. It only has intersections between pairs of rings, at two points each. There are no three rings interacting at intersections, or four etc...
The interlocking of the three rings when no two are locked together is the whole fascination about the Borromean rings,
@Phil,
Yes, I thought 12 might do the trick. Seeing as we have this three fold symmetry going on. If 12 works so should 24 and so on.
Phil's beautiful creation does not demonstrate any such thing. It only has intersections between pairs of rings, at two points each. There are no three rings interacting at intersections, or four etc...
The interlocking of the three rings when no two are locked together is the whole fascination about the Borromean rings,
You can't have an interchange on rings that don't interlock. Since this is my understanding it's likely my fault and I'm probably misunderstanding how you plan to interlock them.
If you flatten out the pattern and ignore the non-interlocking concept, which you must if they occupy the same flat plane, then what you are left with is 3 rings that each interact with 2 other rings using the same proven concept of 2 interactions per 2 rings. Which is what I was saying Phil demonstrated. This just requires changing the angle of interaction and the number of instances per.
Something like could be adapted, but it has to be 3D somehow.
Here's what Barromean rings would look like with 24 balls:
I think it's doable if the balls are slightly undersized. Otherwise the paths into the intersections interfere a bit with the balls in the adjacent ring. But this will always be the case, even with the Olympic rings puzzle, if the intersection isn't at right angles.
Take a look at that nice 3D rendering of the Borromean rings you have posted.
OK, they are not nice circular, flat, rings but they are loops nonetheless.
Think about the red and blue loops. Imagine the green one is not there. Notice how the red and blue loops are not interlocked. You can just pull them apart without breaking anything. They are totally separate and free loops.
The same is true if you think about the red and green pair alone or the green and blue pair.
None of these loops is entangled with another.
BUT, as they are, altogether, you cannot pull that thing apart.
As pairs they are not knotted. Altogether they are!
As it turns out you cannot make this from three circular rings on a plane. How can any crossing over happen on two dimensions?
Even worse, you cannot make this with three perfectly flat circular rings in three dimensions either.
So, all those nice 2D renditions of the Borromean rings are an illusion.
Three little switches or whatever to push the rings around.
How about a quadrature encoder -- with detents -- near the center of each ring?
BTW, I'm already planning to build a meat-space version. I've ordered the marbles -- of U.S. manufacture, so maybe the diameters will be the same this time.
I couldn't find anything in it that's specific to rings that are as well-connected as the Borromeans. What I will probably do, then, is to write a program that simulates movements in the rings and apply them many times at random from a solved position. Then I can load the marbles with the result and know that it can be solved.
I expect that given that all the balls of any one colour are interchangeable then all positions can be solved. If the balls were individually numbered then there might be several groups of positions isolated from each other. A solver program with a simple heuristic might become trapped cycling though "nearly solutions" close to a local minimum in its search space - I think the only way to find out is to write such a program, or to solve the puzzle by hand. I find it difficult to guess how hard the puzzle might be - I need to make one to find out.
Upon more thought, I think the Borromean rings version might be pretty easy to solve. The key is just to ignore the third ring. If you can get, say, the top two rings solved, the bottom one will automatically contain all marbles of the right color.
Whilst you are ignoring one ring and solving the other two, that ignored ring will have colours in it the other two need. Those two rings will have a colour you have to shunt to the ignored ring.
So you have to move that ignored ring at some point to get stuff out or push stuff in.
Every time you move it, it stirs up the first two.
But hey, I'm the world's worst Rubik's Cube solver.
I expect that given that all the balls of any one colour are interchangeable then all positions can be solved. If the balls were individually numbered then there might be several groups of positions isolated from each other.
Possibly true for the Borromean case. For the Hungarian and Olympic rings puzzles, all permutations of numbered balls are accessible, according to the paper I cited.
I don't see it. Whilst you are ignoring one ring and solving the other two, that ignored ring will have colours in it the other two need. Those two rings will have a colour you have to shunt to the ignored ring.
I think that if you can demonstrate an algorithm for swapping two adjacent marbles, while returning all the others to their original positions, that would be sufficient to prove that all permutations are available. (In the "15" sliding-block puzzle this is not possible. And that puzzle has two disjoint sets of permutations.)
Those "precision" American-made marbles arrived today. They exhibit the same diameter variations and lack of sphericity as the first set. Dang it!
Have you looked at BB pellets (Airsoft) as possible marble replacements - or perhaps they're too small or too light? Nominal diameter is a fraction under 6mm and they're available in lots of different bright colours.
I was wondering if 60 balls on each ring fits together.
Looks like it could. Slight problem with the attached version is that if you orient the rings like I've shown, the balls fall between the normal minute/second marks instead of on them. Of course, you can rotate the whole thing by some odd multiple of three degrees - but then the circles don't line up so prettily.
I think we can compensate for the skew by using illuminating two or three LEDs at a time. We can fade them in and out so the the center of illumination is always in the right place. Sort of pixel antialiasing.
We are going to need RGB LEDS, APA102 for example, so we can create the puzzle as well. So antialiasing will be easy.
I used OpenSCAD which is a (free on Windows/Apple/Linux) CAD program normally used for designing 3D-printable objects. It's great for programmers as you enter the design as a few lines of code but then can see what your design looks like by dragging/zooming with your mouse.
Here's the code, all sixteen lines of it (if you count the blank line). The magic number 32.11 I just arrived at by trial and error to get the balls to overlap properly in the first two rings. Then the x and y offsets for the third ring are just half of that value, and that value * sqrt(3)/2 - which I arrived at after a bit of head scratching and some basic trigonometry.
Comments
Why would there be a problem with the number of rings?
So long as there is more than one ring and they are connected there shouldn't be a problem, unless I'm completely missing something. (if I am please tell me)
The issue is the planar arrangement of the rings to maintain the interactions that make them Borromean rings. There is no requirement that the rings be flat. Check out this video.
I imagine you could use the three center points as the interchanges.
If we have two rings of equal radius, both with points marked out on their circumference making regular polygons, then clearly those rings can be arranged to cross over at two points on the thier circumferences which coincide with our marked points.
It's not clear to me that this can be done with three rings. Just now I'm too tired to think about it.
You can try it yourself, instead of rings think regular polygons, can you overlap 3 hexagons and get vertices to coincide as required? What about sepatagons, octagons etc...? (Those vertices have to coincide because that is where the outer balls of our system will fit.
The requirement that the rings be flat comes from the fact that it's easier to make. As Phil skillfully demonstrates.
If you lift the thing into three dimensions you have a construction problem.
If you make them flat and ignore the non-interlocking characteristic of Borromean rings, then you can use any number of rings, even with varying radii, if you maintain each interaction as either 1 or 2 points, as Phil so awesomely demonstrated.
-Phil
Phil's beautiful creation does not demonstrate any such thing. It only has intersections between pairs of rings, at two points each. There are no three rings interacting at intersections, or four etc...
The interlocking of the three rings when no two are locked together is the whole fascination about the Borromean rings,
@Phil,
Yes, I thought 12 might do the trick. Seeing as we have this three fold symmetry going on. If 12 works so should 24 and so on.
You can't have an interchange on rings that don't interlock. Since this is my understanding it's likely my fault and I'm probably misunderstanding how you plan to interlock them.
If you flatten out the pattern and ignore the non-interlocking concept, which you must if they occupy the same flat plane, then what you are left with is 3 rings that each interact with 2 other rings using the same proven concept of 2 interactions per 2 rings. Which is what I was saying Phil demonstrated. This just requires changing the angle of interaction and the number of instances per.
Something like could be adapted, but it has to be 3D somehow.
I think it's doable if the balls are slightly undersized. Otherwise the paths into the intersections interfere a bit with the balls in the adjacent ring. But this will always be the case, even with the Olympic rings puzzle, if the intersection isn't at right angles.
-Phil
Take a look at that nice 3D rendering of the Borromean rings you have posted.
OK, they are not nice circular, flat, rings but they are loops nonetheless.
Think about the red and blue loops. Imagine the green one is not there. Notice how the red and blue loops are not interlocked. You can just pull them apart without breaking anything. They are totally separate and free loops.
The same is true if you think about the red and green pair alone or the green and blue pair.
None of these loops is entangled with another.
BUT, as they are, altogether, you cannot pull that thing apart.
As pairs they are not knotted. Altogether they are!
As it turns out you cannot make this from three circular rings on a plane. How can any crossing over happen on two dimensions?
Even worse, you cannot make this with three perfectly flat circular rings in three dimensions either.
So, all those nice 2D renditions of the Borromean rings are an illusion.
And that is the beauty of it.
Looking at it I don't see how it could be done with 12 now.
That triangle in the middle has sides of about the length of three little ball diameters.
There triangles around it have sides of about the length of four little ball diameters.
We can't scale that down to 12 balls without having a half a balls width in there!
I need Borromean rings made out of 24 RGB LEDs each.
Three little switches or whatever to push the rings around.
Or maybe actual rotating knobs located in each ring.
The colours of the LEDs should of course shunt around and mix up like they do in Phil's marbles construction.
Can anyone think of an algorithm to unshuffle a random arrangement of colours on the rings?
BTW, I'm already planning to build a meat-space version. I've ordered the marbles -- of U.S. manufacture, so maybe the diameters will be the same this time.
-Phil
Quadrature encoders would do the trick nicely. They have to feel good though.
I mean, every time you move one ring you are messing up the arrangement of two other rings in two places each!
Looks like it could keep Phil's friend's daughter busy for a lot longer.
Is it even solvable from any random starting position?
What does that paper Phil linked to say about it?
-Phil
I had a look at that paper. Ouch.
I'll just have to be frustrated in not knowing if all positions are reachable from all other positions.
My stupid old brain just woke me up with thoughts about how how to build this using TTL shift registers. Help!
-Phil
Whilst you are ignoring one ring and solving the other two, that ignored ring will have colours in it the other two need. Those two rings will have a colour you have to shunt to the ignored ring.
So you have to move that ignored ring at some point to get stuff out or push stuff in.
Every time you move it, it stirs up the first two.
But hey, I'm the world's worst Rubik's Cube solver.
Possibly true for the Borromean case. For the Hungarian and Olympic rings puzzles, all permutations of numbered balls are accessible, according to the paper I cited.
Yeah, there is that.
-Phil
-Phil
Those "precision" American-made marbles arrived today. They exhibit the same diameter variations and lack of sphericity as the first set. Dang it!
-Phil
I was wondering if 60 balls on each ring fits together.
Then we have a puzzle that can double as a Booromean Ring LED Clock!
Looks like it could. Slight problem with the attached version is that if you orient the rings like I've shown, the balls fall between the normal minute/second marks instead of on them. Of course, you can rotate the whole thing by some odd multiple of three degrees - but then the circles don't line up so prettily.
How did you do that?
I think we can compensate for the skew by using illuminating two or three LEDs at a time. We can fade them in and out so the the center of illumination is always in the right place. Sort of pixel antialiasing.
We are going to need RGB LEDS, APA102 for example, so we can create the puzzle as well. So antialiasing will be easy.
Here's the code, all sixteen lines of it (if you count the blank line). The magic number 32.11 I just arrived at by trial and error to get the balls to overlap properly in the first two rings. Then the x and y offsets for the third ring are just half of that value, and that value * sqrt(3)/2 - which I arrived at after a bit of head scratching and some basic trigonometry.