Title: Ananke
Description: Ananke, a reference to the greek personification of inevitability, compulsion, and necessity, deals with the double-edged nature of technology, in the midst of a society where the lines between technology, surveillance, and data privacy get increasingly blurred. The piece deals with the interactions between a dancer and a mysterious dodecahedron hanging from the stage ceiling, triggering sounds and visuals throughout the performance. The performance starts serene and playful as the dancer gets used to the seemingly innocent dodecahedron (which represents technology and social media). However, as she invests more time and focus on it, a hidden figure emerges, suggesting that what initially seem harmless might not actually be so.
Hardware:
Components:
- Laser-cut dodecahedron
- PS3Eye Camera
- IR LEDs
- Teensy LC
- 2 Lipo batteries
- 2 PowerBoost 1000 chargers
- Neopixel Ring
- Bluefruit LE
The basic foundation of the performance was the lit up component hung on the ceiling. Since it would contain the IR lights, the Neopixel ring, the Teensy LC, and the lipo batteries, and it would also have to be stable enough for our dancer to interact with it properly, this was a main part of our process. Since we originally wanted to use a sphere, we decided to laser cut a dodecahedron instead as it had a large number of faces and would visually fit our concept as well. Creating the enclosure ourselves instead of buying it online was the best choice as it also gave us a lot of flexibility around our specific requirements.
Attaching the dodecahedron together with acrylic glue was a particularly arduous part of the process, since we had to ensure that the angle at which it face was placed was properly set. Otherwise, the whole component would not have been able to close properly. After laser cutting, we also drilled holes at the top and on either side of the dodecahedron. The top holes would be to hang it, and the ones on either side to easily attach and detach the top and bottom faces with zip ties (we hoped to find a more environmentally-friendly alternative, but we realized we could only trust the zip ties).
This is how the lit up dodecahedron looked in the end:

After getting the base acrylic part done, we then had to measure and fit the components that would be placed inside. This included first creating a large ring containing various IR LEDs facing outwards (which had to be done twice, as the first one was too small). Once the IR LEDs were tested properly with the PS3Eye camera, we worked on having the Neopixel ring change color with our phones with the Bluefruit LE. Fortunately, this was one of the simplest parts of the process.
We then had to figure out how we would have everything be self-contained, with no wires coming outside to get power from the computer. As such, we ended up using 2 lipo batteries connected to a PowerBoost 1000 Charger to power the Teensy LC, the Neopixel ring, and the IR LEDs. To avoid any unnecessary shadows, we used a styrofoam ring to keep all the components tightly packed at the bottom center of the dodecahedron. We also taped together the Teensy LC with the Bluefruit LE and the PowerBoost 1000 Charger as seen below. In the end, with all the working components ready, soldered, and taped to the dodecahedron, the hardware was done.

The inside of the dodecahedron with the IR LED ring:

