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:

\max m
\text{s.t. } 0 \leq x_i, y_i \leq 1 \quad \forall i \in 1 \dots n \\

(maximize scale factor)

(constrain to square paper)

\underbrace{|v_i - v_j|}_{v_i = (x_i, y_i)} \geq m \ell_{ij}

(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

|v_i - v_j| \geq m\ell_{ij}

Always:

|v_i - v_j| = m\ell_{ij}

Active path:

Need all active polygons to be convex

Universal molecules

|v_i' - v_j'| = m\ell_{ij} - h(\cot\alpha_i + \cot\alpha_j)

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