initial input
4 Beziers
Drag points to change initial input.
TransformBeziers ( )
processed 4 Beziers
output 4 Beziers
zoom: shift-drag
reset: double-click
TransformBeziers (M:Matrix) : Bezier >> Bezier
∀ (A, B, C)
>> (MA, MB, MC)
SubdivideBeziers ( )
processed 22 Beziers
output 13 Beziers
zoom: shift-drag
reset: double-click
SubdivideBeziers () : Bezier >> Bezier
∀ (A, B, C)
if ‖(A - C)‖ < 1
>> (A, B, C)
else
M = (A ~ B) ~ (B ~ C)
<< (M, B ~ C, C) << (A, A ~ B, M)
StrokeBezierPath ( )
processed 13 Beziers
output 26 Beziers
zoom: shift-drag
reset: double-click
StrokeBezierPath (w:Real, l:Real, c:Real) : Bezier >> Bezier
→ SanitizeBezierPath () →
DupCat (→ StrokeOneSide (w, l, c),
→ Reverse () → ReverseBeziers () → StrokeOneSide (w, l, c))