PFA:009-011 – Tutoring

Use this time to work on your project. I will provide one-on-one tutoring.

Also consider using our Slack channel #courses-pfa to talk with fellow students. Ask Matti or other students how to join the mlab team on Slack.

Useful Links

Resources for Students


  • The SMT library for multitouch doesn’t seem to work with Processing 3
  • There might be some way to convert the windows multitouch to TUIO that could be then read in Processing. Check out the TUIO output Bridges section, if any of them work.



  • PixelFlow has great fluid dynamics simulation, if you don’t what to start figuring the math yourself.


  • Processing has a face detection in the openCV library. It can be installed from the library manager.
  • There is also this: Face OSC


  • Create a Bubble class
  • A new bubble should appear when the mouse is pressed
  • The minim library has more options than the default Sound library
  • Maybe the bubble could also be let go and it will burst when it hits the edge of the screen
  • The bubble could have a maximum size where it bursts (you can make the size random)


  • write down on paper what each controller should do
  • figure out what the number of that controller is
  • create a variable for that parameter that it should change
  • connect the input data and the variable together



Lassi H.

  • Use P3D mode, if you want to be able to zoom in/out to details.
  • Might be better to draw the image using beginShape(), endShape(), texture() and vertex()
  • The way to move from one viewpoint to another could be done using something like this:
    • You have variables x, y and z that tell where the “camera” currently is
    • You also have other variables targetX, targetY, targetZ where the position variables will always try to move to.
    • You can also use vectors (PVector) (currentPos, targetPos)

Lassi V.

  • Detecting hitting the walls is a lot more difficult with a spinning object (especially if you use the rotate() command).
  • Instead, rotate the character using sin and cos
  • You could even think of the character as two rotating points that are connected by a line. This way you only need to check the two end points for collision.
  • You will also need to use FloatList to save the values from the FFT analysis
  • A tip: only scroll the background, do not scroll the character. It will be easier to calculate the movements and collision testing. The corridor will scroll on its own because of the way you can dynamically add values to the FloatList.


  • Going from FFT to pitch detection is quite complicated, but there are examples.





  • Sounds like the mask option for images could be useful here
  • Geomerative library could be useful for the glitchy/noisy texts


  • The size of the clearing ellipse probably could use a lot of smoothing or some non-direct relationship to the sound, so that it is not so jumpy