An online, lightweight version of Robert Lang's TreeMaker
Parker Rule
Jamie Tucker-Foltz
Andy Tockman
Background
Lang began work on TreeMaker in the early 1990s.
The latest version of TreeMaker was released in 2005.
In the last 15 years, there has been significant progress toward an integrated set of web-based origami design tools.
Approach: pedagogical value and ease of use over feature completeness
Tools: TypeScript, JSXGraph, Vue.js, math.js
Old version
(TreeMaker 5)
User draws tree
Export .FOLD file
Find packing
Clean packing
Order facets
Build molecules
Pipeline
Finding a good packing
In general, circle packing for origami design is NP-hard, even on square paper. [Demaine, Fekete, Lang 2010]
Lang gives a simple formulation for the circle packing problem:
(maximize scale factor)
(constrain to square paper)
(don't overlap, respect metric tree)
"reverse convex" [Addis 2008]
Solving for a packing
The TreeMaker disk-packing problem differs from more generic disk-packing problems in a few ways. This makes it difficult to use simple packing heuristics.
We opted to reimplement Lang's nonlinear solver, which uses the augmented Lagrangian method coupled with backtracking line search. This approach allows for the future addition of symmetry and strain constraints.
An optimized version of this solver may be of independent value.
(Figure from Stanford EE364a)
Clean packing
Always:
Active path:
Need all active polygons to be convex
Universal molecules
Active reduced path:
Creases:
Gusset (V)
Ridge (M)
Hinge
Pseudohinge
Axial
TreeMaker 5 builds
- Patching old gcc requirement
- Upgrading to modern wxWidgets
- (Option to avoid compiling wxWidgets)
- Reproducibility
Future work
- Facet ordering algorithm [Demaine & Lang 2006]
- Export to Origami Simulator (depends on facet ordering)
- Continue to improve the tree-drawing UI
- Interactive packing UI
- Linux (half-done) and Mac builds
deck
By Parker Rule
deck
- 336