Monday, January 4, 2010

Reflection of Interactive Media in IC

In Interactive Media Design this semester, we’ve worked with the processing tool for software as well as an arduino for hardware. The course enabled me to gain much insight about how software can be translated into hardware. The simple, yet powerful device has shown me the possibilities of the interaction between hardware and software through a series of tasks that we’ve practiced during our labs.
In the first week, we were assigned a seemingly simple task. We were told to simulate a geometric drawing, using only the processing software. I came across many difficulties trying to get the right coordinates and I felt restricted, since I’m used to designing and drawing with Adobe Photoshop. In this practice, I learned to use simple commands such as rect(); fill(); background(); etc, I was able to create the simple geometric image, which consists of thick lines, and colored rectangles. I have faced a number of challenges during this process of coding. For example, after I already created all the lines and parameters, I realized my image was too small, so I had to increase the size of the image, and recalculate all the dimensions of my lines. It was also a challenge to create the exact size for each and every rectangle apparent in my image file. The code above shows the process I used to create the above image.
As we progressed through this course, I’ve learnt to make my programs interact with the cursor. For example we first created a pattern of eyeballs on the screen. Then, we were told to make the pupils of the eye move along with the mouse, however the user defined the location. In this practice I’ve learned how a more interactive program can be beneficial for all users.
As we progressed through the semester, we many more interactive programs with processing, such as a paint/drawing application as well as a program to animate any given picture. For a kind of quiz, we were asked to create a fan, and we learned the rotating function and how it applies to the objects we draw. First we created lines to draw a grid for the squares. Then we drew three squares with different colors that are rotated evenly in the frame. Afterwards, we created an animation to simulate a fan motion. I got a little more creative with the process and made the fan increase it's velocity over time, and increased in size over time as well. Using the mode function, we I was able to make the rotating fan increase in velocity and size, and then after a condition - decrease in velocity and size as well.
For our final project, we were asked to do a task that I thought was impossible to do in the given time constraint – to create a game. At first I had many ideas in my head which I discussed with my partner, Josue. Then we scratched out all those ideas realizing how hard it actually was to create. Finally, we settled on creating an interactive synthesizer, or piano keyboard where the user could press any key on the keyboard which would output a specific tone.
In the last days of our course, we combined the arduino to the processing program to create interaction between software and hardware. For example, hovering a mouse over the processing program would execute the light connected to the arduino board to turn on. For our final project, we created a game controller out of the arduino board using only dials – one dial would control the movement of left and right, while another dial would control the movement of up and down. Using this code, we could apply the controlling mechanism for any program that allowed a movement interaction.
The Interactive Media Design course has been a breath of fresh air for me, since we were actually able to gain practical knowledge through our labs, instead of lectures after lectures that I have to sit through for every other class in Ming Chuan. This has been one of my favorite classes in the three years that I’ve been studying in Ming Chuan, and I hope other classes may adapt to becoming more “interactive” as well.

No comments:

Post a Comment