PiSwift icon

PiSwift

Richard Loda
Free
5.0 out of 5

About PiSwift

PiSwift uses the Monte Carlo method to approximate the value of pi.

A circle inscribed in a square of area 1 has an area of pi x r2 = pi / 4. Thus the ratio of the number of random points landing in the circle to the number of total points in the square, times 4, approximates pi.

This app generates a total number of random points ranging over seven orders of magnitude. It enables the user to see the value of pi evolve through plots of pi, and delta, the percentage difference between the calculated pi value and the value of pi stored in the computer. It also presents a scatter plot of sampled points to aid in visualizing the process, and calculates how long it takes for your device to generate the random points and do the calculation.

It’s not the fastest, most accurate or most sophisticated method known to approximate pi, but it is fun to watch the value of pi “evolve” as more random points are used, and observe how few points are needed to come close to the actual value.

INSTRUCTIONS:

Load app, choose number of points with stepper, press Calculate Pi.
Main screen scatter plot presents 100 sampled points of equally spaced data (see below).
Press Graph button to observe the evolution of pi or delta (toggle) in graphical form.
Double tap gesture changes the origin of the graph, pan moves the graph.
Pinch gesture at greater than 45 degrees scales the Y axis, and at less than 45 degrees scales the X axis (independently).
Stepper in Graph view allows for the independent scaling of delta (Y axis, to x200).

USAGE TIPS:

Start with a low number of points to initially see how long your iOS device takes to perform the calculation.
Use that number to predict the time required for a larger number of points (older devices take many minutes for upper limits).
Graph shows values of pi or delta after the sampling interval. If Log10 points = 2, pi or delta are calculated after every point. If Log10 points = 3, pi or delta are calculated every 10 points. If Log10 points = 4, it calculates values every 100 points, etc.
If you dislike your graph adjustments, toggling the Back/Graph button resets the graph to original values, without re-calculating pi.

PiSwift Screenshots