Wednesday 25 May 2011

Project 3 Ideas and development

The idea that I have gone with for Project 3 - The Exhibition is my third one...

I will build a model to metaphorically show Encapsulation. The model will be in 'two parts' split down the middle.

I want an input - a ping pong ball and an output - other holes which the ping pong ball will drop out of. Inside the box will be some paths that determine where the ball comes out of...

The way to show encapsulation through this is that the paths are hidden from the 'user'. The side that the person will drop the ball into will be wood/tape so that the inside of the box will not be able to be seen from that side.

On the other side people can look into the box and see the inside and therefore see how it works.

----------------------------------Development----------------------------------

I had a thought that with encapsulation the handy thing is that the programmer can jump in and fiddle with the program without the user knowing.. To show this in my metaphor the side that is open to viewing I will have a few paths there that can be changed by people. but still on the otherside the 'user' has no clue that something has been changed therefore the output can randomly change without them knowing how.

Wednesday 13 April 2011

Sorted

Got the sound to work properly now. The problem was the gain and the reduceAmp method.

Here it is:

http://www.openprocessing.org/visuals/?visualID=26891

hold down left mouse button to create balls.
right click on a ball to explode it.

More Problems and More Development

Problems:

-Hooray, I got the sound to turn off. But now it rarely turns on. It turns on on the first bounce but seldom after that. No idea why this is happening. Will have to quickly work it out.
-The program is only moderately entertaining and, much worse, is not really transforming anything but the screen. This is solved further down the post.
-The Arrays were annoying me so I made them ArrayLists. Easier to add things and can remove things at will. Brilliant.
-Too many sounds. Solution, reduce the number of possible sounds from 100 to 8.

Developments:

-Big Balls. We need larger balls on the screen. The current ones are too small and boring. So I made the balls bigger.
- Color, increased the range of possible colors and reduced the overall 'blueness'. some of the balls were getting too dark to see well against the black background.
-Interactivity. The program lacks more advanced interactivity and transformation. Cue my great(ish) idea:

My Idea:

