Coding Challenge #107: Sandpiles
In this coding challenge, inspired by Numberphile I visualize "sandpiles" with Processing (Java). Code: https://thecodingtrain.com/challenges/107-sandpiles
πΉοΈ p5.js Web Editor Sketch: https://editor.p5js.org/codingtrain/sketches/47dTVFxuB
π₯ Previous video: https://youtu.be/N3ZnNa01BPM?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
π₯ Next video: https://youtu.be/JFugGF1URNo?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
π₯ All videos: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
References:
π Sandpile on Wikipedia: https://en.wikipedia.org/wiki/Abelian_sandpile_model
π simon-tiger's issue on GitHub: https://github.com/CodingTrain/Rainbow-Topics/issues/815
πΎ Processing: https://processing.org
Videos:
π₯ Sandpiles: https://youtu.be/1MtEUErz7Gg
π΄ Livestream Archive: https://youtu.be/_9ZerP7pGvc
Related Coding Challenges:
π #89 Langton's Ant: https://youtu.be/G1EgjgMo48U
π #85 The Game of Life: https://youtu.be/FWSR_7kZuYg
π #102 2D Water Ripple: https://youtu.be/BZUdGqeOD0w
Timestamps:
0:00 Introducing today's topic
1:02 The "sandpile" algorithm
2:28 Maximum amount of sand
5:39 Let's Code!
6:05 Create a 2D array of sandpiles
6:47 Write a render function
7:34 Assign a color based on amount of sand
9:57 Drop a lot of sand in the middle
11:21 Write a topple function
16:16 Correct code to determine nextpiles
17:04 Add rainbow colors
18:00 Call topple multiple times in draw
18:39 Fix edge problem
20:47 Conclusion and creative suggestions
Editing by Mathieu Blanchette
Animations by Jason Heglund
Music 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
#sandpile #cellularautomaton #grid #p5js #processing