Monday, January 30, 2012

Week 4: Demos and Group Forming

For this week we are going over lab patch examples to finish "computer vision" examples.



The main portion of this lab is dedicated to team forming and starting Sketch 1 which will be presented on Monday, Feb 6th.

Sketch 1: Responsive Environment Design

Using a camera as a sensor and using a screen and stereo speakers as an output.

Research needed:
- previous projects similar to this
- other sources and influences

Monday, January 23, 2012

Week 3: Update

This weeks focus has been to create a movie player that you can control through a webcam, as well as being able to change the frame rate, colour exposure and distortion of the image on screen.

First we created the basic movie player:



moving on to have multiple screens that allow us to access the computers built in camera, change the RGB preference and changing the planes of the video.



next patch created allowed us to play a video in one of the following planes or colour values: Red, Green or Blue:



Continuing from here, we now add centroids to our MAX patch, finding the centre of mass of an object in the playing video. There are a matrix of points that create the movie. The dark values create a blob or centroid. Centroids will calculate the centre of this blob.

By adding in buckets and equations we can calculate the speed of the object in the specified space.



As final product, we were to create a patch of a bouncing ball, which is controlled by the blob detection system of your hand moving in front of a camera. Once this has been completed I will post more on my experiences with this patch!

Monday, January 16, 2012

Week 2: Introduction to MAX5

Welcome to our introductory lab on MAX5.

Today's lab was a complete introduction to learning the functions of MAX and the interface.

We started off todays creating a simple project:

- adding two intergers using an object stating addition
- adding floating point numbers using an object stating addition

*notice that when you change the right operand, the outcome does not change, you must change the left operand in order for MAX to create a new out put*

We next went to more of a challenge creating an application that would play video.
- start by creating an object for jit.pwindow, this will give you a screen
- another object for jit.qt.movie will allow you to play a quicktime movie.
- 'Message' will act like a button once you lock the patcher. It will open a file folder allowing you to search for playable movie files.
- metro will send a signal to the video player (ie metro 33 will send the signal every 33 miliseconds)
- use a toggle to turn the video (metro) on and off
- create two buttons "start" and "stop"
- the start and stop button will control the actual movie playing, while the toggle will turn off the display
- new button "rate $1" means use the first input given to this object. This dictates the pace of the playback. If it is a positive number, the movie will play faster. If negative number, the movie will play in reverse.

Think of this setup as your TV along with DVD player.
- the Metro and toggle are your TV, controlling the movie player screen.
- the Start, Stop and Rate are your DVD player, controlling the rate of play of the actual movie file.


Animating a bouncing ball
- object for jit.lcd says "lcd display"
- 4 char plane colours,
- 320 240 are the dimensions of the display
- add a video player, metronome and toggle.
- brgb - background colour
- frgb - fore ground colour
- by adding in integers you can change the size and shape of your oval






by adding in another counter to the side we were able to control the boundaries where the ball would bounce off.



by adding the float number you are able to control the speed of the bouncing ball



This lab allowed us to gain an understanding of a new progam language that we will be using throughout the semester to create different body interface designs.

Introduction

Greetings!

Welcome to IAT 320: Body Interface Design. This is going to be an exciting semester, with plenty going on.

This blog will be updated every Tuesday so please check back to see what's new!