AssignmentCreate a mirror that distorts or re-architects the body to move in new and unexpected ways.

Group: NiNi, Meicheng, Carley, Mary


Concept: Using WEBGL in p5.js, we created 3D spheres that are mapped to different points of the body. The spheres change size depending on the distance from the sensor. It is also possible to going into the code and change the points of the body that spheres correspond to and the magnitude of size change. It’s particularly interesting to invert the direction of the size change (ie, a sphere attached to the Right Elbow gets bigger as it gets farther away from the sensor while a sphere attached to the Left Foot gets bigger as it gets closer).

–> See the code in the online p5.js editor here. (See here for directions on connecting a p5.js sketch to Kinectron.)

Issues: Currently, the sketch is very laggy and the spheres jump around a lot.

Solutions: We played around with changing the spheres to 2D ellipses and that reduced the load on the program. It changed the feel of the piece completely so that now the circles are drawn onto the screen as opposed to a free floating sphere.

I may also be able to adapt the Processing code here that averages out the measure of depth in order to reduce jumpiness:

//Depth distance thresholds
int maxD = 1500; // 4.5m
int minD = 500; // 0m

// Arraylists to average closest/farthest points over time to make it less jumpy
ArrayListclosests = new ArrayList();
ArrayListfarthests = new ArrayList();

public void draw() {

// Start with the farthest point possible
PVector closestPoint = new PVector(0, 0, maxD);

// Start with the closest point possible
PVector farthestPoint = new PVector(0, 0, minD);

// Store converted points
ArrayListpoints = new ArrayList();

–> See the 2D version here.


March 20, 2018