Anthony McCall approached me to make an intuitive tool for his new generation of Solid Light pieces. The Solid Light series use a high-powered video projector coupled with haze machines to provide the illusion of volume. The haze particles are illuminated by the white light from the projector, creating a dramatic three-dimensional effect. Haze machines are like fog machines but with greater transparency so visitors can still navigate the dark space (a fog machine vaporizes the fluid with heat while a haze machine uses a compression chamber without heat).
The new Solid Light pieces are built on mathematical equations that change over time, eventually symmetrically cycling back to their start points. For this piece, mathematician Philip Ording provided the equations for so-called “circle waves,” which I recreated with dynamic parameters in Processing, graphing the shapes with radially sliced vectors that scale up to any resolution.
Manually changing numbers to manipulate parameters and then running simulations is too time consuming and too abstract to iterate with aesthetically. I developed a visual interface to script transformations of the variables and then step through the animation of the resulting shape morphs. The key was turning all the equations and relationships into intuitive, simple, visual controls that allowed non-numerical thinking but still displayed numerical relationships when you needed them. A timeline feature also showed visual feedback on temporal rhythms and symmetry of parameter transformations, allowing Anthony to experiment with shapes and timing in real-time. This feature also enabled the alignment of perfect loops that are suitable for gallery and museum presentation. The code runs in real-time and can also output to video files for easier exhibition transport.
Images of the project: http://www.ericforman.com/anthony-mccall-solid-light/
Circle Wave Mathematics (developed by Philip Ording)
A circle wave is a wave that has been wrapped, end-to-end, into a circle. Circle waves can rotate around the center of the circle, and their amplitude can oscillate. Different circle waves can also be combined to form new circle waves.
Cx(θ, t) := (R + ω(θ, t)) · cos(θ) Cy(θ, t) := (R + ω(θ, t)) · sin(θ)
ω(θ, t) := A · sin(F · θ + S · t + Φ) · cos(f · t + φ)
θ = radial angle to a point on the circle wave; 0 ≤ θ < ∞
t = time; 0 ≤ t < ∞
R = distance from circle center to middle of wave; 0 ≤ R < ∞
A = amplitude of circle wave; 0 < A < ∞
F = number of wavelengths per circumference; F = 1, 2, 3, …
S = speed of rotation of circle wave; 0 ≤ S < ∞
f = frequency of circle wave oscillation; 0 ≤ f < ∞
Φ = phase of circle wave rotation; 0 ≤ Φ < 2π
φ = phase of circle wave oscillation; 0 ≤ φ < 2π
Combining circle waves:
By adding or multiplying two or more wave functions we can produce new circle waves. Let ω1, ω2 be a pair of wave functions, each defined in terms of its own parameters:
ω1(θ,t) := A1 · sin(F1 · θ + S1 · t + Φ1) · cos(f1 · t + φ1)
ω2(θ,t) := A2 · sin(F2 · θ + S2 · t + Φ2) · cos(f2 · t + φ2)
Define the wave function sum of ω1 plus ω2 as
ω1+2(θ, t) := ω1(θ, t) + ω2(θ, t)
and the wave function product of ω1 times ω2 as
ω1∗2(θ, t) := ω1(θ, t) · ω2(θ, t)