Blog

A blog of Python-related topics and code.

Direct linear least squares fitting of an ellipse

Fitting a set of data points in the $xy$ plane to an ellipse is a suprisingly common problem in image recognition and analysis. In principle, the problem is one that is open to a linear least squares solution, since the general equation of any conic section can be written $$ F(x, y) = ax^2 + bxy + cy^2 + dx + ey + f = 0, $$ which is linear in its parameters $a$, $b$, $c$, $d$, $e$ and $f$. The polynomial $F(x,y)$ is called the algebraic distance of any point $(x, y)$ from the conic (and is zero if $(x, y)$ happens to lie on the conic).

Chaotic Balls

Inspired by this recent Numberphile video, here is a demonstration of chaos in a simple dynamical system: two balls, with near-identical starting conditions, bounce around elastically off a circular wall. After a short time, the balls' trajectories diverge completely.

Isolines on a nuclide chart

As a short addendum to this blog post, the code below plots a chart of the nuclides showing four types of isoline:

Nuclear fusion cross sections and reactivities

A quick update on this blog article with some extra cross sections and an additional plot of Maxwell-averaged reactivities. The processes covered are:

Measurements of the electron charge over time

In his 1986 book, Surely You're Joking, Mr. Feynman! physicist Richard Feynman writes: