homework 6
Take some time and get familiar with soda constructor:
http://en.wikipedia.org/wiki/Soda_Constructor
http://sodaplay.com/creators/soda/items/constructor
http://www.cs4fn.org/alife/starterfor10.html
make a creature.
In code, try to make experiments using vector fields and particle particle interaction.
a) try to model a natural phenomenon, such as smoke, water, waterfalls, puddles, etc. What interesting combinations of forces can you come up with?
b) try to create a game using particle particle interaction or vector fields.
c) design something that affords interaction w/ out using a keyboard and mouse, think about computer vision, sound input or other ways of getting human / gestural input into the system. Think about leaving the screen. Carefully document your experiments.
advanced:
working alone or in a group, can you design an algorithm for FASTER particle particle interaction? It must run at 30 FPS in realtime. Think about how spatial division can help, and how simple things, like sorting can be very effective. I am very happy to help with this.
all the particles now all repel or attract each other with the same radius. Can you make them have different radii, and still get attraction and repulsion working? Can you visualize all the forces that are operating per frame? ie, which particles are within range of each other. Finally, can you make the particle particle interaction fast (see the second example from class)?
homework 5
Non code:
take a video of “real world particles”
see for example, http://vimeo.com/28732551
Code:
(a) create a looping fireworks animation (non interactive). You will need to reset or restart particles every so often.
(and then we’ll figure out how to save this as a screen saver for your mom!)
(b) since you know how to position things in a circle using the formula:
x = x_orig + radius * cos (angle);
y = y_orig + radius * sin (angle);
think about how you could use sinusoidal information to start all the particles with some interesting positions / velocities. Instead of using random, use sinusoidal information (in any way you want) to make the starting positions/velocities of these objects interesting. can you use sin/cos to make the movement or drawing of the particle more interesting?
(c) Besides evidence to the contrary, particles don’t have to be just circles! you can draw them however you want. Can you create an interesting effect with transparency or by using images? Can you use parameters, like velocity to control the way these objects are drawn (like, they get smaller as they slow down, or more transparent, using angle of the velocity to rotate, etc). Think about trying to create a natural phenomenon or make something really nice looking.
advanced:
(d) hook up the drawing code (from the lissajous example) to a particle so that the particle draws a trail of where it has been. see if you can make this trail fade out (like a comet) : ) Use alpha or some other method…
(e) Make a funky, expressive drawing tool with particles.
(f) make a ball droppings clone (see josh nimoy’s version http://balldroppings.com/)
homework 4
this homework is optional, meaning, you can do it if you want and get some extra credit. I strongly recommend you do these optional things, you will get more out of the class and it will challenge you. Please also try to document your solutions by recording a movie – it’ll help your pages and also your classmates.
a) using the point recorder code, create multiple point recorders instead of just one. Every time you draw, create another point recorder. Create a clear function. Can you use these multiple point recorders to create something interesting ? shoot a short video.
b) right now the playback of the point recorder is just one point (at time t), can you create a second point (at time time-1.0, ie time minus one second, for example) as in Scott Snibbe’s motionsketch ? It would be nice to use the total duration to figure out to space out multiple playbacks so they are equally divided.
c) in one example, point recorder is use to control the property of sound synthesis. can you use it to control some other properties of media, like playback position of a movie or opacity of some images? Think about all of the parameters you can get from the playback unit and how you can use them. Make some playful, creative system.
homework 3
a) make a composition using the animation techniques that is a tribute to john whitney. See for example:
profile, info, videos, catalog (made in 1961! non-digital!) , video we watched in class
b) Since we talked in class about this idea of a relationship between sound and visual synthesis (and harmony) find a short piece of music (can be any duration as long as there are multiple notes – a short snippet, or a long song) and make a composition that is a visual equivalent of that sound. Think about how the make a visual equivalent using the techniques we talked about this week. Post both the sound and the resulting animation. Try to bring out some essential truth of the audio through the visualization.
c) try to use sin and cos to emulate a natural phenomenon (ie, something you see in the natural world). be sure to provide some documentation (video / picture / text) of what this phenomenon is.
d) extend the xeno / atan2 code, making a creature which follows the mouse. think of how you could use sinusoidal animation techniques to give the object some “life” – breathing, blinking, etc.
(advanced)
e) since we talked about amplitude modulation in relationship to sin/cos animation, see if you can implement visual equivalents of other synthesis techniques, such as FM synthesis (modulating the carrier frequency) or additive synthesis. Make an interesting composition with what you’ve implemented.
finally, remember: every homework assignment is an opportunity for genius.
homework 2
homework 1
- make a flip book. Please use a “thicker” type sketchbook. I recommend the square sketchbooks from NY Central Art Supply.
- make three recordings (using a handheld camera that’s sationary) of three different scenes which have interesting motion. Pick one point to watch during the video, and sketch out it’s motion path. Try to find both rhythmic (repetitive) and organic motions.
- draw your name using openframeworks. upload a screenshot of your app, and a zip of the source code or project.
