Submerged: Processing Sketch Evolution

We expanded on the code from the second sketch for our visualizations. One of the main qualities we wanted to include in this iteration was the wrapping of the waves underneath the dancer. In order to achieve this, the addition of horizontal springs connecting the nodes was absolutely necessary. The position of the dancer (or in these earlier iterations, the mouse) controlled a repulsion force that would push away the nodes of the springs.

v0withSprings
Visualization system rendered with white springs.

If the springs were stretched far enough, they were not rendered. This provided a base for the dancer to be framed by. The rendering algorithm went through many iterations as seen in the following figures.

2014apr01_a
Visualization system iteration: If spring is too stretched, node is not included in Bezier curve.

Here are two videos of the early system in action, one with springs rendered (to get a better idea of how the system is working) and without.

2014apr01_b
Visualization iteration: if spring is too stretched, use node above or below to continue Bezier curve.

Next, an attraction force was added into the sketch.

v1withAttractionForce
Visualization iteration: External attraction force added.

The system worked as expected; however, we desired more movement from the waves. In order to achieve this, the initialization of the sketch was changed to fix only the furthest left and right nodes, leaving the top and bottom nodes to travel with the force. This allowed more range of movement from the system.

v2withAttractionForce
Visualization iteration: Left and right side of mesh fixed, top and bottom of mesh free.

One force worked smoothly. However, when the second force was added, the mesh would sometimes get tangled up. This would result in undesired spring nodes rendered with the Bezier curve, causing the black void to be covered.

v3withAttractionForces
Visualization iteration: Added second attraction force. Mesh tangles up occasionally over void.

In order to handle these cases, an additional check had to be made. A vector was made between the node analyzed and the previous node included in the Bezier curve. A second vector was made between the node analyzed and the user (or repulsion force) position. If the angle between these two vectors was less than PI/2.0, that spring node was not rendered. This was more effective.

v4withPurg
Final visualization iteration: Added algorithm to handle springs crossing through the middle of the void.

Here is a video demonstration (Note: the screen capture slowed down the frame rate of the actual visual).

Here we are testing out the Processing sketch with the costume!!! I’m super concentrated… I hardly move haha.

Advertisements

Sketch 2: Projection Mapping

Proposal

We were tasked with creating an interactive dance environment with projection mapping for our second sketch of the semester.  We were given a Kinect camera to play with for this project.

While I was busy prepping for the ACDFA Conference, Noemi, Tiffany, and Janelle tested on the projections on the scrim.  They put some videos of sea life on the screen. They really liked how Noemi looked dancing behind the screen with the tentacles, so we decided to base our projection visualizations on that.

130603_jellyfish Seacreatures009

Noemi also has to utilize one of the Laban movements into her choreography. She has chosen to focus on the movement “floating” which is perceived as indirect, sustained, and light.

First Iteration of System

After discussing with my group the desired behavior, I felt like a spring system would be appropriate, with attraction and repulsion force pushing and pulling the nodes. Here is a screenshot of the first iteration of the system. I got good feedback from the group.sketch2init

Tentacle Renderings

I struggled a lot with the rendering of the nodes, mainly because I didn’t want to deviate too much from the tentacle theme our group had decided on. Here are a couple iterations of the system.

tentacles

 

sketch2tentacle2

Tentacles –> Waves????

So, I was pretty unsatisfied with how the visualization with the tentacles were turning out, especially seeing Noemi interact with them on the huge projection screen. But the sketch was due in two days! I decided to deviate from the original tentacle idea, and experimented with different renderings of the system.

By drawing horizontal Bezier curves through the springs, I was able to create a flowy, wave-like pattern which fit perfectly with Noemi’s chosen Laban movement, “float.” I showed it to our group that night, and everyone was on board with the changes!!! It was really interesting how drastically different the two renderings felt, even though it was the same exact system. We played around with various parameters: color, speed, amount of rows. And incorporated some color changes based on the speed of the dancer’s center of mass.

sketch2tentaclewave
System with both the waves and the tentacles rendered, so their connection is obvious.
sketch2waves
Final system with just the waves rendered.

Final Performance Video

Again, forgive the video quality. The camera did not do too well in low light.

Interlude

So, the summer course has been over for more than a week and fall courses have started today.

And because I have been quite horrible at keeping this updated, I will have to go back when I have spare time to post some summer progress work and the final piece (as soon as a high quality video gets uploaded).

Until then, I’m going to start uploading work for the classes I am currently enrolled in! I’d like to get used to documenting my work AS it happens. =]