Plotter Related Algorithms

msurguy1 pts1 comments

Pen Plotter Algorithms, Explained & Animated - DrawingBots.com<br>Get 5% off NextDraw and accessories with coupon "DRAWINGBOT2025"×<br>Algorithms<br>A visual catalog of the algorithms behind pen-plotter art — from path optimization and vectorization to generative geometry and organic growth. Cards marked Live demo open an interactive p5.js sketch showing the algorithm in action.

Share this page:

122 of 122 have live demos — more coming soon.

Live demo

2-opt local search<br>Repeatedly reverses sections of a route whenever the swap shortens its total length.<br>Live demo

Adaptive stippling<br>Places marks at variable spacing or size according to local image tone, detail, or an error measure.<br>Live demo

Affine transformation<br>Maps coordinates with combinations of translation, rotation, scaling, and shear while preserving straight lines and parallelism.<br>Live demo

Arc interpolation<br>Evaluates points along a circular or elliptical arc from its geometric parameters.<br>Live demo

Arc-length resampling<br>Redistributes points along a curve so consecutive samples are separated by approximately equal physical distances.<br>Live demo

Arc-to-Bézier conversion<br>Approximates circular or elliptical arcs with one or more cubic Bézier curve segments.<br>Live demo

Archimedean spiral<br>Generates a spiral whose radius increases linearly with angle, producing nearly constant spacing between turns.<br>Live demo

Attractor-field integration<br>Moves particles or curve samples through a vector field formed by attracting and repelling points or shapes.<br>Live demo

B-spline curves<br>Constructs smooth piecewise-polynomial curves controlled by points, knots, and polynomial degree.<br>Live demo

Bayer ordered dithering<br>Compares image values against a repeating threshold matrix to create a regular distribution of binary marks.<br>Live demo

Bentley–Ottmann sweep-line algorithm<br>Finds intersections among line segments by sweeping an ordered event line across the geometry.<br>Live demo

Bézier curves<br>Defines smooth parametric curves from endpoints and control points using Bernstein polynomials.<br>Live demo

Blue-noise sampling<br>Distributes samples with few low-frequency clumps while avoiding the rigid appearance of a grid.<br>Live demo

Bresenham line algorithm<br>Steps through a discrete grid to approximate a straight line using inexpensive incremental error calculations.<br>Live demo

Catmull–Rom splines<br>Interpolates a smooth curve through a sequence of control points using neighboring points to determine tangents.<br>Live demo

Cellular automata<br>Updates cells on a grid from local neighborhood rules to produce evolving spatial patterns.<br>Live demo

Centerline tracing<br>Extracts a single path along the middle of strokes or elongated regions in a raster image.<br>Live demo

Chaikin corner cutting<br>Smooths a polyline by repeatedly replacing each corner with two points placed along its adjacent edges.<br>Live demo

Circle packing<br>Places non-overlapping circles inside a boundary while satisfying size, spacing, or density constraints.<br>Live demo

CMYK color separation<br>Decomposes an image into cyan, magenta, yellow, and black coverage channels.<br>Live demo

Color quantization<br>Reduces a large set of image colors to a smaller representative palette while minimizing visual error.<br>Live demo

Concave hull<br>Builds a boundary around a point set that can bend inward and follow the set more closely than a convex hull.<br>Live demo

Concentric infill<br>Fills a region with successively inset or outset copies of its boundary.<br>Live demo

Contour extraction<br>Finds curves that follow boundaries or equal-valued levels in raster, scalar-field, or elevation data.<br>Live demo

Convex hull<br>Computes the smallest convex polygon containing a set of points.<br>Live demo

Cross-hatching<br>Overlays two or more families of hatch lines at different angles to build tone or texture.<br>Live demo

Curl noise<br>Derives a divergence-free vector field from the curl of a noise field, producing swirling motion without obvious sinks or sources.<br>Live demo

Curve flattening<br>Approximates arcs and parametric curves with polylines while keeping deviation or segment length below a tolerance.<br>Live demo

De Casteljau's algorithm<br>Evaluates or subdivides a Bézier curve through repeated linear interpolation of its control points.<br>Live demo

Delaunay triangulation<br>Connects points into triangles so no input point lies inside any triangle's circumcircle.<br>Live demo

Differential growth<br>Iteratively moves and subdivides a chain under attraction, repulsion, and smoothing forces so it grows without collapsing onto itself.<br>Live demo

Distance transform<br>Assigns each raster cell its distance to the nearest foreground, background, or boundary cell.<br>Live demo

Douglas–Peucker simplification<br>Recursively removes polyline vertices whose removal stays within a specified perpendicular-error tolerance.<br>Live demo

Dubins path planning<br>Finds a short path between oriented points using straight segments and fixed-radius turns.<br>Live demo

Edge detection<br>Locates strong changes in image intensity or color...

live demo points image curve curves

Related Articles