Uploaded February 2021 | Updated September 2026, 2 weeks ago
Boing! Time to simulate a spring force! This challenge fits into chapters 2 and 3 of the Nature of Code and demonstrates how to simulate the oscillating motion of a spring using vectors and forces. thecodingtrain.com/challenges/160-spring-forces
p5.js Web Editor Sketches:
πΉοΈ Simple Spring: editor.p5js.org/codingtrain/sketches/dcd6-2mWa
πΉοΈ Spring Vector: editor.p5js.org/codingtrain/sketches/_A2pm_SSg
πΉοΈ Spring OOP: editor.p5js.org/codingtrain/sketches/9BAoEn4Po
πΉοΈ Soft Spring: editor.p5js.org/codingtrain/sketches/S5dY7qjxP
π₯ Previous Coding Challenge: youtu.be/NBWMtlbbOag?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
π₯ All Coding Challenges: youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
π₯ Previous Nature of Code Video: youtube.com/watch?v=NBWMtlbbOag&list=PLRqwX-V7Uu6ZV4yEcW3uDwOgGXKUUsPOM
π₯ Next Nature of Code Video: youtube.com/watch?v=syR0klfncCk&list=PLRqwX-V7Uu6ZV4yEcW3uDwOgGXKUUsPOM
π₯ All Nature of Code Videos: youtube.com/playlist?list=PLRqwX-V7Uu6ZV4yEcW3uDwOgGXKUUsPOM
Links discussed in this video:
π Nature of Code 3.10 Spring Forces: natureofcode.com/book/chapter-3-oscillation/index.html#310-spring-forces
π Nature of Code Playlist: thecodingtrain.com/learning/nature-of-code/index
π toxiclibs.js: haptic-data.com/toxiclibsjs
π curveVertex() (p5.js Reference): p5js.org/reference/#/p5/curveVertex
Other videos mentioned in this video:
π₯ Texturing Cloth Simulation - Coding Challenge #63: youtu.be/JunJzIe0hEo
π₯ Simple Particle System - Coding Challenge #78: youtu.be/UcdigVaIYAk
Timestamps:
0:00 Choo choo!! Springs Coding Challenge!
0:40 Explain! What is Hooke's Law?
2:51 Code! Let's make a 1 dimensional spring!
5:13 Explain! How can we bring in vectors?
7:17 Code! Let's adjust the code to use vectors.
11:57 Code! Let's add gravity!
13:03 Code! How can we control the spring with our mouse?
13:53 Explain! But wait!! Particles!
15:14 Copy & Paste! A particle class.
16:41 Code! Let's make bob and anchor particles.
18:01 Code! We need a spring class.
21:32 Debug! What is missing?
23:16 It works!
24:16 Code! But wait!! Particle system!
25:28 Code! Let's connect the particles with springs.
27:12 Code! We can refine it a bit.
29:29 Code! Playing with beginShape() and endShape().
31:07 Ideas! If you make a swishy robot share it with me!
π Website: thecodingtrain.com
πΎ Share Your Creation! thecodingtrain.com/Guides/community-contribution-guide.html
π© Suggest Topics: github.com/CodingTrain/Rainbow-Topics
π‘ GitHub: github.com/CodingTrain
π¬ Discord: discord.gg/hPuGy2g
π Membership: youtube.com/thecodingtrain/join
π Store: standard.tv/codingtrain
π Books: amazon.com/shop/thecodingtrain
ποΈ Twitter: twitter.com/thecodingtrain
πΈ Instagram: instagram.com/the.coding.train
π₯ Coding Challenges: youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
π₯ Intro to Programming: youtube.com/playlist?list=PLRqwX-V7Uu6Zy51Q-x9tMWIv9cueOFTFA
π p5.js: p5js.org
π p5.js Web Editor: editor.p5js.org
π Processing: processing.org
π Code of Conduct: github.com/CodingTrain/Code-of-Conduct
Boing! Time to simulate a spring force! This challenge fits into chapters 2 and 3 of the Nature of Code and demonstrates how to simulate the oscillating motion of a spring using vectors and forces. thecodingtrain.com/challenges/160-spring-forces
p5.js Web Editor Sketches:
πΉοΈ Simple Spring: editor.p5js.org/codingtrain/sketches/dcd6-2mWa
πΉοΈ Spring Vector: editor.p5js.org/codingtrain/sketches/_A2pm_SSg
πΉοΈ Spring OOP: editor.p5js.org/codingtrain/sketches/9BAoEn4Po
πΉοΈ Soft Spring: editor.p5js.org/codingtrain/sketches/S5dY7qjxP
π₯ Previous Coding Challenge: youtu.be/NBWMtlbbOag?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
π₯ All Coding Challenges: youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
π₯ Previous Nature of Code Video: youtube.com/watch?v=NBWMtlbbOag&list=PLRqwX-V7Uu6ZV4yEcW3uDwOgGXKUUsPOM
π₯ Next Nature of Code Video: youtube.com/watch?v=syR0klfncCk&list=PLRqwX-V7Uu6ZV4yEcW3uDwOgGXKUUsPOM
π₯ All Nature of Code Videos: youtube.com/playlist?list=PLRqwX-V7Uu6ZV4yEcW3uDwOgGXKUUsPOM
Links discussed in this video:
π Nature of Code 3.10 Spring Forces: natureofcode.com/book/chapter-3-oscillation/index.html#310-spring-forces
π Nature of Code Playlist: thecodingtrain.com/learning/nature-of-code/index
π toxiclibs.js: haptic-data.com/toxiclibsjs
π curveVertex() (p5.js Reference): p5js.org/reference/#/p5/curveVertex
Other videos mentioned in this video:
π₯ Texturing Cloth Simulation - Coding Challenge #63: youtu.be/JunJzIe0hEo
π₯ Simple Particle System - Coding Challenge #78: youtu.be/UcdigVaIYAk
Timestamps:
0:00 Choo choo!! Springs Coding Challenge!
0:40 Explain! What is Hooke's Law?
2:51 Code! Let's make a 1 dimensional spring!
5:13 Explain! How can we bring in vectors?
7:17 Code! Let's adjust the code to use vectors.
11:57 Code! Let's add gravity!
13:03 Code! How can we control the spring with our mouse?
13:53 Explain! But wait!! Particles!
15:14 Copy & Paste! A particle class.
16:41 Code! Let's make bob and anchor particles.
18:01 Code! We need a spring class.
21:32 Debug! What is missing?
23:16 It works!
24:16 Code! But wait!! Particle system!
25:28 Code! Let's connect the particles with springs.
27:12 Code! We can refine it a bit.
29:29 Code! Playing with beginShape() and endShape().
31:07 Ideas! If you make a swishy robot share it with me!
π Website: thecodingtrain.com
πΎ Share Your Creation! thecodingtrain.com/Guides/community-contribution-guide.html
π© Suggest Topics: github.com/CodingTrain/Rainbow-Topics
π‘ GitHub: github.com/CodingTrain
π¬ Discord: discord.gg/hPuGy2g
π Membership: youtube.com/thecodingtrain/join
π Store: standard.tv/codingtrain
π Books: amazon.com/shop/thecodingtrain
ποΈ Twitter: twitter.com/thecodingtrain
πΈ Instagram: instagram.com/the.coding.train
π₯ Coding Challenges: youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
π₯ Intro to Programming: youtube.com/playlist?list=PLRqwX-V7Uu6Zy51Q-x9tMWIv9cueOFTFA
π p5.js: p5js.org
π p5.js Web Editor: editor.p5js.org
π Processing: processing.org
π Code of Conduct: github.com/CodingTrain/Code-of-Conduct









