Blog

Viewing posts for the category Featured on frontpage

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.

Animated contour plots with Matplotlib

A quick project inspired by this tweet by @story645 referencing Jacques Bertin's Semiology of Graphics.

Uranium enrichment and the separative work unit (SWU)

Natural uranium consists largely of two isotopes, $\mathrm{^{235}U}$ and $\mathrm{^{238}U}$. The less-abundant (0.72%) isotope, $\mathrm{^{235}U}$ , is important for nuclear reactors and weapons because it is the only isotope existing in nature to any appreciable extent that can sustain a fission chain reaction (that is, it is fissile).