Creating a "real" Origami

Good evening!

We are currently working on a 1:1 scale origami structure at the university and so I am of course playing around a bit with Kangaroo.
I created a folding simulation of a rotational pattern and it seems to work fine. However when the pattern is unrolled/unfolded again, it does not yield the original shape any more. Hence a deformation must have occurred (I guess?)… This seems to be happing regardless which kind of origami pattern I am using. Even with a simple example by Daniel Piker…

Is there something, I am missing? What can I do to achieve results that are maximally realistic?

Thanks a lot in advance,



wouldn’t your unrolled surface be your original line work to the left? unrolling surfaces will do that weird spacing. Use your original linework to cut. maybe im wrong and kangaroo actually deforms the surfaces when it does the simulation.

Hi @rudolf.neumerkel
For origami including quad faces, you need to make sure you include length goals for the diagonals too.
Triangles stay rigid just by constraining their 3 edge lengths, but without additional constraints on the diagonal, quads can stretch even while their 4 edge lengths are constrained.
If you want to also keep the quads flat, either include length constraints on both diagonals for each quad, or a Planarize goal for the whole mesh.

that’s what it currently seems to be doing…

Hey Daniel, I tried using both strategies - even on a more simple pattern, but it still does not yield the original shape perfectly (see below) / deforms the mesh.
I attached my current script, maybe you could have a quick look on that…
Thanks a lot! (60.5 KB)

I see you have the strength slider connected to the 10^x, which is the right idea, but a small adjustment I’d suggest is to use the same slider for boundaries, internal edges and planarity, so you can increase them together, and also to use a floating point slider instead of integer, to increase it more gradually.
Keeping it at 10^2 lets you fold it while allowing small distortions, but if you increase it at the end all the way up to 10^10 then you get something without distortion that unrolls to exactly your original pattern. (60.3 KB)

1 Like

I think what you have done is pretty good. The angles are good and it is really neat. Yes I can see the deformation that you are talking about. That spacing is created because of the unrolling surfaces. Working with Kangaroo is actually dealing with this sort of stuff regularly. There is nothing you can do.

Hi @mariah190282
There is something you can do! You can get rid of these deformations using what I show in the post just above.


thank you all for your answers!

It worked well with the rectangular pattern. I then tried to apply the same thing to the radial pattern - but there it failed again. Increasing the exponent, fixes the unrolled shape, but only by also unfolding the mesh as well, bringing it into the flat state again…
Do you have any suffestions/ideas for that?

Cheers and hope you are all well,
Rudi (91.8 KB)

1 Like

Just tried out the Origami Simulator by Amanda Ghassaei… downloaded the mesh, imported it to Rhino and unrolled it… similar behavior.

Maybe there is something wrong with the starting pattern itself?

1 Like

Just out of curiosity… check that your check method is good.
Check that your “unroll” function is working properly.
Triangles are not much, you could even do it manually.

Good point… I could try that, but I think the unroll operation should be solid…

btw: a GPU accelerated Origami solver is pretty cool :heart:

Yes - it is quite possible that your mesh is not rigid foldable.
The behaviour you describe does seem to suggest that.
Designing rigid origami beyond the known patterns is not always easy. Most distortions of known patterns will result in something which cannot be rigid folded.

1 Like

It is possible though with Kangaroo to take a near rigid foldable mesh and optimize to make it rigid foldable. This is a very old video from Kangaroo1 but the principle is still the same:

If you take a folded mesh which is almost developable, and the unfolded version (which is only possible with some stretching), then you can equalize corresponding edge lengths, while keeping the unfolded one flat, to get a true rigid foldable pattern close to your original approximate one. Note that you need to use the triangulated mesh to stop the quads distorting, but you can still keep the quads flat with a Planarity goal, or by triangulating in both directions.
(I’d show an example with your mesh, but I don’t have all those plugins installed - if you post just the folded mesh I’ll show how you can adjust it to be developable)


Try this

1 Like

True… My Origami knowledge is still very humble. Maybe it would make sense to apply the Origami theorems when generating a shape?

I tried out the 10^2 setting again and while it did not work on the Miura Ori fold

it worked very well on different roational Yoshimura patterns (dont know, why I did not see this before…)

This would be really amazing! Because the current approach is “bottom-up”, where a basic pattern is defined and then folded. The thing is, that we are trying to design a origami structure. And so designing “top-down”, where Origami constraints are applied, after a general shape is defined, would be a really great approach…

I attached a file with two geometries. One with the Miura Ori pattern and one where a rough “Yoshimura” pattern is defined via trangulation of a simple surface.

Thank you a lot for your help!!!

Greetings and stay healthy,


200406_Folded_State.3dm (6.0 MB)

Hey @DanielPiker, thanks again for your suggestions… it worked!

First, I tried using a already working pattern and distorting it:

Even cooler, it works also with “random” patterns, that only share the Origami topology, but nothing else, the differences are quite small in this case…:

Currently the process is still quite cumbersome… so next steps will be to automate the process of creating coarse shapes and turning them in to real foldable patterns.

Thanks a lot and stay healthy,

greetings, Rudi