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

