Coding Challenge 182: Apollonian Gasket Fractal

Subscribers:
1,750,000
Published on ● Video Link: https://www.youtube.com/watch?v=6UlGLB_jiCs



Duration: 56:47
86,994 views
3,369


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/182-apollonian-gasket

๐Ÿš€ Watch this video ad-free on Nebula https://nebula.tv/videos/codingtrain-coding-challenge-182-apollonian-gasket

p5.js Web Editor Sketches:
๐Ÿ•น๏ธ Apollonian Gasket: https://editor.p5js.org/codingtrain/sketches/zrq8KHXnO
๐Ÿ•น๏ธ Colorful Recursive Gaskets in Gaskets: https://editor.p5js.org/codingtrain/sketches/leBpmVwaM

๐ŸŽฅ Previous: https://youtu.be/Bxdt6T_1qgc?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
๐ŸŽฅ All: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH

References:
๐Ÿ”— Apollonian Gasket: https://en.wikipedia.org/wiki/Apollonian_gasket
๐Ÿ”— A Tisket, a Tasket, an Apollonian Gasket: https://www.americanscientist.org/article/a-tisket-a-tasket-an-apollonian-gasket
๐Ÿ”— Apollonian Gaskets: https://mathlesstraveled.com/2016/04/27/apollonian-gaskets/
๐Ÿ”— Beyond the Descartes Circle Theorem: https://arxiv.org/pdf/math/0101066.pdf
๐Ÿ”— The Kiss Precise: https://www.nature.com/articles/1371021a0#preview
๐Ÿ”— Frederick Soddy: https://en.wikipedia.org/wiki/Frederick_Soddy
๐Ÿ”— Problem of Apollonius: https://en.wikipedia.org/wiki/Problem_of_Apollonius
๐Ÿ”— 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/Descartes%27_theorem
๐Ÿ”— Complex.js: https://www.npmjs.com/package/complex.js

Related Coding Challenges:
๐Ÿš‚ 21 Mandelbrot Set with p5.js: https://youtu.be/6z7GQewK-Ks
๐Ÿš‚ 22 Julia Set in Processing: https://youtu.be/fAsaSkmbF5s
๐Ÿš‚ 77 Recursion: https://youtu.be/jPsZwrV9ld0
๐Ÿš‚ 50 Circle Packing: https://youtu.be/QHEQuoIKgNE
๐Ÿš‚ 95 Approximating the Value of Pi: https://youtu.be/5cNnf_7e92Q
๐Ÿš‚ 96 Visualizing the Digits of Pi: https://youtu.be/WEd_UIKG-uc
๐Ÿš‚ 97 The Book of Pi: https://youtu.be/tbvG9hrJxOU
๐Ÿš‚ 139 Calculating Digits of Pi with Collisions: https://youtu.be/PoW8g67XNxA
๐Ÿš‚ 140 Leibniz Formula for Pi: https://youtu.be/uH4trBNn540
๐Ÿš‚ 141 Calculating Digits of Pi with Mandelbrot Set: https://youtu.be/pn2vlselv_g
๐Ÿš‚ 169 Pi in the Sky Game: https://youtu.be/_H9JIwWP7HQ
๐Ÿš‚ 176 Buffon's Needle: https://youtu.be/h5ZNcAPXxew

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 arbirtary 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/passenger-showcase-guide
๐Ÿšฉ Suggest Topics: https://github.com/CodingTrain/Suggestion-Box
๐Ÿ’ก GitHub: https://github.com/CodingTrain
๐Ÿ’ฌ Discord: https://thecodingtrain.com/discord
๐Ÿ’– 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

#apolloniangasket #pi #circlepacking #complexnumbers #curvature #descartestheorem #p5js #javascript
=====================================================