Coding Challenge 182: Apollonian Gasket Fractal
The Coding Train
0:00 / 0:00
Coding Challenge 182: Apollonian Gasket Fractal
102 642 просмотра · 2 г. назад
The Coding Train
1,76 млн подписчиков
102 642 просмотра · 2 г. назад
Happy Pi Day 2024! In this video, I attempt to create an Apollonian Gasket using the Descartes Circle Theorem and complex numbers. So many circles! Code: https://thecodingtrain.com/challenges...
🚀 Watch this video ad-free on Nebula https://nebula.tv/videos/codingtrain-...
p5.js Web Editor Sketches:
🕹️ Apollonian Gasket: https://editor.p5js.org/codingtrain/s...
🕹️ Colorful Recursive Gaskets in Gaskets: https://editor.p5js.org/codingtrain/s...
🎥 Previous: • Coding Challenge 181: Weighted Voronoi Sti...
🎥 All: • Coding Challenges
References:
🔗 Apollonian Gasket: https://en.wikipedia.org/wiki/Apollon...
🔗 A Tisket, a Tasket, an Apollonian Gasket: https://www.americanscientist.org/art...
🔗 Apollonian Gaskets: https://mathlesstraveled.com/2016/04/...
🔗 Beyond the Descartes Circle Theorem: https://arxiv.org/pdf/math/0101066.pdf
🔗 The Kiss Precise: https://www.nature.com/articles/13710...
🔗 Frederick Soddy: https://en.wikipedia.org/wiki/Frederi...
🔗 Problem of Apollonius: https://en.wikipedia.org/wiki/Problem...
🔗 Four Proofs of a Generalization of the Descartes Circle Theorem: https://www.jstor.org/stable/2316373
🔗 Beyond the Descartes Circle Theorem: https://arxiv.org/pdf/math/0101066.pdf
🔗 Descartes' theorem: https://en.wikipedia.org/wiki/Descart...
🔗 Complex.js: https://www.npmjs.com/package/complex.js
Related Coding Challenges:
🚂 21 Mandelbrot Set with p5.js: • Coding Challenge 21: Mandelbrot Set
🚂 22 Julia Set in Processing: • Coding Challenge #22: Julia Set in Processing
🚂 77 Recursion: • Coding Challenge #77: Recursion
🚂 50 Circle Packing: • Coding Challenge #50.1: Animated Circle Pa...
🚂 95 Approximating the Value of Pi: • Coding Challenge 95: Approximating the Val...
🚂 96 Visualizing the Digits of Pi: • Coding Challenge #96: Visualizing the Digi...
🚂 97 The Book of Pi: • Coding Challenge #97: The Book of Pi - Part 1
🚂 139 Calculating Digits of Pi with Collisions: • Coding Challenge #139: Calculating Digits ...
🚂 140 Leibniz Formula for Pi: • Coding Challenge #140: Pi Approximation wi...
🚂 141 Calculating Digits of Pi with Mandelbrot Set: • Coding Challenge #141: Calculating Digits ...
🚂 169 Pi in the Sky Game: • Coding Challenge 169: Pi in the Sky Game
🚂 176 Buffon's Needle: • Coding Challenge 176: Buffon's Needle
Timestamps:
0:00 Happy PI Day!!
1:40 References
3:22 Describe the Apollonian problem
5:51 Curvature
10:08 Start coding!
11:53 Write a function to find the fourth curvature
15:31 Complex numbers
21:11 Create a complex number class
22:52 Square root of -1
25:32 Square root of a complex number
27:57 Implement complex Descartes theorem
33:50 Make the circles in the complexDescartes function
36:26 Use an array to add recursion
41:04 Validate the circles
42:35 Check if all 4 circles are tangent
48:04 Stop adding circles when radius falls below a threshold
49:20 Implement arbitrary arrangement of circles
53:14 Debug
55:32 Possible variations
56:34 Outro
Editing by Mathieu Blanchette
Animations by Jason Heglund
Music from Epidemic Sound
🚂 Website: https://thecodingtrain.com/
👾 Share Your Creation! https://thecodingtrain.com/guides/pas...
🚩 Suggest Topics: https://github.com/CodingTrain/Sugges...
💡 GitHub: https://github.com/CodingTrain
💬 Discord: https://thecodingtrain.com/discord
💖 Membership: http://youtube.com/thecodingtrain/join
🛒 Store: https://standard.tv/codingtrain
🖋️ Twitter: / thecodingtrain
📸 Instagram: / the.coding.train
🎥 Coding Challenges: • Coding Challenges
🎥 Intro to Programming: • Start learning here!
🔗 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-o...
This description was auto-generated. If you see a problem, please open an issue: https://github.com/CodingTrain/thecod...
#apolloniangasket #pi #circlepacking #complexnumbers #curvature #descartestheorem #p5js #javascript
=====================================================