(This article was first published on

Buffon's needle problem is a question first posed in the 18th century by Georges-Louis Leclerc, Comte de Buffon:**progRamming for the fun of it**, and kindly contributed to R-bloggers)

*What is the probability*that a*needle thrown at a lined sheet of paper will cross a line?**This problem can be used to estimate π. If we set the nail size and the line distance = 1, the estimator can be calculated by:*

$$\widehat{\pi}=\frac{2\cdot throws}{hits}$$

Because throwing 80.000 needles can be annoying, I created an implementation in R. The result took over two hours to render an is attached to this post. It was generated by saving multiple GIF files and combining them to a movie. Red needles are hits, the heading represents the current approximation of π.

After loading the function you can start a simulation by typing:

**buffon([number of simulations], [number of needles], [c(seeds)])**

The following command will create one simulation with 100 needles: And here's the function:

**information on R**and

**what to do**with it visit: www.r-bloggers.com

To

**leave a comment**for the author, please follow the link and comment on his blog:**progRamming for the fun of it**.R-bloggers.com offers

**daily e-mail updates**about R news and tutorials on topics such as: visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...