# NOC-S17-1-Physics-Animation **Repository Path**: bit2atom/NOC-S17-1-Physics-Animation ## Basic Information - **Project Name**: NOC-S17-1-Physics-Animation - **Description**: Syllabus for Part 1 of Nature of Code: "Physics and Animation" at ITP Spring 2017 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-29 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README The Nature of Code Part 1 (Spring 2017) ====================================== Syllabus for Part 1 of Nature of Code: "Physics and Animation" at ITP Spring 2017 Class Info ---------- * Daniel Shiffman: daniel.shiffman@nyu.edu * Section 1: Tuesdays, 9:00-11:30am * Section 2: Wednesdays, 9:00-11:30am * [Office Hours](https://itp.nyu.edu/inwiki/Signup/Shiffman) * [Sign up for Mailing List](https://groups.google.com/a/itp.nyu.edu/forum/#!forum/natureofcode) Resources --------- * [All course videos](https://www.youtube.com/user/shiffman/playlists?view=50&sort=dd&shelf_id=6) -- If you would like offline access to the videos and/or just prefer to watch them somewhere other than YouTube, let me know. * [Nature of Code Kadenze Course](https://www.kadenze.com/courses/the-nature-of-code/info) * [Online textbook](http://natureofcode.com/book/) * [p5.js code examples](https://github.com/shiffman/The-Nature-of-Code-Examples-p5.js) * [Processing (Java) code examples](https://github.com/shiffman/The-Nature-of-Code-Examples) * [Other ports](https://github.com/shiffman/The-Nature-of-Code-Examples/blob/master/README.md) * [Further Reading](http://natureofcode.com/book/further-reading/) * Some assignments and materials based on Mimi Yin's [Nature of Code course](https://github.com/mimiyin/Nature-of-Code-S-16/). Related Reading and Watching ---------------------------- * [Coding Math Video Series](http://www.youtube.com/user/codingmath) * [Generative Design with Processing](http://www.amazon.com/gp/product/1616890770/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1616890770&linkCode=as2&tag=natureofcode-20) * [Mathematics and Physics for Programmers](http://www.amazon.com/gp/product/1435457331/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1435457331&linkCode=as2&tag=learniproces-20) * [Computational Beauty of Nature](http://www.amazon.com/gp/product/0262561271/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=0262561271&linkCode=as2&tag=natureofcode-20) * [Form and Code](http://formandcode.com/) Week 1 - Introduction (Jan 24/25) ------------------------------- * Class Intro / Overview * [Related and Past Projects](https://github.com/shiffman/The-Nature-of-Code-S14/wiki/Nature-of-Code-Related-and-Past-Projects) * [Processing](http://www.processing.org), [p5.js](http://p5js.org), or ______________. * Randomness, Probability, and Perlin Noise * [Nature of Code Introduction](http://natureofcode.com/book/introduction/) * [Videos I.1 - I.5](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6YVljJvFRCyRM6mmF5wMPeE) * [p5.js examples](https://github.com/shiffman/The-Nature-of-Code-Examples-p5.js/tree/master/introduction) * Object Oriented Programming Review & Vectors * [Nature of Code Chapter 1](http://natureofcode.com/book/chapter-1-vectors/) * [Videos 1.1 - 1.6](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZwSmtE13iJBcoI-r4y7iEc) * [Processing examples](https://github.com/shiffman/The-Nature-of-Code-Examples/tree/master/chp1_vectors) * [p5.js examples](https://github.com/shiffman/The-Nature-of-Code-Examples-p5.js/tree/master/chp01_vectors) * Assignment * [Sign up for class mailing list](https://groups.google.com/a/itp.nyu.edu/forum/#!forum/natureofcode) * [Assignment](https://github.com/shiffman/NOC-S17-1-Physics-Animation/wiki/Homework-1). * Supplemental Reading * [Mathematics and Physics for Programmers](http://www.amazon.com/gp/product/1584503300/) Chapter 5 * [Computational Beauty of Nature](http://www.amazon.com/gp/product/0262561271/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=0262561271&linkCode=as2&tag=natureofcode-20), Introduction * [Probability Theory](http://www.probabilitytheory.info/) Week 2 - Build a Physics Engine (Jan 31 / Feb 1) ------------------------ * [Nature of Code Chapter 2](http://natureofcode.com/book/chapter-2-forces/) * [Videos 2.1 - 2.6](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZRrqLcQ5BkBKmBLiGD8n4O) * [Processing examples](https://github.com/shiffman/The-Nature-of-Code-Examples/tree/master/chp02_forces) * [p5.js examples](https://github.com/shiffman/The-Nature-of-Code-Examples-p5.js/tree/master/chp02_forces) * [Assignment](https://github.com/shiffman/NOC-S17-1-Physics-Animation/wiki/Homework-2). * Supplemental Reading * [Newtonian Physics, An Online Textbook](http://www.lightandmatter.com/area1book1.html) (This is long, you may find Chapter 4 to be particularly relevant to this week's discussion.) * [The Physics Classroom -- Newton's Laws](http://www.physicsclassroom.com/Class/newtlaws/newtltoc.html) * [Mathematics and Physics for Programmers](http://www.amazon.com/gp/product/1584503300/), Chapters 12 and 14 Week 3 - Oscillation and Particle Systems (Feb 7/8) ------------------------------- * [Nature of Code Chapter 3: Oscillation](http://natureofcode.com/book/chapter-3-oscillation/) * [Nature of Code Chapter 4: Particle Systems](http://natureofcode.com/book/chapter-4-particle-systems/) * Videos 3.1 - 3.5, Videos 4.1 - 4.9 * [p5.js chapter 3 examples](https://github.com/shiffman/The-Nature-of-Code-Examples-p5.js/tree/master/chp03_oscillation) * [p5.js chapter 4 examples](https://github.com/shiffman/The-Nature-of-Code-Examples-p5.js/tree/master/chp04_systems) * [Simple Harmonic Motion by Memo Akten](http://www.memo.tv/simple-harmonic-motion/) * [Demo of Oscillating Movement and Sine Wave](https://www.youtube.com/watch?v=PhvJcVDuJsY#t=55) * Supplemental reading * [Trigonometry, What is it good for?](http://www.phy6.org/stargaze/Strig1.htm) * [Mathematics and Physics for Programmers](http://www.amazon.com/gp/product/1584503300/), Chapter 4 * ["Particle animation and rendering using data parallel computation", Karl Sims](http://doi.acm.org/10.1145/97879.97923) (available via NYU network/proxy) * ["Particle Systems, a Technique for Modeling a Class of Fuzzy Objects", Reeves](http://doi.acm.org/10.1145/357318.357320) (available via NYU network/proxy) * [How my Dog learned Polymorphism](http://www.javaranch.com/campfire/StoryPoly.jsp) * [Particle System API, by David K. McAllister](http://www.siggraph.org/education/materials/HyperGraph/animation/particle.htm) * [Particle Systems by Allen Martin](http://web.cs.wpi.edu/~matt/courses/cs563/talks/psys.html) ms) * [Assignment](https://github.com/shiffman/NOC-S17-1-Physics-Animation/wiki/Homework-3) Week 4 - Autonomous Agents (Feb 14/15) ----------------------------------- * [Nature of Code Chapter 6: Autonomous Agents](http://natureofcode.com/book/chapter-6-autonomous-agents/) * [Videos 6.1 - 6.8](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6YHt0dtyf4uiw8tKOxQLvlW) * [Processing examples](https://github.com/shiffman/The-Nature-of-Code-Examples/tree/master/chp06_agents) * [p5.js examples](https://github.com/shiffman/The-Nature-of-Code-Examples-p5.js/tree/master/chp06_agents) * Supplemental * [Reas Process Compendium](https://vimeo.com/22955812) * [Braitenberg Vehicles](http://books.google.com/books/?id=7KkUAT_q_sQC) * [Craig Reynolds' Steering Behaviors for Autonomous Characters](http://www.red3d.com/cwr/steer/) * [BetterExplained/ Dot Product + Finding The "Normal"](http://betterexplained.com/articles/vector-calculus-understanding-the-dot-product/) * [Finding the closest point on a curve.](http://www.mesacc.edu/~marfv02121/readings/nearest_point/index.html) * [Homework-4: Final Project Start](https://github.com/shiffman/NOC-S17-1-Physics-Animation/wiki/Project-Step-1) Week 5 - Physics Libraries (Friday Feb 24!) --------------------------- * '''Please note the makeup time for this week on Friday, Feb 24''' * '''Both classes will meet in room 50 from 12pm-3pm''' * [Add your questions here](https://github.com/shiffman/NOC-S17-1-Physics-Animation/wiki/Questions:-Steering-and-Physics-Engine) * [Nature of Code Chapter 5: Physics Libraries](http://natureofcode.com/book/chapter-5-physics-libraries/) * Box2D * [Box2D web site](http://box2d.org/) * [Videos 5.1 - 5.12](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6akvoNKE4GAxf6ZeBYoJ4uh) * [Processing examples](https://github.com/shiffman/The-Nature-of-Code-Examples/tree/master/chp05_libraries/box2d) * [p5.js examples](https://github.com/shiffman/The-Nature-of-Code-Examples-p5.js/tree/master/chp05_libraries/box2d-html5) * Toxiclibs * [Videos 5.13 - 5.16](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6akvoNKE4GAxf6ZeBYoJ4uh) * [Processing examples](https://github.com/shiffman/The-Nature-of-Code-Examples/tree/master/chp05_libraries/toxiclibs) * [p5.js examples](https://github.com/shiffman/The-Nature-of-Code-Examples-p5.js/tree/master/chp05_libraries/toxiclibs) * [ToxicLibs](http://toxiclibs.org/) * [ToxicLibs.js](http://haptic-data.com/toxiclibsjs/) * [The Making of Nokia Friends](https://vimeo.com/1472427) * [Advanced Character Physics](http://www.gamasutra.com/resource_guide/20030121/jacobson_pfv.htm) * Bullet * [bRigid Processing Library](http://www.lab-eds.org/bRigid) * [ammo.js Javascript port](https://github.com/kripken/ammo.js/) * [simple 3d box demo](https://github.com/shiffman/The-Nature-of-Code-Examples/tree/master/chp5_physicslibraries/bRigid_jBullet) * Other libraries? Week 6 - Catch-up and Project Workshop (Feb 28 / Mar 1 ) ------------------------------ Week 7 - Project Presentations (Mar 7/8) ------------------------------ Policies ----------------------------------------------- * Submit assignments by the evening before class to the extent possible. * Come prepared with questions. * Put away screens during others' presentations. * Participate! * Document! * Grading: * 40% Class Participation * 40% Quality of assignments * 20% Final project * For a 2-point class, 2 or more unexcused absences is grounds for failure.