{Software} Structures

Casey Reas et al.

A surface filled with one hundred medium to small circles. Each circle has a different size and direction, but moves at the same slow rate. Display:
  1. The instantaneous intersections
    of the circles
  2. The aggregate intersections of
    the circles


A. Tarbell

B. Tarbell

A. Hodgin

B. Hodgin

A. Ngan

B. Ngan


A. FlashMX

B. FlashMX

A. C++

B. C++












A grid of points in the top half of the surface. Each point moves downward and returns to the top when it leaves the bottom edge. Beginning in the upper-left, each row and column moves faster than the previous. The speeds combine so the point in the upper-left is the slowest and the point in the lower-right is the fastest. Copy and flip the grid across the central vertical axis.

Every possible pairing of these sixteen curves. Use the additive numeric values from each curve to set the value of a series of horizontal lines from white to black.

Sol LeWitt

The catalyst for this project is the work of Sol LeWitt. I had a simple question: “Is the history of conceptual art relevant to the idea of software as art?” I began to answer the question by implementing three of LeWitt’s drawings in software. [Implementations with permission of Sol LeWitt.]

{Software} Structures was created in 2004 by Casey Reas in association with Jared Tarbell, Robert Hodgin, and William Ngan and was restored in 2016 by Casey Reas. Unless otherwise noted, the code was written with Processing and p5.js.

The code for this project can be downloaded on GitHub: https://github.com/REAS/SoftwareStructures