Software (Code and Sound Design)
The piece has three parts to it, reflecting the performer’s relationship to the dodecahedron:
- Exploration & Curiosity
- Control
- Loss of Control
As we settled on our concept as well as the design of the glowing dodecahedron, we aimed to create consistent graphics that would only slightly change as the story and performance progressed. We wanted to be able to make changes to the colors, sound and interactions with the graphics that would properly capture the story and its mood. Therefore, we settled on particle graphics, because we thought that this would be an effective graphic that would remain open ended as we continued to work on the piece.
- Exploration & Curiosity
The first stage involves a field of particles, whose color is determined its distance from the dodecahedron. The particles that are closest to the dodecahedron are closer to white, while the further ones become blue and eventually black at the furthest distance. We decided to make this distance constantly change, creating a circular pulsing effect around the dodecahedron. The particles move closer and closer to the dodecahedron’s position and when they reach very close to it, they are set again to a random position on the screen. The music at this point is slow and builds up as she gains confidence in playing with the dodecahedron.
This created multiple effects we desired, allowing the animation to leave a trail of particles in a line where the dodecahedron was swinging as well as creating the effect that the dodecahedron was a living object, due to its pulsing. This was also combined with the pulsing feedback sound which we programmed in OpenFrameworks, with the height of the sound being when the pulse was at its apex.
Within this stage, we also added a part where the particles would come to form a circle, allowing our dancer to move the dodecahedron around with the dynamic particle ring following her. This effect was added to convey her rising confidence in interacting with the dodecahedron, giving her greater control of the particles around her. This was accompanied by a force field noise.
- Control
This stage starts with our performer untethering the dodecahedron from the string causing the ring created by particles to ‘explode’ as the particles move off the screen. This is also accompanied by a feedback sound. From this point on, our performer is dancing freely with the dodecahedron and white particles are emitted on the screen from her current position. This part was designed to be free flowing, demonstrating her complete control of the dodecahedron. For this we made a particle class which would be emitted from the dodecahedron’s position. The velocity would be random and the particles would eventually fade out as we lowered their alpha values. After a certain amount of time, when the particles would not be visible, it would be removed from the array list.
- Chaos / Loss of Control
For this part we wanted the transition to be smooth between her confidence in drawing these particles and her loss of control of the orb and its power. Initially we attempted to create particle graphics that were extremely chaotic, but we thought that this would not be powerful enough to illustrate our point. We also thought about how we could inject our narrative of surveillance and submission to technology into this final stage. We settled on creating an image made of particles, which would slowly drift towards this image from particles emitted from the dodecahedron. The image that we settled on was an eye. The code that we used would convert an image’s pixel values into x and y locations on the sketch. We then made particles in the particle class gradually move towards assigned locations using a force. The particles are initially white, but gradually become red as the contour of the eye becomes recognizable. This is also accompanied by a shift in music, as the music goes from flowy and powerful to dramatic and ominous.
Initially we just had this eye being rendered, but we finally settled on creating a moving pupil that would be at the position of the dodecahedron. This would show the pupil following our performer as if watching her. This pupil movement uses the same code that was used with the ring at the beginning of the performance, constricting the movement of the pupil to the size of the iris. At this point the dodecahedron turns red, and the performer becomes panicked trying to regain control of the dodecahedron and her environment. As she is doing this, she taps the dodecahedron, and red particles are emitted from the dodecahedron every time she does this.
Finally, the particles are displayed in the shape of a coherent eye, but the pupil/iris’ position is seemingly random as the eye glitches and moves rapidly and seemingly randomly. As this starts to occur, a track with static and an unsettling and incomprehensible voiceover becomes louder. Eventually it is just the glitching eye along with the static noise, and our performer falls to the floor.
Tracking
We tracked the dodecahedron by converting the image received from the PS3Eye Camera to a grayscale one, filtering out the background and making the brightest points more prominent in the image. This was then passed through a contour finder using ofxCV, and the x and y location of the first contour in the array of found contours. This is then mapped from the size of the camera’s dimensions (640 by 480) to the full width and height of the window. We added a debug mode which would allow us to see the camera as well as a mode that would allow us to control the graphics through the mouse rather than the tracked dodecahedron.
Here is a link to the project folder:
https://drive.google.com/drive/folders/1DRVG50SwtRa_-QK1co6U2nHCqIJ59ngA?usp=sharing
Here is a video of the final performance:
https://youtu.be/CLiOx6pIhwY
Reflection
Overall, though the whole process was long and time-consuming, it was incredibly rewarding. Working in pairs definitely made the ambitious performance doable and eased the amount of overall stress. This was especially the case when planning and making the hardware, and making tough decisions on the overall performance. We also got really lucky by having Erica Wu as our dancer. Her patience and dedication to our piece, along with her amazing dancing skills really enhanced the piece. In the end, though we were initially intimidated by this final performance, we’re both incredibly happy with how Ananke turned out in the end.



serves to represent the ultimate double-edged nature of technology and social media. Users can fully embrace and be confident in the online tools they use, but at the cost of digital privacy. The performer’s unsuccessful attempt at controlling the sphere symbolizes the fact that the data we offer online is also during most times out of our hands.




