-
Notifications
You must be signed in to change notification settings - Fork 3
Assignment 7
TheRocketPlumber edited this page Jan 24, 2016
·
35 revisions
This assignment is not due until Tuesday, Jan 19. However, please note you will also have due that day a final project proposal. Details to come.
- Note that all the "nature of code" materials are written with Processing in mind. However, you can find p5.js versions of all examples here.
- Nature of Code Chapter 1
- Nature of Code Chapter 2
- If you want to try looking at a physics engine like box2d or toxiclibs you might consider reading Chapter 5 as well.
- For more about steering behaviors and complexity, read Chapter 6 from Nature of Code
- 1999 paper "Steering Behaviors for Autonomous Characters by Craig Reynolds
- Computational Beauty of Nature: Introduction
- Computational Beauty of Nature: Chapter 16
- Nature of Code videos if you prefer this over reading.
Try incorporating the concept of vectors and forces into a sketch. Here are some ideas:
- Convert something you did previously to using vectors.
- Simulate motion affecting only the acceleration. Create a formula for calculating a dynamic acceleration, one that changes over time based on any number of factors. What happens if you make more than one object with an array?
- Using forces, simulate a helium-filled balloon floating upward (and bouncing off the top of a window). Can you add a wind force which changes over time, perhaps according to Perlin noise?
- Create an example where instead of objects bouncing off the edge of the wall, an invisible force pushes back on the objects to keep them in the window. Can you weight the force according to how far the object is from an edge, i.e. the closer it is, the stronger the force?
- Use the concept of forces to visualize some input (could be data, literal example would be get windspeed online and translate to a wind force, but feel free to think more abstractly)
- You could also try one of these exercises about steering behaviors
- Implement seeking a moving target, often referred to as “pursuit.“ In this case, your desired velocity won't point towards the object's current location, rather its “future“ location as extrapolated based on its current velocity.
- Create a sketch where a Vehicle's maximum force and maximum speed do not remain constant, but rather vary according to environmental factors.
- Create a flow field based on image data
- Create a flocking simulation where all of the parameters (separation weight, cohesion weight, alignment weight, maximum force, maximum speed) change over time. They could be controlled by Perlin noise or by user interaction.
- Build a creature with many steering behaviors. Think about ways to vary the weights of these behaviors so that you can dial those behaviors up and down, mixing and matching on the fly. How are creatures' initial weights set? What rules drive how the weights change over time?
- Document your process of creating your code sketch.
- Write reactions to the Connected Worlds exhibit. Some ideas to write about (but write about whatever you like!)
- What connections do you see between physics simulation and steering behaviors and the exhibit?
- If you were making connected worlds, how would you go about beginning the project / how would you tackle it or break it down?
- What interactions felt clear/obvious, what were harder to discover?
- What is the role of narrative in the exhibit? Is there a story?
- Did you have any frustrations? Did you understand what was being represented?
- Discuss how the exhibit encourages collaboration amongst the visitors versus moments of individual interaction / play.
- What would you like to see in a "Connected Worlds 2.0"?
- David: [BuzzingParticles] (http://p5ide.herokuapp.com/view/569d540c74aec9030058e2dc), [Blog Post] (http://sa3904.nyuad.im/blog2/2016/01/20/daily-assignments-will-be-missed/)
- Lucas: Underwater Bubbles, Blog Post
- Christos: [Bomber Game] (http://cz930.nyuad.im/physics_homework/), [Blog Post] (http://cz930.nyuad.im/blog/2016/01/19/part-viii-commencing-bombardment/)
- Mounir: [Tanks] (http://p5ide.herokuapp.com/view/569e0b2874aec9030058e355), [Blog Post] (http://mke255.nyuad.im/blog/2016/01/20/connected-worlds-and-a-game-of-tanks/)
- Aadi: [Cannon Game Revised] (http://p5ide.herokuapp.com/view/5699b6a2c036dd0300e2a690), [Blog Post] (http://aj1566.nyuad.im/blog/2016/01/19/homework-7/)
- Rami: [Basket game] (http://p5ide.herokuapp.com/view/5699f689c036dd0300e2a693), [Blog Post] (http://rha257.nyuad.im/blog/index.php/2016/01/17/assignment-7/)
- Tarmo: [Shark in the water] (http://tk1578.nyuad.im/shark_updated/) [Blog Post] (http://tk1578.nyuad.im/blog/2016/01/19/homework-7-connected-worlds-exhibit/)
- Tanya: [Butterfly Jar] (http://p5ide.herokuapp.com/view/569d9df374aec9030058e33a), [Blog Post] (http://tb1561.nyuad.im/blog/2016/01/19/assignment-7-connected-worlds-butterflies-and-a-jar-of-hope/)
- Shantanu: [Bouncing] (http://p5ide.herokuapp.com/view/56a536adfaba490300ace6cb)
- Jin:[Basketball] (http://p5ide.herokuapp.com/view/569d545d74aec9030058e2e4)[Blog Post](http://js8544.nyuad.im/blog/2016/01/19/assignment-7/)
- Himal: [Balloons] (http://thecodeater.github.io/assignment-7-box2d), [Blog Post] (http://hs2973.nyuad.im/blog/2016/01/15/assignment-7-physics-bouncing-balls-updated/)
- Gene: [Snow & Rain] (http://p5ide.herokuapp.com/view/569edfdeb686940300b929a5), [Blog Post] (http://ec2911.nyuad.im/blog/2016/01/19/assignment-7-let-it-snow/)
- Chandan: [vectors] (http://ckm303.nyuad.im/vectors/), [Blog Post] (http://ckm303.nyuad.im/blog/?p=28)