loading...

Pi Day: Estimating the value of Pi

lefebvre profile image Paul Lefebvre ・1 min read

It's Pi day (March 14) and one question you may be wondering is “how is Pi calculated?”

Measuring circles can give a rough estimate, but an infinite series is perhaps a better and more common way to do it. As described on Calculating Pi at MathCareers.org.uk, the Nilakantha Series works pretty well. Its formula looks like this:

Nilakantha Series: π = 3 + 4 / (2×3×4) − 4 / (4×5×6) + 4 / (6×7×8) − 4 / (8×9×10) + …

You ought to be able to figure out a pattern from that. And it’s a short leap to convert that to Xojo code. Here’s code that calculates Pi using the Nilakantha Series:

Dim even As Boolean = True
Dim calc As Double
Dim calcStart As Int64

Dim iterations As Integer
While iterations < 1000
  iterations = iterations + 1
  calcStart = calcStart + 2
  calc = 4.0 / (calcStart * (calcStart + 1) * (calcStart + 2))

  If even Then
    Pi = Pi + calc
  Else
    Pi = Pi - calc
  End If

  even = Not even
Wend

Here’s a completed project you can run in Xojo: CalcPi Project

The above code correctly calculated the first 9 digits of Pi almost immediately. Unfortunately, calculating more digits of Pi is not really practical using the standard double-precision floating point data type used in most programming languages.

Posted on by:

lefebvre profile

Paul Lefebvre

@lefebvre

Play: I am a father, husband, baseball player and technology geek. Work: Xojo Software Engineer.

Discussion

pic
Editor guide
 

Paul your posts are awesome. Keep ‘em coming!