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 […]

Categories
fluids

Ph.D. Research: Problem Solving

A PhD is an exercise in learning to define and solve problems. This post will describe some of those problems and how I addressed them. I would have liked to see this sort of post back then, and hopefully this will give some idea of the process. This is, of course, very focused on experimental […]

Categories
etcetera

Image Orientation

I want to get a sense of the local angle of features in an image. This is a tall order at times, and isn’t even clearly defined. Do you want to follow the local gradient of the image? Be parallel to lines? We’ll try various methods and see what works. I’ll show a comparison of […]

Categories
map

Equal Area Map Projections

I’m most interested in making equal-area projections of spheres onto different shapes. For example, turning a spherical map of Earth into regular polyhedra. I’ll talk about the math I’ve used for these, and show some of the results. And exellent reference for map projections is Map Projections: A Working Manual. I’ll be using this equirectangular […]

Categories
halftoning

Not Classic Dithering on a Grid

I wanted to try some different grid-based dithering methods, so here we go: quadtree subdivisions, dither matrices, dithering along space-filling curves, and a hill-climbing optimization. Quadtree Dithering This uses recursive subdivision to distribute blackness in the image. The general idea is to make sure that each subdivision contains an integer number of black dots, and […]

Categories
halftoning

Dithering on Grids

Dithering takes an image and tries to represent it with a series of uniformly sized elements: pixels for digital images, or dots of ink for a pen plotter. I’ll assume that the background is white, and ink is black. To get an approximation of continuous gray levels, only some of the possible points will be […]

Categories
halftoning

Eikonal Stripes

The Eikonal equation is an approximation used in solving wave equations, and it turns out to also be good for stripes! We try to make a phase map, (), based on the brightness of the image (), with , where is the minimum wavelength desired. This can be approximately solved with the gray-weighted distance transform, […]