Curved Creases
Curved crease folding.<br>Geometry simulation and optimization.
Explore the examples<br>or load your own geometry*
* a polysurface from [untrimmed] ruled surfaces — .3dm format
Constraints
developability
crease
isometry
Shape
fix boundary:
rails
points
anchor Z
folding angle
fairness
Continuity
C1 continuity
angle threshold
Solver
iterations
regression
damping
▶ Optimize
max
×
Curved Crease
An interactive tool for designing curved-crease origami.<br>It takes a polysurface of ruled surfaces as input and<br>optimizes the control points so each surface patch<br>becomes developable and satisfies the geometric<br>constraints for valid crease folding between patches.
The optimizer uses a Gauss-Newton solver on B-spline<br>control points, enforcing several residual types:
Developability
Each ruled surface patch must be developable:
(b-a)·n = 0 ruling ⊥ normal<br>a'·n = 0 tangent of rail a ⊥ normal<br>b'·n = 0 tangent of rail b ⊥ normal
Curved Crease
The osculating plane of the crease curve must bisect the dihedral<br>angle between the two surfaces:
a'·(n₁+n₂) = 0 tangent ⊥ sum of normals<br>a''·(n₁+n₂) = 0 curvature ⊥ sum of normals
Anchor Z
Keeps the height of each control point close to its<br>initial value.
Folding Angle
Soft constrain to keep the initial dihedral angle between adjacent<br>surface patches at each crease.
Fairness
Soft constrain to make every three consecutive<br>control points collinear, producing smoother curves.
C1 Tangent
Enforces tangent continuity at junctions where<br>multiple rails meet.
Regression
Controls how much the geometry changes per step.<br>Higher values stabilize the solver but converge more slowly.
Algorithm Based on
Geometry and Interactive Design of Curved Creases - Klara Mundilova, TU Wien, 2017
Development: Soroush Garivani - soroushgarivani@gmail.com
Logs
Info
Layers
Initial
surfaces
creases
rulings
control points
Optimized
surfaces
creases
rulings
control points
data
crease type
normals
graph
unrolled
creases
rulings
data
crease type
3d
2d
normals
graph
3d
2d
data
crease type
graph
Unroller
stitch
merge
all
2d → 3d
iterations
regression
isometry
merged 2d → 3d
Idle