MENU

Fun & Interesting

Coding Challenge 176: Buffon's Needle

The Coding Train 103,400 lượt xem 1 year ago
Video Not Working? Fix It Now

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 probability 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 probability 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

Comment