Blog

Viewing posts for the category Featured on frontpage

Old-style Matplotlib charts

Just a quick demonstration of using Matplotlib and Pillow to customize a chart in the style of a 1950s academic journal article.

Molecular Dynamics modelling of effusion into a vacuum

This previous post introduced a simple molecular dynamics simulation for the equilibration of the speeds of the particles of an ideal gas. The present post extends the code a little to model the effusion of an ideal gas through a small hole into a vacuum.

Computer generated contemporary art (update)

This is an update to the post from February 2016 with an improved algorithm (given below) for generating pleasing random images by sequentially shifting the colour of pixels across a canvas.

The electric field of a capacitor

Just a quick update on this blog post on visualizing the electric field of a multipole arrangement of electric charges to visualize the electric field of a capacitor (two oppositely-charged plates, separated by a distance $d$). The code, which uses Matplotlib's streamplot function to visualize the electric field from the plates, modelled as rows of discrete point charges, is below.

Matching coloured LED combinations to a spectrum

A previous blog post provides a class, ColourSystem, which can be used to predict the colour (within some colour system) of a provided spectrum. This post uses the class to determine how to combine a number of light emitting diodes (LEDs), or other light sources with known spectra in order to produce light with a given spectrum. This task is not as simple as fitting a linear combination of the LED spectra to the given spectrum because the colour matching functions determining the tristimulus values (which, in turn model the colour perceived by the human eye) vary with wavelength and overlap. Also, LEDs emit light, so no negative coefficient in such a linear combination can be allowed.