-To add more fun and pure awesomeness to my program I now have larger balls. (But they were being added to the screen so fast it was ridiculous. So I created a delay to when they should be added to the screen. But now when you right click on them they explode into smaller balls. This adds not only more interactivity to the program but adds more transformation, which is what the project is all about.

Where to now?

-Fixing the sound problem. Then we are all done.

Saturday 9 April 2011

Another session down. This one was filled with me trying to get the sound added to the program. Ran into a few bumps along the way. I have got the sound being created but i can't get it to stop. So once about 10 balls have bounced it just sounds awful. Ben said I should look at making an array of Oscillators rather then having the program create a new sound every time a ball bounces. This is an excellent idea and will begin to look into this.

Also chatted to Luke about the color and we both agree that a muted palette of colors looks nicer then just random colors.

Tuesday 5 April 2011

Further Developments

After another chat with Ben, Ive thought about the following things

-Adding color: I want some neutral colors for the balls, maybe blue or something similar. I don't want to use random number generator for each color as it would look awful. I'm thinking along the lines of connecting the color choice to either the changeY variable or the changeX variable. Maybe not the changeY as that changes over time.

-Adding sound: When the balls bounce on the bottom of the screen I want a generated sound to occur. Having the same sound each time could get boring and repetitive, not to mention that if there are lots of balls bouncing at the same time it would sound bad. Ben suggested maybe looking at connecting the pitch to the velocity that the balls is travelling at that time. I shall look into this more.

Monday 4 April 2011

Where to now?

So after a few hours of thinking and looking around. Ive gone back to my ball game. Not the game itself but just the general principles of it. I have removed the line element to it and made the balls appear from the mouse positions (also giving them a changeX value, allowing them sideways movement), adding a new level of interactivity. From here I will develop sound and more elements into the original idea to make the whole thing more interesting.

Some more Ideas

After todays lecture with Ben and Fridays Interim, I have had some thought about how I can add more interaction and make the program more exciting for the user. This is causing plenty of problems as I cant seem to get passed the original idea. The only things I can think of are either using particles which move 'somehow' when the wave is created, or interacting with the wave in general. I will have a look for some inspiration on Open Processing today and try and develop this idea more. If all else fails I can go back to square one and start again.

Beginning Ideas for Project 2

My first ideas for project two were inspired from a guitar. I wanted to have 6 lines or 'strings' across the screen and if you clicked on them they would vibrate in a sine wave pattern and give of a sound depending on the wavelength of the wave generated.

This was too literal for this project so I took the idea which I liked the most. This was the sine wave part. I developed this by removing the 6 strings. Adding more interaction was tricky, but I thought about adding a function where you clicked and dragged the mouse it would create a line at those points. Then when clicked on it would vibrate with a wave and again release a sound depending on the wavelength and the lines length.

Thursday 24 March 2011

Expanding circles thing

Heres a little fun game thing I made during class today.

Click to create a circle which pulsates in and out.

Not much to it but its fun to look at.

http://www.openprocessing.org/visuals/?visualID=25331

Sunday 20 March 2011

3 of the four panels were done when I hit a roadblock. I didnt think that the last one (the orange one) really worked well with the other three. Me and luke had a chat and I decided to drop it. I then began to program a more complex one which took a lot of debugging =(  Im really happy with the new one as it fits in a lot better with the rest of the set.
The four panels below are scans of the ones from my presentation. They are each a different color and a different illusion. The main connection between the four is that they are based on very simple geometrical shapes. The advice I got back from the tutors was good and helpful. A better way to tie them together would be to make them the same color but varying in shades. This sounded like a great plan so I went ahead and began to program them using processing.


First thoughts on Wallpaper project

I wanted to create a set of four wallpapers based around squares. The ideas mainly came from Ben's lecture in which he used overlapping squares to create patterns. I originally wanted to make objects or shapes apear without drawing them. This would be done by changing the opacity of the square to appear like 3d shapes. I then developed into optical illusions based around squares and 3d forms.

Monday 7 March 2011

Just tried to create a program using my knowledge from last year.
The idea was that a circle would increase in diameter until a certain point then reduce in diameter and repeat.
Very simple stuff.
Then I tried to add an new function that anytime the mouse is clicked it creates a new circle where the mouse was clicked and adds this to an array of circles.
The idea would be to have multiple circles on the screen moving in and out whilst changing colors all at the same time.
However, it would seem that 4-6 months away from proper programming has delt me a blow and I cant bloody remember how to do anything interactive.
Back to square one for me.

Locky.

Changing other peoples sketches

I was playing around with BlueThen's wavy Processing sketch, seeing what I could do with it. I found out where the color was being changed and fiddled around with it creating different colors everytime the blocks go up or down.

Changing things like fill(4 + y * 0.05);
to fill(4 + y * 0.05,0,255); and differnet varients you can come up with some amazing colors.

Next up something a little more complicated.


Locky.
 

Friday 4 March 2011

And the last, 4th pattern.
This is easily my favourite of the four. This one I tried to take the repetition idea and play around with it. By drawing images outside of the initial box, when repeated they would cross over and do something crazy. And, it worked. By drawing multiple ellipses and repeating them inside of the repeated area I found the pattern boring and plain. By letting them overlap they created a pattern of curved crosses which is really amazing.


http://www.openprocessing.org/visuals/?visualID=22427



for(int i=0; i<75; i=i+4){
    noFill();
    ellipse(25,25,i,i);
     
  }

The code is once again really really simple, but the simplest of things done correctly make great patterns.

Locky.
Heres the 3rd pattern. This one is similar to the previous one in that there is a lot happening at second glance.
When I first created it I didn't think much of it but the more I looked at it the more I saw. It can seems as a series of black dots or a 3-d pattern of pyramid tops. My favourite way of looking at it is to perceive the black spaces as providing depth to the image. You can see the light spaces creating a cylindrical crossroads. I find this staggering as another simple loop and basic line pattern creates so many different interpretations.


for(int i=0; i<50; i=i+4){
    line(25,25,i,0);
    line(25,25,50,i);
    line(25,25,0,i);
    line(25,25,i,50);
     
  }
The use of lines beginning at the centre of the repetition helps develop the idea of depth within the image. 

Locky.