Beziers demo
Points demo
Reals demo
Shape demo
Bret Victor
initial input
Input: 4 Beziers
6 Beziers
Drag points to change initial input.
▶
Rasterize
( )
processed 6 Beziers
output 49 SpanCoverages
zoom: shift-drag
reset: double-click
Rasterize () : Bezier >> EdgeSpan
→ DecomposeBeziers () → SortBy (1) → SortBy (2) → CombineEdgeSamples ()
▶
Texture
( )
processed 49 SpanCoverages
output 34 Pixels
zoom: shift-drag
reset: double-click
Texture (A:ColorStop, B:ColorStop) : EdgeSpan >> (Color, PointCoverage)
→ ExpandSpans () → DupZip (→ ProjectLinearGradient (A.P, B.P) -> PadGradient () -> GradientSpan (A.C, B.C),
→ PassThrough ())
StrokeBezierPath
(4,0,0)
Input: 4 Beziers
Output: 6 Beziers
zoom: shift-drag
reset: double-click