Rhino Bongo - animating a closed chain

Hej forum,

I want to try to get bongoed, first with the 30 day trial version. Is it possible, like in Maya and Houdini, to animate arbitrarily long closed chains? How would this have to be accomplished?

Many thanks in advance for some hints!

That should be possible given that the geometry remains “physically correct” at all times.

Although you can “stretch” lines and distances between points (using telescope), fixed size surfaces won’t stretch very much… in such cases you can use history and re-skin surfaces when their borders change during animation. History can update Loft etc at each keyframe. You can even simulate rubber-like surfaces in that way, like I did here :

Rigid IK-chains can drive you crazy though… But @Luc can tell you more.

// Rolf

Hej RIL,

thanks. The geometry of each element in such closed chains remains rigid. They all work very well as mockups from sheet metal. The tetrahedra don’t stretch like the bellows in your video and are hinged mechanically.

The question is how, in Bongo (I have yet to try/buy it), one can set up the hinges as it is those along which the possible movement of each tetrahedron towards its neighbours is constrained. Then, one needs to rotate one, which will inevitably rotate all others.

But, yes, I hope Luc has some ideas. It looks much less complicated than rigging a human, animal or fantasy character.

Do you have any geometry to play with?

It’s ok with rigid geometry as long as translations and rotations are “mathematically” free to move. Hinges in Bongo are rigid as well, so one would have to compose loose connections explicitly (telescope or rubber bands) if more freedom is needed.

Generally you would “force” some “lead-objects” to move in the pattern you want, and let the other objects just follow (simply put, the so called IK-chains).

As I see it, apart from all the benefits, the one big problem with Bongo is the UI. It makes simple things look very complex. Hopefully they fix the UI to the next version.

// Rolf

Your trust in me is heart warming.
This might be tough.

I’ll give it a peek (no time today).

Thanks, that’s exactly what I believe (maybe I’m wrong though?) is the case here: Moving one tetrahedron forces all others to move at the same time, all hinged to each neighbour, in a closed chain. So, that’s why I thought there should be a way with Bongo in the 30-day trial period to try this out before buying.

Hei Luc,

that would be very much appreciated!

That’s how I would approach it, yes. At least that’s how you’ld expect to be able to solve it.

I wonder though if the connections includes “jumping hinges”, like two cubes on top of each other, and if you tilt it the topmost cube to the right side, then the common edge to the right would serve as the hinge, and if tilting to the left side, then the hinge would “jump” to the common edge on the left, and so on. Is that kind of hinges what you also want?

Edit1: As an example of how one or very few parts are “force controlled” and the others following I could mention how I made that rubber thing in the clip above. I laid out a number of short lines like a “chain”, where each line where connected to another short line with a Universal hinge. Only the first line in the chain where then moved or rotated (forcefullöy), while every other link, and what follows in this text, “spontaneously” followed this “lead” object’s movements.

Each short line in turn served as a center line, or “axis” for a big circle. Every odd such link-line had a slightly smaller circle than the previous line-stump. History on. Loft all the circles. Then move the timeline (controlling that one lead-line at the end of the chain), and this caused the whole rubber thing to cringe as you saw in the clip. Everything followed from tricking with that one line at the end of the line-chain.

Edit2: Ah, I even found an old image showing the above line-chain links with their circles (surface lofted with history On)

// Rolf

Hmm, in my case, there’s no lofting necessary. Only a chain of tetrahedra (6-31) where each is linked to two neighbours along a straight axis. So, as a non-bongoist I can’t quite see the connection between your bellows and my issue.

A leader object, and other objects follows, is the connection to your question. Quoting myself:

// Rolf

I can’t see the hinge axis between neighbouring rigid bodies in your example; which is why I can’t see how I would translate that for my case. But I’m not a bongoist yet, hence my problem in understanding what to do.

