algo

algorithmic animation / parsons 2010

Posts filed under ‘homework’

homework 9 (springs!)

November 15, 2010

a) Using one of the three techniques for fast particle particle interaction, please try to make an interesting interaction (not composition) out of them.  For example, we’ve seen how particle-particle interaction and vector fields can be used, also, we’ve seen how particle particle interaction can be combined with live or prerecorded video.  Make something organic and playful.  No particles as circles, please !!!

b) try using the spring system (springs and springs with internal forces, etc) and combine them with something else we’ve covered, like vector fields, attraction and repulsion, etc.  Can you make something really interesting combing springs and other forces?

c) Take a moment and play with soda constructor.

http://sodaplay.com/

Save a good model and include a screenshot on your homework page.  there is info here:

http://sodaplay.dailyforum.net/viewtopic.php?f=1&t=284
http://sodadome.com/tutorials/
ie,
http://sodadome.com/tutorials/sodaconstructor/springs_and_masses/

d) now, with that inspiration (hopefully) use the spring example with muscles (ie, springs that have their rest length changing) to make a creature that does something interesting.

+ advanced +

e) can you make flocking (or interacting) spring based creatures?

No Comments on homework 9 (springs!)

homework 8

a) combine the vector field and particle-particle interaction in an interesting way.  think, for example, about your particle particle interaction homeworks (or your vector field homeworks) and is there any one there that you’d like to improve?   Make something super interesting.  No circles!

b) take a look at the flocking code, especially changing the parameters relating to flocking (see particle.cpp for the definitions of the radius and strength of the different forces).  Can you make the flocking more interesting?  Find the most interesting parameters (and remember, every particle doesn’t have to have the same values, they can be different) and then work to use this in an interesting composition.  For example, can you include other forces in addition to the flock simulation to make it more interesting?   Don’t forget about the other things you’ve learned, like the point recorder and sin/cos, etc.

extra credit:

c) 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.

No Comments on homework 8

homework 7

October 16, 2010

for your homework, I’d like you to create 3 compositions with the particle particle interaction code.

for one at least, I’d like you combine the vector field and particle-particle interaction in an interesting way.  think, for example, about your particle particle interaction homeworks (or your vector field homeworks) and is there any one there that you’d like to improve?   Make something super interesting.  No circles!

for the others, try to model a natural phenomenon, such as smoke, water, waterfalls, puddles, etc. What interesting combinations of forces can you come up with?

advanced:

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)?

No Comments on homework 7

homework 6

October 6, 2010

a,b,c) Create 3 compositions using the vector field.  These can be interactive or static (meaning, the VF can change or not based on user input) based on input from the mouse, keyboard, or video / camera (as shows in the last example).  Think about drawing and using the particles in an interesting way  (not just circles, but how do draw images, use atan2, etc).   Play with the damping forces inside of the particles.  Make an interesting and unique field for the particles to move on.  Be sure to experiment with turning off the drawing of the field.   If you want to, think of  a “game” based on this.

(advanced)

this is pretty advanced, so no worries, just throwing it out there…

d) I promise this will look good and be interesting…  Convert the vector field into an image, using hsv color –  use the angle of the vector field for the hue (think angle = position on the color wheel), magnitude for brightness, and use full saturation.  Then convert hsv to  rgb info (some transformation routines are available here: here / here) and put that into a pixel array.  Then upload this pixel array into a texture and draw it.  You might need play a bit with the resolution of the vector field (you might need higher res to get a good texture image).    I promise that you will not be disappointed….

No Comments on homework 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

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)

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 herehere

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

No Comments on homework 2

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.