## Pi Day MMXVII

Every year on March the 14th, for one day the world gets irrationally excited about the famous constant $\pi$. As is tradition, you try to calculate $\pi$ in unusual ways, demonstrating the constant’s ubiquity as it crops up in the most unexpected circumstances.

                        lnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
nJw
v$$n$$$$z u$$mnn:       Y$$i .@$$$$,$$n           )$$* W$$$$m -n[$$$$. ]$$
h$$w$$Y
[         X$$"$$$$n '$${
.$8$$*$$$$} :$$+ #u $$% t$$ ;$$ u$$! $$W Y$$M .$$, f$$$$. Z$$$$Z nn w$$$$|$$( v$z
n$W $$1 'X8 Y$$ *$$8nnnn$$$p
$@. W$n
_$${ x$$$0> -n{. !|nt_.  A fairly well-known way to approximate pi is to randomly choose points in a square (often thought of as throwing darts at a square piece of cardboard), determine their distance to a circle’s center and do a division, as I did in my π Generator post. However, $\pi$ does not only appear in the formula for a circle’s area, $A=\pi \cdot r^2$, yet also in the formula for a sphere’s volume, $V=\frac{4}{3} \cdot \pi \cdot r^3$, and for all the infinite hyperspheres above dimension three (view this Wikipedia article for more about volumes of higher-dimensional spheres). In particular, the formula for the hypervolume of a hypersphere in four dimensions is defined as being $V=\frac{\pi^2}{2} \cdot r^4$. Using this formula, my Python script randomly chooses four-dimensional points (each in the interval $\left[0, 1\right)$), calculates their distance to the point $\left(0.5, 0.5, 0.5, 0.5\right)$ and determines if they are in the hypersphere around that point with radius $0.5$. By dividing the number of random points which lie in the hypersphere by the number of iterations used ($10^6$ in the example below), the script approximates the hypersphere’s hypervolume. By then rearranging the equation $V=\frac{\pi^2}{2} \cdot r^4$ with $r=0.5$ to $\pi=\sqrt{V\cdot 32}$, the desired constant can be approximated. $ python pi.py
3.14196371717

# Python 2.7.7 Code
# Jonathan Frech, 13th of March 2017
Advertisements

## π Approximation

Using an infinite series shown by Euler, π can be approximated.
The series goes as follows: $\sum\limits_{n=1}^{\infty} \frac{1}{n^2} = \frac{1}{1^2} + \frac{1}{2^2} + \frac{1}{3^2} + \frac{1}{4^2} + \dots = \frac{\pi^2}{6}$
By rearranging the equation, you get the following: $\pi = \sqrt{6\cdot\big(\frac{1}{1^2} + \frac{1}{2^2} + \frac{1}{3^2} + \frac{1}{4^2} + \dots\big)}$

# Python 2.7.7 Code
# Jonathan Frech 14th of December, 2015

## Circle Walk II

Continuing the idea from ‘Circle Walk’, I created ‘Circle Walk II’. In this program the entities get – based on their spawn time – a number (just to see the exact spawn time). As they spawn, they get put in a list. From this list their position around the center is calculated (in a similar way as in ‘Polygons’). Their distance to the center equals five times the number of entities ($\text{distance to the center} = 5 \cdot \text{number of entities}$), but cannot reach outside the screen. Their color is calculated based on their angle.

#### Usage

• ‘Space’ to toggle if text is shown

# Python 2.7.7 Code
# Pygame 1.9.1 (for Python 2.7.7)
# Jonathan Frech 15th of March, 2015
#         edited 30th of March, 2015
#     version II 1st  of April, 2015`