Coding Challenge 176: Buffon's Needle
How do toothpicks approximate the value of pi? I'll show you by coding a simulation in p5.js! Code: https://thecodingtrain.com/challenges/176-buffon-needle
π Watch this video ad-free on Nebula https://nebula.tv/videos/codingtrain-coding-challenge-buffons-needle
p5.js Web Editor Sketches:
πΉοΈ Buffon's Needle: https://editor.p5js.org/codingtrain/sketches/zqytzJAZN
πΉοΈ Line Line Intersection: https://editor.p5js.org/codingtrain/sketches/htO0scRB1
πΉοΈ Probability Density Function Graph: https://editor.p5js.org/codingtrain/sketches/eMaEGlfmu
π₯ Previous video: https://youtu.be/PHfKCxjsmos?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
π₯ All videos: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
References:
π Buffon's Needle: https://en.wikipedia.org/wiki/Buffon%27s_needle_problem
π Analysis and Simulation: https://mste.illinois.edu/activity/buffon/
π Pickup Sticks & Pi: https://ogden.eu/pi/
Related Coding Challenges:
π 95 Approximating the Value of Pi: https://youtu.be/5cNnf_7e92Q
π 126 Toothpicks: https://youtu.be/-OL_sw2MiYw
π 145 Ray Casting 2D: https://youtu.be/TOEi6T2mtHo
Timestamps:
0:00 Happy Pi Day 2023!
0:45 Introduce Buffon's Needle
1:40 Unpack the math
4:40 Let toothpick fall at an angle
7:08 The probability that the toothpick crosses the border
7:27 Uniform probability density function
8:12 Illustrate the probablity with a graph
10:49 Approximating the value of Pi
11:11 Calculating the area under the curve
12:48 Resources for Buffon's Needle
13:28 Start Coding
13:53 Draw vertical lines
14:20 Add a toothpick
15:02 Draw background in setup
15:57 We have to use the built-in value of Pi
17:00 Find the closest column
17:22 Determine if the toothpick intersects the column
18:10 Rotate the line relative to the y-axis
18:50 Draw the toothpick as a vertical line
19:40 Improve the visuals
20:48 Approximate the value of Pi using the probility that a toothpick intersects a column
23:45 Suggestions for variations
24:08 New Passenger Showcase page on the Coding Train website
24:38 Easter egg
Editing by Mathieu Blanchette
Animations by Jason Heglund
Pi Day Song by Will from America
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
#piday #pi #buffonsneedle #buffon #p5js #javascript