Indeed it does. In my vocabulary a chain has a head and an tail – like a snake. This implies hierarchy. Consideration should be given who leads the action, because a parent will drag along his descendants, but a child will take a distance from his ancestor. In the design of structures like yours a disadvantage is that the order of a chain cannot easily be turned upside down. I feel you might benefit from http://bongo.rhino3d.com/video/whys-of-ik
The key to make a IK chain circular (or triangular) is to let the snake bite its own tail.
So e.g. in a chain:
Object 0 > Object 1 > Object 2 > Object 3
in which (at least) Objects 1 and 2 are some kind of joint, the tail (Object 3) can be constrained to Object 0. Since most objects are surfaces (or similar) often an auxiliary point (a child of Object 0) is needed to pin-point the exact location for the constraint (e.g. the center of a sphere).
Have a look in circular.3dm (1.6 MB)
Although I feel the primary objective of Bongo is animation, and IK is primary conceived for the inversion of Forward Kinematics (just like the words say), it is indeed tempting to use IK for the exploration of mechanical structures. Trouble is that it is often hard to tell whether a malfunction is the result of the setup of mechanical structure itself or of the concept of its translation into IK!
In the model bongo_02_magnetic_behaviour 001.3dm (5.5 MB)
• I systematically equipped all rods with a tangible beginning and end using of a small sphere (the magnets) with their pivots located at the center of the vertices. This made compiling of the IK-chain much easier.
• I combined the members of the fixed triangles in a Block definition (1 block = 1 pivot) which is kept in position by 1 Universal joint and 2 Constraints.
• The function of the telescopes is taken on by a ‘telescopic’ joint (that’s what it is for!). Notice that the Y-axis of the pivots of rods 11 and 13 are aligned with the center-axis of the tubes, thus making the telescopic joint move in the correct direction. On a slant (not orthogonal oriented) object that’s not an easy task using the BongoRotatePivot command. It took 2 steps: first turning around the Z-axis (using the horizontal Construction Plane), and then around the X-axis with the CP set to the rod object itself. Tricky! I hope Bongo 3 will provide a BongoOrientPivot command.
Obviously any axis (other than Y) can be used to do the telescoping job. I just picked Y by accident.
The reaction of the organism is determined by the relaxation of vertex 05 which in the model is set to hinge along the (World) Y-axis. Notice how it varies when you e.g. change the joint to Universal and check both X and Y.
Any further questions?! Don’t hesitate.
Thanks for sharing this elegant enigma
In the model you posted:
• the command line keeps repeating “Unresolved animation hierarchy.”. That is because Object 34 is ‘Look(ing) AT’ Object 35 which is his own (grand)child.
• you used quite some LookAt constraints. Please be aware that Simple constraints cannot take an active role in the resolving of an IK-cain.
http://bongo.rhino3d.com/video/simple-constraint-versus-ik-in-bongo-2-0-a-clarification deals with the difference between Simple and IK constraints.
• Another aspect of Hierarchical linking to be aware of is that while a parent can have many children, a child can only have one parent.