De Casteljau's algorithm

Created on 2021-01-28T22:57:14-06:00

Return to the Index

This card can also be read via Gemini.

De Casteljau's algorithm takes a bezier curves and outputs a polyline.

list <- [the bezier you are rendering]
∀ beziers in list
    if this bezier is sufficiently straight
        push a line to output
    otherwise
        split the bezier in half
        push both halves to list

Flatness

flatness factor: 1.1, but more decimals like 1.01 and 1.001 make lines smoother
flatness <- |p0 p1| + |p1 p2| + |p2 p3|
flatness cutoff <- flatness factor * |p0 p3|
flat <- flatness < flatness cutoff

References