![Apple ][ Coding Challenge: Fractal Tree
Take a trip back in time and lets learn all about GR (graphics) and HGR (high resolution graphics) in AppleSoft BASIC on a restored Apple II+ computer! Can we render a fractal tree? Code: https://thecodingtrain.com/challenges/174-graphics-applesoft-basic
π Watch this video ad-free on Nebula https://nebula.tv/videos/codingtrain-coding-challenge-174-fractal-tree-on-apple-ii
π₯ Previous video: https://youtu.be/7r83N3c2kPw?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
π₯ All videos: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
References:
π§ What is Code?: https://nebula.tv/what-is-code
πΆ Coding Together: https://soundcloud.com/user-207981744-979066415/coding-together
Related Videos:
π₯ AppleSoft Basic Snake Game: https://thecodingtrain.com/challenges/173-snake-applesoft-basic
π₯ The Bouncing Ball: https://thecodingtrain.com/tracks/code-programming-with-p5-js/code/3-conditionals/2-bouncing
π₯ Polar Coordinates: https://thecodingtrain.com/tracks/the-nature-of-code-2/noc/3-angles/4-polar-coordinates
AppleSoft BASIC:
π The AppleSoft Tutorial: http://cini.classiccmp.org/pdf/Apple/The%20Applesoft%20Tutorial.pdf
π Basic Programming Reference Manual: https://mirrors.apple2.org.za/Apple%20II%20Documentation%20Project/Software/Languages/Applesoft%20BASIC/Manuals/Applesoft%20II%20BASIC%20Programming%20Reference%20Manual.pdf
πͺ§ Peeks, Pokes and Pointers: https://archive.org/details/peeks-pokes-pointers
π’ Renumber: https://www.callapple.org/programming/renumber-pro-source-code-made-available/
Apple II Emulators:
β Applesoft BASIC in JavaScript: https://www.calormen.com/jsbasic/
π Apple IIjs: https://www.scullinsteel.com/apple2/
π MicroM8: https://paleotronic.com/software/microm8/
Timestamps:
0:00 Hello from 1981!
0:16 Coding Together Theme
1:10 Getting started
1:30 Graphics Mode (GR)
1:56 Apple II+ Screen Capture
2:08 Plotting Points and Lines
3:33 Bouncing Ball
13:01 Adding Sound
14:39 High Resolution Graphics (HGR)
17:43 Fractal Tree
18:10 Trigonometry Explanation
20:05 Coding the Tree
23:12 Explaining Recursion
33:00 Adding User Input
34:52 Share your version!
Editing by Mathieu Blanchette
Animations by Jason Heglund
Coding Together Theme by Will from America (https://twitter.com/willfromamerica)
Eye of the Tiger cover by Leon from @neoexplains
Additional music from from Epidemic Sound
π Website: http://thecodingtrain.com/
πΎ Share Your Creation! https://thecodingtrain.com/guides/passenger-showcase-guide
π© Suggest Topics: https://github.com/CodingTrain/Suggestion-Box
π‘ GitHub: https://github.com/CodingTrain
π¬ Discord: https://discord.gg/hPuGy2g
π Membership: http://youtube.com/thecodingtrain/join
π Store: https://standard.tv/codingtrain
ποΈ Twitter: https://twitter.com/thecodingtrain
πΈ Instagram: https://www.instagram.com/the.coding.train/
π₯ Coding Challenges: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
π₯ Intro to Programming: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6Zy51Q-x9tMWIv9cueOFTFA
π p5.js: https://p5js.org
π p5.js Web Editor: https://editor.p5js.org/
π Processing: https://processing.org
π Code of Conduct: https://github.com/CodingTrain/Code-of-Conduct
This description was auto-generated. If you see a problem, please open an issue: https://github.com/CodingTrain/thecodingtrain.com/issues/new
#fractal #1980s #appleii #bouncingball #basic Apple ][ Coding Challenge: Fractal Tree](https://i.ytimg.com/vi/UNkHditYGls/mqdefault.jpg)
