Color Problems

March 2020

Until our attention is called to it, we are unconscious what apparently unpromising material may yield new and beautiful motives for color-harmonies. —Emily Noyes Vanderpoel

A generator inspired by Emily Noyes Vanderpoel's (1842–1939) color analysis work. The tool applies abstract, modernist color grid patterns to images, transforming photographs into stylized color compositions.

Try it

Created with Mel Dollison, the generator was originally developed as a Twitter bot and was featured in a 2018 New York Times article, "New Life for a 1902 Manual About Color."

Vanderpoel-style linear color grid analysis of a Rudbeckia flower, with rows grading from black through olive and teal to dandelion yellow
Vanderpoel-style mirror grid of the same Rudbeckia, tiles arranged to preserve the spatial layout of the flower's colours

About the project

Vanderpoel's original 1902 book, Color Problems: A Practical Manual for the Lay Student of Color, presented a method for analyzing the color composition of objects—from Japanese textiles to butterfly wings—by breaking them down into abstract grid patterns. Her hope was that these analyses would encourage others to study "whatever originals may be at hand in books, shops, private houses, or museums."

The Color Problems generator allows anyone to upload an image and receive a Vanderpoel-style color analysis: a grid of colored squares that captures the essential palette and rhythm of the original.

The Mona Lisa painting
Mona Lisa as a Vanderpoel grid
Mona Lisa as a mirror grid
Mona Lisa as a random grid

How the generator works

The Color Problems generator analyzes the dominant colors in an uploaded image and maps them to a palette of color tiles extracted from Vanderpoel's original illustrations.

Color extraction

  1. The source image is resized to a thumbnail matching the target grid dimensions (e.g., 10×10 tiles)
  2. The thumbnail is color-quantized to 20 colors using PIL's median-cut algorithm
  3. The image is divided into equal-sized tile regions
  4. For each tile, all colors are extracted and ranked by frequency—the most common color becomes that tile's representative color

Color matching

Colors are matched to a library of approximately 100 tile images, cut by hand from scans of Vanderpoel's original book illustrations. The matching uses the Delta E (CIE 2000) color difference formula in CIELAB color space, which approximates perceptual color difference better than simple RGB distance. Each tile's dominant color is compared against all tiles in the library, and the closest match is selected.

The same process assigns human-readable color names (like "burnt orange" or "slate blue") from a curated color vocabulary, used to generate the legend.

Grid layouts

The generator offers several layout modes:

  • Mirror: Preserves the spatial arrangement of the source image—tiles remain in their original positions, creating a recognizable but abstracted version of the source
  • Linear: Sorts tiles by color similarity, creating gradient-like horizontal bands
  • Blobs: Groups similar colors toward the four cardinal directions through an iterative swapping algorithm—each of the four most dominant colors is assigned a direction, and tiles are repeatedly swapped with neighbours until like colors cluster together
  • Random: Shuffles tiles randomly, breaking any relationship to the original composition

The "Vanderpoel" style randomly alternates between linear and blob layouts, mimicking the variety found in Vanderpoel's original analyses.

Output

Each tile image is randomly rotated (0°, 90°, 180°, or 270°) before placement to add visual variety and avoid a mechanical appearance. The final output includes the color grid and a legend showing named colors with their percentages.

Usage

The Color Problems website interface

Generated images carry no copyright restrictions (CC0). The site contains no tracking, and uploaded images are automatically deleted after 24 hours.

References