Categories
fluids halftoning penplotter

Evenly Spaced Streamlines

There’s a whole body of literature out there for illustrating vector fields. One topic is ‘evenly spaced streamlines’: lines that follow a direction field, and don’t get too close to each other. How do we do this? From a starting point, use the midpoint method to figure out the position of the next point. If […]

Categories
halftoning penplotter

Modfied Voronoi Diagrams and Stippling

Stippling is pretty neat. Draw a bunch of points and get an image? I like it. This post works up from basic Voronoi diagrams to anisotropic stippling with multiple dot sizes. I’ll stick to 2D for all this, since I like drawing pictures. Voronoi Diagrams A Voronoi diagram divides up the plane into regions that […]

Categories
penplotter

Tools for line drawings

Here’s a collection of useful tools for making line drawings with a pen plotter. I assume that the drawing is composed of lines, where each one is defined as a series of points connected with straight line segments. A point can be considered a degenerate line, with no segments. Bounding box intersection If you have […]

Categories
etcetera penplotter

FFT-based Line Smoothing

With a jagged or noisy signal, Fourier filtering can be pretty useful for cleaning up the unwanted noise. Line drawings can be considered signals just as easily as time-varying signals, so let’s get ready for some Fourier transforms! The basic idea of smoothing (with length scale L) a polyline with a Fourier transform: Re-sample along […]

Categories
etcetera penplotter

Chaikin-like Smoothing, Through Vertices

The standard Chaikin smoothing is a corner-cutting algorithm, which leads to nice results, but it no longer passes through the vertices of the original path. In cases where we trust the vertices more than the segments, what are we to do? Well, invent a new method, of course. Ideally, I want to give this method […]

Categories
halftoning penplotter

Traveling Salesman Problems and Variants

If you’re drawing these lines on a computer, there is no need to sort the lines cleverly. However, if you plan to use a machine to draw them, you want to minimize the total time that the machine is moving. If you don’t optimize the line-drawing order, you could spent a lot of extra time […]