Skip to content

Commit 2a190cb

Browse files
authored
Merge pull request #1494 from CodingTrain/cc-182-apollonian-gasket
Challenge 182: Happy Pi Day!
2 parents 0de54e2 + db5f26b commit 2a190cb

File tree

6 files changed

+150
-2
lines changed

6 files changed

+150
-2
lines changed

β€Žcontent/pages/challenges/index.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
"title": "Challenges",
33
"description": "Ready to apply what you’ve learned in the Tracks? Try a Challenge! These one-off project videos build off concepts introduced in Tracks and may have prerequisites (listed on the challenge page itself).",
44
"featuredText": "Featured Challenge:",
5-
"featuredChallenge": "181-image-stippling"
5+
"featuredChallenge": "182-apollonian-gasket"
66
}

β€Žcontent/pages/homepage/index.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
"title": "Challenges",
3232
"description": "Watch Dan take on Coding Challenges in p5.js and Processing. The challenge topics include algorithmic art, machine learning, simulation, generative poetry, and more.",
3333
"featured": [
34-
"161-estimating-pi-from-random-numbers",
34+
"182-apollonian-gasket",
3535
"136-polar-noise-loops",
3636
"60-butterfly-generator",
3737
"171-wave-function-collapse",
153 KB
Loading
498 KB
Loading
2.71 MB
Loading
Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
{
2+
"title": "Apollonian Gasket",
3+
"videoNumber": "182",
4+
"description": "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!",
5+
"videoId": "6UlGLB_jiCs",
6+
"nebulaSlug": "",
7+
"date": "2024-03-14",
8+
"languages": ["p5.js", "JavaScript"],
9+
"topics": ["Apollonian Gasket", "Pi", "circle packing", "complex numbers", "curvature", "Descartes Theorem"],
10+
"canContribute": true,
11+
"relatedChallenges": [
12+
"21-mandelbrot-set-with-p5js",
13+
"22-julia-set",
14+
"77-recursion",
15+
"50-animated-circle-packing",
16+
"95-approximating-the-value-of-pi",
17+
"96-visualizing-digits-of-pi",
18+
"97-book-of-pi",
19+
"139-calculating-digits-of-pi-with-collisions",
20+
"140-pi-leibniz",
21+
"141-mandelbrot-pi",
22+
"169-pi-in-the-sky",
23+
"176-buffon-needle"
24+
],
25+
"timestamps": [
26+
{ "time": "0:00", "title": "Happy PI Day!!" },
27+
{ "time": "1:40", "title": "References" },
28+
{ "time": "3:22", "title": "Describe the Apollonian problem" },
29+
{ "time": "5:51", "title": "Curvature" },
30+
{ "time": "10:08", "title": "Start coding!" },
31+
{ "time": "11:53", "title": "Write a function to find the fourth curvature" },
32+
{ "time": "15:31", "title": "Complex numbers" },
33+
{ "time": "21:11", "title": "Create a complex number class" },
34+
{ "time": "22:52", "title": "Square root of -1" },
35+
{ "time": "25:32", "title": "Square root of a complex number" },
36+
{ "time": "27:57", "title": "Implement complex Descartes theorem" },
37+
{ "time": "33:50", "title": "Make the circles in the complexDescartes function" },
38+
{ "time": "36:26", "title": "Use an array to add recursion" },
39+
{ "time": "41:04", "title": "Validate the circles" },
40+
{ "time": "42:35", "title": "Check if all 4 circles are tangent" },
41+
{ "time": "48:04", "title": "Stop adding circles when radius falls below a threshold" },
42+
{ "time": "49:20", "title": "Implement arbirtary arrangement of circles" },
43+
{ "time": "53:14", "title": "Debug" },
44+
{ "time": "55:32", "title": "Possible variations" },
45+
{ "time": "56:34", "title": "Outro" }
46+
],
47+
"codeExamples": [
48+
{
49+
"title": "Apollonian Gasket",
50+
"description": "Implementation of traditional apollonian gasket fractal.",
51+
"image": "gasket1.png",
52+
"urls": {
53+
"p5": "https://editor.p5js.org/codingtrain/sketches/zrq8KHXnO"
54+
}
55+
},
56+
{
57+
"title": "Colorful Recursive Gaskets in Gaskets",
58+
"description": "Adding color and recursively drawing gaskets inside gaskets.",
59+
"image": "gasket2.png",
60+
"urls": {
61+
"p5": "https://editor.p5js.org/codingtrain/sketches/leBpmVwaM"
62+
}
63+
}
64+
],
65+
"groupLinks": [
66+
{
67+
"title": "References",
68+
"links": [
69+
{
70+
"icon": "πŸ”—",
71+
"title": "Apollonian Gasket",
72+
"url": "https://en.wikipedia.org/wiki/Apollonian_gasket",
73+
"description": "Wikipedia page about the Apollonian Gasket."
74+
},
75+
{
76+
"icon": "πŸ”—",
77+
"title": "A Tisket, a Tasket, an Apollonian Gasket",
78+
"url": "https://www.americanscientist.org/article/a-tisket-a-tasket-an-apollonian-gasket",
79+
"description": "Article by Dana Mackenzie about the Apollonian gasket "
80+
},
81+
{
82+
"icon": "πŸ”—",
83+
"title": "Apollonian Gaskets",
84+
"url": "https://mathlesstraveled.com/2016/04/27/apollonian-gaskets/",
85+
"description": "Blog post about Apollonian Gaskets."
86+
},
87+
{
88+
"icon": "πŸ”—",
89+
"title": "Beyond the Descartes Circle Theorem",
90+
"url": "https://arxiv.org/pdf/math/0101066.pdf",
91+
"description": "Paper about the Descartes circle theorem by Jeffrey C. Lagarias, Colin L. Mallows, and Allan R. Wilks."
92+
},
93+
{
94+
"icon": "πŸ”—",
95+
"title": "The Kiss Precise",
96+
"url": "https://www.nature.com/articles/1371021a0#preview",
97+
"description": "Poem by Frederick Soddy about the Apollonian Gasket"
98+
},
99+
{
100+
"icon": "πŸ”—",
101+
"title": "Frederick Soddy",
102+
"url": "https://en.wikipedia.org/wiki/Frederick_Soddy",
103+
"description": "Wikipedia page about Frederick Soddy."
104+
},
105+
{
106+
"icon": "πŸ”—",
107+
"title": "Problem of Apollonius",
108+
"url": "https://en.wikipedia.org/wiki/Problem_of_Apollonius",
109+
"description": "Wikipedia page describing the Problem of Apollonius."
110+
},
111+
{
112+
"icon": "πŸ”—",
113+
"title": "Four Proofs of a Generalization of the Descartes Circle Theorem",
114+
"url": "https://www.jstor.org/stable/2316373",
115+
"description": "Proof of Descartes Circle Theorem"
116+
},
117+
{
118+
"icon": "πŸ”—",
119+
"title": "Beyond the Descartes Circle Theorem",
120+
"url": "https://arxiv.org/pdf/math/0101066.pdf",
121+
"description": "Paper by Jeffrey C. Lagarias, Colin L. Mallows, and Allan R. Wilks about the complex Descartes Theorem."
122+
},
123+
{
124+
"icon": "πŸ”—",
125+
"title": "Descartes' theorem",
126+
"url": "https://en.wikipedia.org/wiki/Descartes%27_theorem",
127+
"description": "Wikipedia page about the Descartes theorem."
128+
},
129+
{
130+
"icon": "πŸ”—",
131+
"title": "Complex.js",
132+
"url": "https://www.npmjs.com/package/complex.js",
133+
"description": "Javascript library implementing math operations for complex numbers."
134+
}
135+
]
136+
}
137+
],
138+
"credits": [
139+
{
140+
"title": "Editing",
141+
"name": "Mathieu Blanchette"
142+
},
143+
{
144+
"title": "Animations",
145+
"name": "Jason Heglund"
146+
}
147+
]
148+
}

0 commit comments

Comments
Β (0)