I thought one somehow has to “simply define” the axes between the tetrahedra and then they would be animated within that constraint? Somehow, one would have to “tell” each tetrahedron “here’s your axis” and “please rotate here” and “force all others to rotate correspondingly”.


// Rolf

Sure I got geometry. Question is, how to start setting this chain up in Bongo.

Obviously this is not the most designated model for a novice. It’s a mindbender. Not only Bongo-wise but also regarding 3D spatial insight. I for one started off on the wrong foot assuming the tetrahedron to be regular (equilateral). Gradually I sensed they cannot be.

I began by using some Forward kinematic to make the basic geometry.
hexaflexagon 000.3dm (146.2 KB)

The start of setting up the basic IK-chain if fairly straightforward: a linear chain of hinges. The pivots need to align with the ribs – a task for the BongoOrientPivot command – and the object set NOT to rotate in worldspace).
I used a laborsaving shortcut by setting up 1 pair of tetrahedrons and then copy/rotated them twice before linking.
To make the end of the chain ‘stick’ to the start 2 pair of points are use. Two being child of Object 0 and then two (children of Object 5) are constraint to these first. A constraint to Object always allows rotation, so the points do not have to be made Hinges.

Setting up a driver and (probably needed further) constraints is a bit puzzling. The driver (the element that induce the action) seems easy: a point at the top of the chain made rotating by keyframes. But then the entire ring simple spins - as to be expected in real life.
See: hexaflexagon 001.3dm (181.8 KB)

In real live one also needs both hands to make the desired kaleidoscopic twirling of the ring. It took me quite some experimenting to find a solution: 2 auxiliary points shifting along 2 imaginary axes.
hexaflexagon 002.3dm (161.7 KB)
In order to make these constraints feasible the “driver” needs to be able to move along a similar axis (luckily its X-axis) so it is made a Telescopic joint allowing free displacement with respect to the World. Other solution are imaginable but this 3 point ‘fixation’ of the ring makes it twirl nicely in a horizontal plane.

That’s it. Not for rookies :wink:


PS Lagom, sorry for the delay. I was held up and it took quite some creative thinking.

1 Like

Hej Luc,

very much appreciated, really, I’m just grateful and am happy for any Bongo insight no matter how long it takes. I had no idea that what to me looked rather simple is far more intricate. I falsely thought that one can “simply” do in Bongo what the Java math-applet does so straightforward with any possible chain length and geometry.

Kaleidocycles consist of regular tetrahedra, where the points P and Q (centres of each tetrahedron’s two axes), always move on the planes E0 and Eα.

Before I “squander” the 30 days Bongo trial period, I better first understand what you did and relate it to the Java applet’s math. Not for Bongo rookies indeed.

Seems like animating a human is more straightforward in comparison ; )

Elegeant! Very.

// Rolf

I hope @Lars gets some time to work on integrating a physics engine. Personally I don’t think it makes much sense to do chains (and ropes) manually. A few shackles is still doable, but anything beyond that will take an absurd amount of time animating for any animated duration.


.+ Integration with GrassHopper
.+ Logging of positions & rotations per timeline-ticks (into text file),
.+ .NET API (why isn’t it there already?)
.+ (A more intuitive UI, which requires separate panels for overview at all times, especially properties makes newcomers lost before even trying).

How to make Bongo the powerful productive tool of choice.

// Rolf

I guess you mean this kind of chains?

Unfortunate I didn’t began by working on a octaflexagon with regular (equilateral) tetrahedrons.
octaflexagon 001.3dm (192.8 KB)
Grasping the 3D movements is far less complex because of the rectangular crossing of the opposite ribs of the tetrahedrons. The irregularity and the angles of the hexaflexfon are really a brainteaser.
PS I assume you’ll take a look at some tutorials?

1 Like

No, I meant more those of necklaces, and other more-or-less hanging chains, where they could freely swing and collide around with the environment. Like mine sweepers, morning stars and such. But then I read a bit better, and realized that is not wanted here. IK for closed chain (that is tensioned) should do just fine.