Origami Simulator
Origami Folding; A Structural Engineering Approach
Rigid Origami Simulator
This app uses three.js to visualize and interact with the 3D geometry of the folding.
Triangulation of quad faces in origami patterns is achieved by adding the shortest edge across the quad (this helps to preserve symmetry, which
makes the simulation work better). Arbitrary polygonal faces are triangulated using the Earcut Library.
Additionally, I used jQuery, Bootstrap and the
Flat UI theme to build the GUI.
Built by Amanda Ghassaei as a final project for Geometric Folding Algorithms.
Code available on Github. If you have interesting crease patterns that would
make good demo files, please send them to me (Amanda) so I can add them to the Examples menu. My email address is on my website. Thanks!
File Import Tips
Bad design files will throw errors and create models that explode or cannot be solved, here are some tips for
importing FOLD or svg files that work.
Importing FOLD:
The FOLD file format is specified in these docs.
This tool imports FOLD v1.0 files with all of the following fields populated:
VR
This tool currently supports an interactive Virtual Reality mode using the Vive headset and controllers.
For this to work, you must first use a WebVR enabled browser:
currently only Firefox Nightly is supported by this app.
When you open this page with the appropriate browser and a Vive connected through Steam VR, you will see a button that says "Enter VR". Clicking this will
put the app in an interactive VR mode. The hand controllers will allow you to grab the origami mesh and pull on it.
This is especially cool if you set the mesh material to Axial Strain Visualization so you can see how your interactions
change the internal strains in the material.
If the simulation looks choppy, consider lowering the Num steps per render setting in the right hand menu.
Animation Settings
The dynamic simulation is calculated by moving time forward in small Δ t steps, solving the system, and moving the
vertices of the origami incrementally. The time step size for this animation is calculated automatically
based on the material stiffnesses set in the Stiffness Settings section: more stiff settings
require shorter time steps to solve and will slow down the simulation.
Num steps per render allows you to control the number of tiny time steps forward to take on each
render cycle. If the simulation looks choppy to you, you might consider lowering this setting.
Lowering the number of steps per render will slow down the simulation, but will result in a more smooth animation.
Simulation Error
Average node error gives a sense of how much the distance constraints in the
origami pattern are being violated. The error at each node is evaluated by averaging the
percent deviation of all its distance constraints with adjacent nodes. This error is
reported as a percent of the total length of the distance constraint to remove scaling effects.
This measurement is equivalent to
Cauchy strain or engineering strain of the axial constraints on this system.
Increasing the Axial Stiffness will tighten these constraints and
lower the error in the simulation.
To visualize the error of each node graphically, select Axial Strain Visualization under Mesh Material
in the left menu.
Stiffness Settings
....
Compliant Dynamic Simulation
....
Compliant Static Simulation
....
Axial Strain
....