Cine-Machine as Method: Algorithm and Animation in the Digital Environment
In this chapter, I will analyze John Whitney's Arabesque software as a film machine, and set out the first principles of an algorithm model that can be used in the further work on the film machines. Next, I will briefly analyze how the algorithm is animated in Whitney's early computer film Arabesque (1975) and outline what issues it raises.
Specifically, the film machine uses a geometric equation that generates images by defining the 360 dots position on the screen. Whitney has also used this dot technique in films such as Permutations (1965), but in Arabesque, the dot is merged with the environment's own minority, the pixel.
Whitney's film machine is exemplary because in his work with the computer he built his films on some relatively simple geometric algorithms. His book Digital Harmony (1980) even includes a "Do it yourself" chapter in which he shares the program code underlying Arabesque (Whitney: 136) and discusses the musical principles that have inspired the making of the film.
Contents
Simulation of ARABESQUE
Through the descriptions in Digital Harmony, I have succeeded in creating a program that can simulate the algorithm used by Whitney in Arabesque. In addition to the characteristics below, this simulation can also give the reader an idea of the basic geometric principles that has guided the film’s imaging and movement patterns.
Use the simulation software below to explore the ARABESQUE algorithm used in John Whitney's film. Change the number in the first column and press "Enter" to see how each parameter transforms the shape. The second column under "step" determines the rate at which the step value will change. The current values of each of the three parameters are stated below the screen.
The original algorithm was developed by John Whitney and Larry Cuba in 1975 on IBM system.
Arabesque algorithm's three parameters
The starting point for Whitney's Arabesque algorithm is a simple circle derived from a polar equation. He makes the computer draw 360 dots that are evenly spaced 360 degrees around a a particular point (center of the circle) with a fixed distance (radius). A polar equation for this circle would then read:
p = r
or rewritten into a Cartesian coordinate system:
x (t) = cx + r * cos (t) y (t) = cy + r * sin (t)
where cx and cy are the coordinates of the center of the circle, r is the radius of the circle and t is each degree.
Now each dot has an individual number that allows the computer to move them individually. The first dot drawn in the circle is named # 1, the next dot is named # 2, and so on, up to dot # 360, which is the last in the circle and is next to dot # 1. This numbering allows Whitney to transform the circular shape by manipulating a dot's position through three new parameters.
I have called the simplest parameter yinv (y inversion), which causes the figure to be reflected vertically across the x-axis, since each dot's y coordinate can be "inverted" from its distance from the center. The yinv parameter has a value between 0% and 100%, where 0% would mean that dot # 1 is at the top of the circle and 100% that dot # 1 is at the bottom of the circle. The numbering goes clockwise. Between these two extremes, there are a number of intermediate points where the mirroring is underway. First, the figure is compressed until it becomes completely flat (50%), and then inflated again to straighten out completely like a mirror.
0% | 25% | 50% | 75% | 100% |
---|---|---|---|---|
yinv from 0% to 100% (pinv = 0%, step = 0) |
In the opening of Arabesque {H}, yinv initially has a value of 100%, so the opening of the circle is at the bottom, but in the middle of the sequence, yinv changes from 100% to 0%, thereby compressing and mirroring the current figure (a kind of rounded triangle) across the x-axis in the same way we have seen it with the circle.
The next parameter I have called pinv (polar inversion) and it is similar to yinv, in that it's value range is also between 0% and 100% and the parameter similarly determines a mirroring. But instead of mirroring the figure across a mid-axis, the pinv uses the center of the circle as the point of reflection, so that each x-coordinate of a dot is "crossed over" the center of the circle and is diametrically opposite to it's starting point.
0% | 25% | 50% | 75% | 100% |
---|---|---|---|---|
pinv from 0% to 100% (yinv = 0%, step = 0) |
0% | 25% | 50% | 75% | 100% |
---|---|---|---|---|
pinv from 0% to 100% (yinv = 0%, step = 1/360) |
If the base figure is a circle, a transformation from pinv = 0% to pinv = 100% will be similar to a horizontal reflection of the figure in the y-axis. However, if a pinv transformation is applied to the figure, e.g. when step = 1/360 then the pinv mirroring is much more complex. Initially the shape looks like a tooth, which gradually turns out to form an arc (25%), then a wave (50%), and eventually the line ties a knot on itself (75%) and ends as a loop (100%).
As attractive as this reflection can be, it is equally unpredictable. In comparison to a yinv transformation that just squeezes the figure and straightens it out in a mirrored form, the results of pinv are harder to anticipate, even though the transformation is mathematically consistent.
To understand the complex mirroring, one must also look at the step which is the last of the parameters. Unlike yinv and pinv, step is not based on a mirror, but on the principle Whitney calls "differential motion". In Digital Harmony, he illustrates this by drawing a line of 60 dots. He labels these dots from left to right (so they are called 1,2,3 ... 60), and then tells the computer that for each "step" in the animation, each dot must move upwards by a number of pixels corresponding to the dot's number. While the dots are on a horizontal line at step # 0, the dots on the right will gradually move up faster, making the line animated to appear skewed at ever increasing speed (Whitney: 48-49).
step = 0 | step = 1 | step = 2 | step = 3 | step = 4 |
---|---|---|---|---|
Example of "differential motion" based on a line (cf. Whitney: 50) |
In such "differential motion", the dots initially line up. At step = 1, dot # 1 has moved 1 pixel up, dot # 2 has moved 2 pixels up, etc. up to dot # 60 which has moved 60 pixels up. At step = 2, dot # 1 has moved 2 pixels up compared to the starting point, dot # 2 has moved 4 pixels up, and dot # 60 has moved 120 pixels up. Continuing this line, at step = 4 dot # 1 has moved 4 pixels up (1 * 4), while dot # 60 has moved 240 pixels up (60 * 4).
As the figure above shows, we do not perceive these movements as individual dots moving - we perceive the dots as a coherent figure, as if it is a line that is gradually tilting and extending.
In Arabesque, Whitney applies the same principle to the circle figure. Having already numbered the dots in the circle, he programs dot # 1 to move 1 pixel to the right of each step, dot # 2 to move 2 pixels to the right of each step, and so on, until dot # 360 that moves 360 pixels to right for each step.
As the dots will quickly move beyond the edge of the screen as they move to the right, Whitney adds a modulus function to each dot, meaning that if the computer calculates a an off-screen position for a dot, it jumps to the left edge of the screen and continues to the right again (ibid: 97). This principle can e.g. can be seen in the figure below, where the figure cuts the edge by 50%, but appears on the left side. Here's how it goes on for 75%, up to 100%, where half of the figure has crossed the edge of the screen and now forms a "tooth" figure.
step = 0/360 | step = 1 * 25% | step = 1 * 50% | step = 1 * 75% | step = 1 * 100% |
---|---|---|---|---|
steps from 0/360 to 1/360 (yinv = 0%, pinv = 0%) |
In the last frame of the table, each dot has moved an amount that corresponds to one step. In other words, dot # 1 has moved 1 pixel to the right, dot # 2 has moved 2 pixels to the right, and dot # 360 has moved 360 pixels to the right.
Note that while the tables showing the differential motion of the line has a distance of 1 step between each frame, the Arabesque circle requires a much lower increase in order for us to perceive the change between the frames as a single movement. If I only showed the first and last frames, few would be able to figure out how the movement between them is going - and this problem only increase if we continue to change the step parameter by an increase of 1:
step = 0/360 | step = 1/360 | step = 2/360 | step = 3/360 | step = 4/360 |
---|---|---|---|---|
steps from 0/360 to 4/360 (yinv = 0%, pinv = 0%) |
I have chosen to list the whole step value as numbers between 0/360 and 360/360. This notation should reflect that after 360 steps, the differential motion of the circle will cause each dot to be displaced so much that they occupy their original position on the screen. This is comparable to a clock where all three hands point to twelve when it is midnight. During the day, they will move around the disc at different speeds, but after 12 hours they will point to twelve again. Similarly, step = 360/360 corresponds to step = 0/360, where all dots have run through a full cycle at least once. Dot # 1 is the slowest and has only completed one cycle. Dot # 2 will be the second-slowest and has completed two cycles. And finally, Dot # 360 will have completed 360 full cycles. (Whitney: 98)
Because the program requires only numeric values to generate output, there are no signal inputs, but only parameters in this algorithm. We can summarize its algorithm with this diagram, also including x and y position to move the circle and radius to change the size:
Variations on the algorithm
Appropriately, the opening scene in Arabesque also serves as an introduction to the algorithm's behavior. First, the step goes from 0 to 1/360, while the y-inv from the start is set to 100%. Then pinv goes from 0 to 100%. Step from 1/360 to 2/360. And y-inv from 100% to 0%. While this last movement is midway and the circle is compressed, a new, vertically mirrored figure emerges above the first one that performs the same movements synchronously. Together they now play the same sequence in reverse - step from 2/360 to 1/360, pinv from 100% to 0% and step from 1/360 to 0/360 - whereby the two figures simultaneously fold in to form two circles that lie on top of each other.
The scene is like an exposition that presents the shape to the viewer and demonstrates it's algorithmic behavior based on the three basic parameters. We can already see how Whitney not only uses an algorithm for the shapes in his animation, but also animates the shapes algorithmically.
In the following sections, however, he does not adhere to the simple operations. Instead, he lets the circle - now in a horizontally stretched variation - do a sprint by the step parameter that dissolves the contiguous line of the circle, letting the dots run into a frantic flicker. Just before the circle gathers, a new circle emerges and sets off, resulting in a kind of musical canon of voices repeating the same melody line.
Subsequently, Whitney continues this musical exploration of the algorithm's simple theme. In the next section, several circles with slightly delayed temporal offsets form a new canon in which they perform the same composite choreography: They set off in motion, and are multiplied into five circles when they return to start. They rotate a few times, set off again, and eventually gather in one circle, and then gradually disappear. In the next section, the shapes are even freer animated, forming little trajectories in the image at intersections, running in different sizes, colors, directions and tempi. Especially in this section, the title's arabesque connotations become obvious, resembling the shapes and motifs of an Islamic rug.
In the film's climax, the circle returns to its round starting point at the top of the screen in a slightly diminished size. It slowly transform the step parameter from 0/360 to 1/360, whereupon a new, skewed circle appears diagonally below it. The new circle performs the same movement and is then supplemented by another new, skewed circle until 5 circles (unfolded to 1/360) form a five-club in the center of the screen.
[image?]
Then all 5 circles' pinv parameters are animated synchronously to 100%, where the configuration along the way resembles 5-pointed star and eventually a buttercup. Then the step parameters change from 1 to 2, and a whirl appears within the flower, swapping the space of their leaves, and forming a new pointed-leaf flower. With a y-inv transformation, the flower collapses, but stops halfway just when it forms a pentagon and the sequence is played backwards.
0% | 25% | 50% | 75% | 100% |
---|---|---|---|---|
pinv from 0% to 100% (yinv = 100, step = 1) |
step = 1/360 | step = 1/360 + 25% | step = 1/360 + 50% | step = 1/360 + 75% | step = 1/360 + 100% |
---|---|---|---|---|
steps from 1 to 2 (yinv = 100%, pinv = 100%) |
Because the circles only have to go from step = 1 to step = 0, they do this in a slightly delayed canon where each shape disappears just as it forms a circle again.
Animation
In animating the algorithm in the film, Whitney also uses other techniques, such as changing the positions, sizes and proportions of the figures (using the x, y and r parameters). In addition, he uses spatial amplification, where multiple of the same figure are seen synchronously side by side, and he rotates the figures to form a flower at the climax. With these techniques, Whitney manages to turn the simple theme of the Arabesque algorithm into a varied and expressive animation film.
Furthermore, we should also note that he makes tempo changes and often let's the dots condense into configurations of other shapes than just the circle. As we saw above, the gap is too wide if you increase the step value from 1/360 to 2/360 to see the movement, and the selection of tempo is therefore crucial, as Whitney hereby can structure the algorithm for a human recipient. In this way, he performs a necessary supplement to the machine, which does not know when the viewer perceives a movement rather than a jump or just a standstill.
This relationship is a central theme in Whitney's poetics in uniting visual and musical expression in a complementary relation. In addition to the aforementioned "differential motion", "harmony" is another concept of musical strategies that he explores. The term relates to his early films, such as Permutations, which, like Arabesque, consisted of a series of dots that occasionally condense and form perceptibly stable configurations using a geometric rose curve algorithm. Here the harmony consists precisely in "the dynamics of graphic pattern arrays" (ibid: 42), which he calls the moving dots that sometimes form stable patterns. These works, Whitney believes, create a sense of tension and relaxation when stable patterns suddenly appear or gradually emerge and disappear. In this way, they form a "graphic "scale"", which is modeled on musical harmony, where some tones are grouped into scales because they sound good to the human ear, and can create excitement by perceptually attracting and repelling each other. Similarly, Whitney sees in his film machines: "a diversity of rise and fall of tension, of highs and lows of tension, and a metrical rhythm and order" (ibid: 44)
[examples of condensed dots in the flicker?]
Here we can not go into further depth regarding the harmonies implemented in Arabesque and how they are arranged temporarily in the sequences. Instead, we will pursue the interesting point regarding the use of the algorithm, namely that there is a significant difference between the perceptual and substantive experience of the algorithm's graphical output. On the one hand, the human recipient perceives by the laws of perception and can only see patterns in the Arabesque flicker in the certain cases when it forms a recognizable or rather perceptually stable pattern. We can see how the algorithm's output makes appearances for the human eye. On the other hand is the machine that interprets all the screen outputs according to the algorithm that produced them. The film Arabesque is, in other words, a substantial imprint of both the algorithm and it's parametric values. This substantive understanding of the film does not see the screen output as appearances of patterns, but as an indexical imprint of the algorithm. If the computer already knows the algorithm, it can analyze what values the parameters were set to for that particular frame at the moment of creation. We could even imagine that a computer (and perhaps also a human) would be able to calculate the underlying algorithm if only the final film was given, by reverse engineering the geometry based on the work's figures and movement patterns.
By letting a software program draw the connections between the dots of the pattern (i.e. from dot # 1 to dot # 360) we see the difference between a substantial and perceptual interpretation, when we compare this to how a human might perceive the design of the dots in pattern:
Human vs. machine: | |
---|---|
Between the perceptual/human and substantial/machine poles of the algorithm, the artist stands as a mediator. In some cases, film machines are used for a narrative function where they simply have to be decorative, draw a circle, etc. But in some works, the film technician may use and explore the film machine algorithmically like Whitney has done. Here, there is a crucial accentuation of the substantive pole, but a successful musicalization of a film machine's algorithm requires an understanding of both perception and substance.
In the following two chapters we will see how two other artists use their film machine in an algorithmic practice, where the substantial also plays a crucial part in the works. The relationship between perceptual and substantial understanding will be further unfolded in the conclusion.