Kaleidoscope : Final Presentation
From Physical Programming
Contents |
Before the Kaleidoscope...
Project Monster[[1]]
My initial concept for the emergent project was to do the 'Project Monster'. Creating a grid based application and see the monsters inside move around and interact with each other. Each character would be able to store 'Social Points' so it would know which one it prefers to socialize with. In this stage, I made
BUT...It wasn't really emergent and way too hard for me T-T
So~!!!
I tried something else...At this point I decided to just play around with Processing and made another program.
- Morphing Ball[[5]]
With the experiment of how the coordinates change colors of the ball, I thought that it's quite emergent and went with that idea.
Emergence Kaleidoscope...
' A kaleidoscope is a tube of mirrors containing loose colored beads, pebbles or other small colored objects. The viewer looks in one end and light enters the other end, reflecting off the mirrors. '
I chose to work on this concept because I find that the Kaleidoscope is a simple toy, yet it produces quite amazing results. The images we can see inside are never the same. With just simple action of rotating the tube, it gives a new result already. And with Processing, I should be able to create colorful and interesting patterns with a similar simple interaction of drawing with the mouse.
So I started by researching about Kaleidoscope...because I didn't really know how it works. Here are some useful resources
- Wikipedia : Kaleidoscope[[6]]
- How to make a Kaleidoscope[[7]]
- Kaleidoscope mirror design by Wayne Schmidt[[8]]
- Kaleidoscope Mirror System[[9]]
And a similar project
- Kaleidoscope Painter[[10]]
The Program...
First Version
After I 'kind of' understand how it works, I started working on Processing. My first version of the Kaleidoscope was this[[11]] which basically just making 1 triangle with SYMMETRICAL objects inside.
The reason it has to be symmetrical because this program does not work like real kaleidoscope. Instead of REFLECTING the object inside, I just DUPLICATE the triangle and ROTATE them around to make the patterns. At this point I was manage to do all the modes of different mirrors angles.
Second Version
Then, I concentrated on the movements and color changing of the objects inside. I used ellipses because they are symmetrical. Putting in the relationship how the coordinates of the mouse affect on movements and the colors.
Third Version
It's pretty much finished at this point because I got the core system running. I could move the ellipses and change the colors by moving the mouse around. But I wanted to add something more, so I played with Alpha value of the color and love the results ^^ So I added more functions here including the 'save'. So it was the version beta1.0[[12]]
++ After the mid-sem presentation, I changed the 'size' so that it would be all screen instead of just going 500x500 pixel.
Final Version
This's shorten by Scott. It changes the method of running the program a bit, but still works nicely~[[13]]
The Outcomes...
Here's the kaleidoscope program, feel free to download ^^
So, not only that I have learned how to use a new program like Processing, I also got to understand the syntax of Java which would be very useful because I'll be using Arduino for my Major Project. Moreover, since I've been in this class, when I try to work on something, I always think in a flowchart image. It's quite useful because it clarifies what I want to do and make the process easier to understand. But hopefully, I won't be thinking like a robot . . .


