A blog of Python-related topics and code.

A Babyonian spiral (OEIS A256111) is the figure formed by starting with a zero-vector at the origin and concatenating vectors such that each subsequent vector is the next one longer than the previous one that also lands on a position with integral Cartesian coordinates. That is, the $i$th vector has integer components $x_i$ and $y_i$ satisfying, $x_i^2 + y_i^2 = n_i^2 > n_{i-1}^2$. Each vector is chosen such that it minimizes the angular separation from the previous one.

Following on from this earlier post, here is a class, `TruchetHexes`

, which generates a pleasing weave-like pattern by tiling the following hexagon shapes in random orientations.

STATISTICS AUSTRIA provides economic and demographic statistical services to the state of Austria. This page lists the Consumer Price Index it calculates every month according to a methodology that is updated every five years.

The following code implements a Quadtree in Python (see the previous blog post for a description of quadtrees). There are three classes: `Point`

represents a point in two-dimensional space, with an optional "payload" (data structure associating the `Point`

with more information, for example the identity of an object). The `Rect`

class represents a rectangle in two-dimensional space through its centre, width and height. There are methods to determine if a given `Point`

object is inside the `Rect`

and to determine if the `Rect`

intersects another `Rect`

.

Following on from this post about the simple double pendulum, (two bobs connected by light, rigid rods), this post animates the double *compound* pendulum (also called a double complex or physical pendulum): two rods connected to each other, with their mass distributed along their length. The analysis on Wikipedia provides the dynamical equations for the case of equal-mass and equal-length rods. Here, the more general case of rods with lengths $l_1$ and $l_2$ and masses $m_1$ and $m_2$ is considered.