Skip to content

About

Paper folding software based on FOLD specification

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

9 Commits

Folders and files

Repository files navigation

🧻 Paper Folder

Paper folder provides a way to work with FOLD (Flexible Origami List Datastructure).
Draw crease patterns and simulate them, freeze the intermediate results as key frames.
Export precomputed folding animation as an easy to parse series of meshes.

My research curiosity here is to classify locally flat-foldable graphs,
with the condition that their dual graphs also retain interior flat-foldability.
One example is a hyperbolic paraboloid origami without a central square.

Current features

  • FOLD specification (version 1.2) validation.
  • Convert from and to FOLD, SVG, OBJ files.
  • Generate locally flat-foldable SVG crease patterns.
State Module Commentary
🟨 collections Feels a bit undercooked.
✅ definitions Modern, Rust-like syntax sugar.
🟨 fold_deserialization No support for SVG triangulation yet.
Math module needs BVH2 and Bezier2.
✅ fold_generation Desperate for clever math optimizations.
❌ fold_graph Work in progress! Basic methods only.
Math module needs 3x3 covariance matrix.
fold_graph_VV_from_FV 2D example.
fold_graph_VF_from_VV complex walk.
fold_graph_EF_from_FV more hard math.
fold_graph_FV_* family not implemented.
🟨 fold_serialization OBJ writing is very primitive.
Unique vertices are not tracked properly.
SVG could support more visual modes.
❌ fold_simulation Considering a different approach.
More research is necessary.
✅ fold_specification Pretty much complete.
Supports generic mesh arrays.
✅ fold_validation 100% bullet-proof, very fast.
✅ lua_modules Lua bindings, see the example.
✅ lua_scripts Command line parsing routines.
🟨 math Needs full BVH2, BVH3 accelerators.
Matrix, Plane, Bezier curves are missing.
Triangle/Polygon helpers would be nice.

Building the project

Run the command inside a terminal.

make && \
./paper-folder validate \
"assets/rabbit-ear/kissing-squares.fold"
⛔INVALID: "assets/rabbit-ear/kissing-squares.fold"
⚠️frame:0: faces_vertices and faces_edges mismatching winding
⚠️frame:0: faces_vertices and faces_faces mismatching winding
⚠️frame:0: faces_edges and faces_faces mismatching winding

About

Paper folding software based on FOLD specification

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages