Concept
The concept for my code was heavily inspired by the lighting and sound installation NOWISWHENWEARE by Andrew Schneider. After witnessing his installation multiple times over the last two weeks, I was inspired to create a floating grid that encapsulates the feeling of stars in the same way his installation did. While creating the animation, I was also reminded of and inspired by the early prototype computer graphics made by NASA and connected the imagery of a rotating space shuttle (I can’t remember which documentary I had watched it on) to the grid with sparkling stars.
After the rotating box was set, the sparkling stars were meant to represent the floating LED lights in Schneider’s installation. A constantly changing background hue was added to add dynamics, as well as a vintage, spacey color palette.
Highlight
for (let i = 0; i < numSpheres; i++) { x = random(-boxSize, boxSize); y = random(-boxSize, boxSize); z = random(-boxSize, boxSize); push(); translate(x, y, z); sphere(boxSize / 500); pop(); }
The highlight of the code, besides using the bouncing ball logic to change the background color, was creating the sparkling stars.
Using the aforementioned for loop in a WEBGL environment, I was able to instantiate a 3D grid of random sparkling stars.
Using push pop and translate functionality, I was able to save and restore values for each sphere on the grid. This allowed them to stay within the constraints of -boxSize to +boxSize, creating the illusion of being suspended in the box itself.
Reflection
I would love to add sounds to the animation, much like Andrew Schneider’s installation. Implementing a mouseX functionality that acts like the lanyard beeper present during guided tours would be a great next step to make dynamic changes in the 3D grid itself. Honestly, creating a 3D projection of this would be great as well, but I have no idea how to do that yet.