algo

algorithmic animation / parsons 2010

code from class 6

October 6, 2010

here’s vector fields + particles, and some basic particle attraction / repulsion from a point code.   have fun!   algo_week6

No Comments on code from class 6

homework 5

September 29, 2010

(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 sarting 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.

No Comments on homework 5

code from class 5

here’s code from week 5 — individual particles, multiple particles, drawing with particles and bounce of the walls:  algo_week5

No Comments on code from class 5

homework 4 (optional)

September 24, 2010

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 insted 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.

No Comments on homework 4 (optional)

code from class 4

September 22, 2010

here’s code we went over in class 4 (recoding gesture + time, and creating timed playback):    algo_week4

No Comments on code from class 4

homework 3

September 15, 2010

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.

1 Comment on homework 3

code from class 3

here’s the sin / cos code we went over, including point recording, lisajous, multiple circles, and atan2 for the xeno example:

algo_week3

have fun!

No Comments on code from class 3

homework 2

September 8, 2010

animation experiment:

Based on the work of Robin Roades, make an animation with still images.  If you can, cross fade between them.  Can you tell a story with just a few frames?  Think especially of using people and or mixing scales.   Don’t doctor the images, and keep the camera stationary.

code:

a) fastest non moving speed

find the fastest speed for the square to move across the screen and have the motion be imperceptible. Time how long it takes for the square to move across the screen and measure the physical (not pixel) distance. What is this speed in inches/second ? for kicks, What is it in in mph?

b) fastest still perceptible speed

find the fastest speed for the square to move across the screen and have the motion be still perceived as continuous (not discrete jumps). Time how long it takes for the square to move across the screen and measure the physical (not pixel) distance. What is this speed in inches/second ? What is this rate in mph?

c) click to change pta and ptb

make an application where whenever you click, you change either the ptA position or the ptB position to the mouse position, alternating every time you click.

d) shaper controlls something else besides position

Make the shape code control another property of the object, such as its size or color.  Make the nicest composition that you can.  Try to make it elegant and organic.

(for the xeno code)

e) multiple xenos

make a series of xeno objects which follow the mouse, each at different rates. give them slightly different colors so that you can perceive them as independent objects.   you will have to modify the rectangle object so that they can have unique colors.

+

bonus homeworks

f) multiple xenos trail

If you are really feeling like showing off, make an array of xeno objects where the first element follows the mouse, the second element follows the first, the third follows the second, etc.

g) shapers via penner

in class, we used powf to shape a linear signal.  there are more advanced ways to do this (for easing and out, and for snap to, etc).  Some of these have been collected by robert penner as “easing equations”.  some folks have ported this from AS to c++, you can find them here & here

try to hook them up and make a compelling composition with linear and nonlinear animating elements.

No Comments on homework 2

code from class 2

code we went over in class (interpolation, powf to shape, xeno):

algo_week2

homework 1

  1. make a flip book.  Please use a “thicker” type sketchbook.  I recommend the square sketchbooks from NY Central Art Supply.
  2. 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.
  3. draw your name using openframeworks.  upload a screenshot of your app, and a zip of the source code or project.