The Potrace algorithm transforms a bitmap into a vector outline in several steps. In the first step, the bitmap is decomposed into a number of paths, which form the boundaries between black and white areas. In the second step, each path is approximated by an optimal polygon. In the third step, each polygon is transformed into a smooth outline. In an optional fourth step, the resulting curve is optimized by joining consecutive Bezier curve segments together where this is possible. Finally, the output is generated in the required format.
Website: https://potrace.sourceforge.net/
Port: https://github.com/SerenityOS/serenity/tree/master/Ports/potrace
Port icon has the following license: Attribution 4.0 International (CC BY 4.0)