Semester Project – Jingle Balls

Kamarul, Chou Yi Ting, Josephine Cheah, Chen Danning


Knowing our semester was going to end near the festive season, we wanted to create a project with a festive concept, making it colourful and musical.

When we began working on our project, we wanted to create an interactive environment. We wanted to immerse a person into a world of movable particles that would move based on the person’s movements. We looked at various ways that we could do this such as box2D and jit.phys.

After doing some research, we came across jit.phys patches and were inspired by cycling74’s physics patch a day. We watched their videos and wanted to create an interactive project set in a 3D physics world

.Screen Shot 2014-11-20 at 9.21.20 pmScreen Shot 2014-11-20 at 9.21.21 pm

Initially, we studied their patch and wanted to create musical interactions with the audience by integrating region tracking into the patch. The region tracking would activate a bang, triggering the balls to move up into the air and create a sound.

While we were working on our project, we also explored other methods of interaction and came across a patch that allowed us to use the pictslider to pick up an individual ball to move it around. From here, we decided that to increase immersion into the environment by allowing people to move around in the world as a ball itself to interact with the other balls.

We took this patch and linked it with collisions, having different collisions producing different sounds. We experimented with different sounds and different colours, and in the end, producing our final product. When a ball touches the sides or hit another balls, it will produce a sound, that is similar to the Christmas chimes.

Screen Shot 2014-11-20 at 9.20.17 pmScreen Shot 2014-11-20 at 9.20.19 pm

Looking at the different colours, we felt that the balls looked like Christmas ornaments. Combined with the production of sound, we named out project Jingle Balls, based on the song, Jingle Bells.

Screen Shot 2014-11-21 at 10.43.35 am

Emulation -Laser Graffiti

The reference of  the emulation project is  Graffiti Research Lab.

Initially, we used findbounds to track the colour of the laser light but it did not work well for laser light  but it could be used for object.

Tracking -jit. blobs.centroid. The threshold value is the blob size to track the laser pointer’s size. If the value is bigger than  certain number, it can’t track the dot of the light. Blobs with smaller area than the threshold, value will be rejected.



Calibration -We lifted up the computer’s camera and used jit.rota to zoom in by increasing the x and y.


Projection -use paintoval by adjusting the stroke size and colour. The output is transferred to the mirror screen of Mac, so we could control the patch by the main screen and also watch the output that is being played from the projector.




The most important thing is, blobs.centroid is very sensitive but the most accurate, hence the environment is completely dark. The dimension of the projection must be the same as the dimension of the image that the camera is being received.


By Danning and Yi Ting