Skip to content
jmrdotcom edited this page Feb 19, 2019 · 26 revisions

Reminders

  1. Review week 1 materials
  2. Accept the invite to the class mailing list. If you prefer a different e-mail, let me know.

Assignment - The Random Walk

Using the random walker as a model, develop a program that experiments with motion. Some ideas we talked about in class (and more).

  • Use a random walker to "paint" colors.
  • Try a walk in 3D, see Quantum Cloud for an example.
  • Create a random walker with dynamic probabilities. For example, can you give it a 50% chance of moving in the direction of the mouse?
  • Try using p5.Vector or PVector to create a random "velocity" for the walker. What happens if you vary the length of each step in addition to the direction?
  • Gaussian random walk is defined as one in which the step size (how far the object moves in a given direction) is generated with a normal distribution. Implement this variation of our random walk.
  • Try implementing a self-avoiding walk.
  • Try implement the random walk known as a Levy Flight.
  • Create an array of Walker objects. Try adding a new object when you click the mouse.
  • Use the random walker as a template to simulate some real-world "natural" motion. Can you develop a set of rules for simulating that behavior? Ideas: nervous fly, hopping bunny, slithering snake, etc. Consider the challenge of using minimal visual design, i.e. black and white primitive shapes. Can you give your "being" a personality? Can it express emotions -- happiness, sadness, fear?

Another way of thinking about the assignment is to apply the rules of motion to another medium of expression: sound, color, number, scale...

  • Walk through RGB or HSB space (as opposed to XYZ)
  • Walk through Pan, Amplitude, Pitch (as opposed to XYZ)
  • Plot an "orchestra" of instruments on an XY plane and move a melody through it like: Rite of Spring or Bolero
  • Create a constantly morphing creature shape using createShape() and vertex(). Play with how you change the number of vertices, anchor points.

Instructions

  • Document your work on the web with a short blog post.
  • Link to your source code (e.g. p5.js web editor, GitHub repo, etc.)
  • Try to post by 10am the day of class if at all possible.
  • Add a questions below!

Questions

  • your question here -- your name
    • an answer will appear here

Post your work