Structure #003B

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

Implemented by Casey Reas
8 March 2004
C++ / OpenGL

This software is similar to its original implementation in Processing with the benefit of increased resolution in time and space. The image is scaled to fit the full screen and has an increase in frames displayed per second due to the speed of C++/OpenGL. These benefits create qualitative differences that alter the perception of the work. I was shocked to see this version of the structure running for the first time. The negative aspects are the difficulty of implementation and the fact that the software must be run on a local machine rather than over the Internet. The equivalent software written in Processing only required one file of 118 lines while the C++/OpenGL version required 3 separate files with a total of 224 lines. A different version of the software must be created for each operating system, which also takes extra time and testing.

For anyone with limited time on his or her hands, this would be the best implementation of the algorithm to observe. Quickly, and at a massive resolution, the aggregate intersections of 100 circles unfold. It is simply a beautiful thing to put your computer up to.

It is SO MUCH faster and smoother than the Flash version. But my favourite is still the Processing version, in which it is enjoyable to see thin visible lines weaving the forms slowly.