For each module, I will provide written and video tutorials on the topics. You can review whichever format suits you best. If the amount feels overwhelming, please reach out and we can help you narrow things down, and select a subset of the material to focus an exercise around. It's a lot!
- 📗 Chapter 3: Oscillation
- 🚂 3.1 Angles and Rotation - 11 min
- 🚂 3.2 Angular Motion - 10 min
- 🚂 3.3 Angles and Vectors - 10 min
- 🚂 3.4 Polar Coordinates - 16 min
- 🚂 3.5 Simple Harmonic Motion - 12 min
- 🚂 3.6 Graphing Sine Wave - 10 min
- 🚂 3.7 Additive Waves - 13 min
- Memo Akten, Simple Harmonic Motion
- Mimi Yin and Guang Zhu, Beluga
- BAI/摆:An Oscillating Sound Installation
For each module, I will provide a list of additional video tutorials and readings that you may draw on for further exploration. It's unlikely you would be able to consume everything in one week and if you are looking for guidance about what might fit with your interests and learning style the most, please reach out.
- 🚂 Pendulum Challenge - 22 min
- 🚂 Spring Forces Challenge - 32 min
- 🚂 Mathematical Rose Patterns - 12 min
- 🚂 LissaJous Curve Table - 27 min
- 🚂 Times Tables and the Cardioid - 17 min
- 🎥 But what is the Fourier series? by 3Blue1Brown - 24 min
- 🚂 Fourier Series p5.js - 28 min
- 🚂 Fourier Transform: Drawing with Epicycles - 3 parts, 1 hour, 30 minutes
- 🎥 But what is the Fourier Transform? A visual introduction by 3Blue1Brown - 20 min
- 💻 Nature of Code Chapter 3 Book Example Collection
- 💻 Nature of Code Chapter 3 Video Example Collection
- 💻 Pendulum and Spring Collection
- 💻 Polar Coordinate Collection
- 💻 Fourier Series/Transform Collection
The idea for this week is to use trigonometric functions and/or oscillating motion in a sketch. This is a very loose constraint and you should feel free to design your own exercise or pick from below. Don't hesitate to sketch your idea out on paper first and document in a blog post.
- Design a creature with oscillating parts (legs, wings, antennae, etc.) Consider tying the speed of oscillation to the speed of the creature's linear motion. Can you make it appear that the creature's internal mechanics (oscillation) drive its locomotion? Here is an extra video about the oscillation exercise and along with the oscillation exercise code.
- You can use polar coordinates a variety of patterns derived from the points along the contours of a circle. Visualize your own pattern. Feel free to start from any of these polar coordinate examples.
- You might also google "parametric equations" to find one not in the examples above like this heart curve.
- Create a simulation where objects are shot out of a cannon. Each object should experience a sudden force when shot (just once) as well as gravity (always present). Add rotation to the object to model its spin as its shot from the cannon. How realistic can you make it look? example cannon solution
- Create a simulation of a vehicle that you can drive around the screen using the arrow keys: left arrow accelerates the car to the left, right to the right. The car should point in the direction it is currently moving. You might also try to model the ship from the game asteroids! Asteroids Solution
- Visualize an array of pendulums. For a start, here is an example multi-pendulum visualization along with live stream archive.
- You can also learn about the math behind a double pendulum simulation.
- Create a system of connected particles and springs.
- Oscillating colors? sizes? number of elements on the screen?
- Use oscillation to control the timing of events on the screen: sounds, the appearance and disappearance of elements.
- Create polyrhythms with different oscillating patterns that come in and out of phase with each other.
- Create oscillating pitch patterns in sound.
- Oscillate playback position or speed of a video.
- Document your work on the web with a short blog post. Here are some guiding questions if you are not sure what to write about:
- What did you originally intend to create?
- Narrate the process of creating your sketch.
- What resources and examples did you draw on to create your sketch? What was most helpful / least helpful from this week’s materials.
- What problems/discoveries did you encounter along the way?
- Submit a link to your blog post to the course wiki.
The following emoji key will hopefully help you navigate the material for each module.
- 🚂 Video tutorial from Coding Train
- 🎥 Other video tutorial
- 📗 Nature of Code book
- 📕 Other reading
- 💻 Code examples
- 🎨 Creative project references