Saddle Curve folding funny behavior

The IGL DOG work is great. I’ve been a fan and following it since their first paper on it.
I’ve actually implemented the basic idea (without the curved creases) in Kangaroo.

See a couple of my previous posts on this:
Plywood Strips twisting and bending simulation (includes an example definition)
Tessellation Origami

Note that the lengths of the diagonals of the quads is not kept fixed. Simply using a quad mesh with edge lengths fixed does not give the same effect, since there would be nothing resisting stretching along the diagonal. Adding length constraints on the diagonal does not really work either, since if enforced strictly it resists bending in the perpendicular direction to that diagonal (you can work around this by using a fairly fine unstructured mesh, so no direction is particularly biased, like shown here and allowing a small amount of stretch. This has its issues though, since the bending resistance is tied to the stretching resistance, and as a fine mesh is needed, it can get slow).
The key idea of the DOG work is enforcing a condition on the angles around each vertex in a way that lets you separate in plane stretching from out of plane bending. I’ve been meaning for a while to improve my implementation of their work in Kangaroo and include the more recent stuff with the curved folds.

3 Likes