Wiggler

Wiggler is a program that takes crease patterns that are almost flat foldable, and "wiggles" them until they are acceptably flat foldable enough.

How to use: upload a .cp file, make it messy, and see if it can clean it up--or upload a file that is already messy. Click "upload" again to reset.


                
                


            

Messy crease pattern

Cleaner crease pattern

Notes about this program

How it works: The error is the squared sum of all the kawasaki errors (alternating sum of sector angles) in the vertices of the crease pattern. Each vertex then gets a degree of freedom in the x and y direction (unless it's fixed to an edge or corner) and we apply gradient descent to move each vertex until the error approaches 0.

The "noise constant" determines how much distortion will be applied to the cp. The "learning rate" determines how fast the wiggling is applied--lower rates will take longer, but higher rates may never converge. "Stickiness" is a factor of how much it prioritizes not drifting too far away--which helps prevent it from going too far off, and also is more faithful to the original input. However, it could mean the converged solution will have a bit of error that will never go away. These coefficients are currently all set by hand--in the future, there might be a better way.

Although there may still be purple circles present, it may have reached an error acceptably small enough that it can be used in Oriedita and other programs. You can try pressing "clean up once" several more times and the circles should go away.

It may also be the case that the purple circles are there because of mv errors. This is not something that Wiggler can solve (although the big-little-big lemma should be something Wiggler may be able to take into consideration in future updates)