Huygens’ Ruler – Drawing Interference Patterns

Here’s a quick project to make it easier to draw examples of interference patterns and wave behaviour. I call it Huygens’ Ruler:

ruler overview v01.JPG

It’s based on the idea of Huygens’ principle, the idea that every point on a wavefront becomes the source of spherical wavelets that make up the next wavefront.

Here’s how you use it. Drive a nail or thumbtack through some cardboard, and drop the ruler on top ( I just nailed into the desk of the makerspace, because meh, that table’s already seen a lot worse):

drawing in action v01.JPG

Using the Huygens’ Ruler

There are circled markings for every integer wavelength, and also holes for half-integers. This means you can easily make diagrams with different colours for the ‘peaks’ and ‘troughs’ of a wave, and see by the intersections where they reinforce, and where they cancel out.

close up interference drawing v01.JPG

Green dots are where the two waves reinforced each other, and red dots are where the waves cancelled out. 

Here’s a few nifty demonstrations that are possible to do with the rulers. First off, we can see how changing the only wavelength of the two sources changes the interference pattern spacing:

changing wavelength v01.JPG

Left: 3cm wavelength, Right: 4cm wavelength. Sources are 10cm apart in both

Next, we can see the effect of changing the phase of one of the sources. To do that, instead of putting the nail in the first hole, we use one of the later ones:

Setting phase on ruler v01.JPG

Setting the phase of the source at 90 degrees

Here’s the effect that has on the resulting pattern:

Beamforming example v01.JPG

Top drawing: No phase difference. Centre nodes head straight to the right.     Bottom drawing: 90 degree phase shift between sources, and the resulting beam is ‘steered’ downwards.  

This is the basis behind the idea of Beamforming, and also represents the simplest possible example of a phased array.

I added markings to the body of the ruler so that it’s possible to measure what the phase is at any point. This makes it easy when a wave hits a gap in a wall, for example. In that case the wave will be re-emitted starting at that phase again. (e.g. if the ruler hits the wall at the 270 degrees mark, you would then draw the next source with the nail on the 270 degree point.)  That way a blue line always represents the same amount of distance from the source, via whatever holes or path you use (modulo the wavelength).

I’m rather happy with this project. I had a few rounds of revisions, but I’m quite pleased with the final result, and it’s pretty fun to draw with.

Double double slit drawing v01.JPG

Soothing. This is my version of those adult colouring books, with the added bonus that it involved using a hammer 

Files are here for anyone that wants to make their own:


Posted in Uncategorized | 1 Comment

‘Born Ruler’ addon for Qubit/Bloch Sphere

Here’s something I was planning to make ages ago, as part of the Bloch Sphere project, but it slipped my mind.

It’s a visual demonstration of how the Born Rule, which describes how complex ‘probability amplitudes’ are related to probability.

Say we have a single quantum bit, represented as a point on the surface of the Bloch sphere. (Note: depending on how our qubit is implemented, the 3 dimensions of the Bloch sphere aren’t necessarily the same 3 dimensions of ordinary space, but let’s ignore that for now).

Let’s say we’ve recently measured the state of our qubit, so we know which way it’s pointing (the pink arrow in the model), which we’ll call ‘1’.

If we measure the state again at the same angle,  there’s 100% chance of measuring  a ‘1’. Dead certain, no ambiguity about it. Spin up v01 small.JPG

If we rotate our qubit so it’s pointing down, we have a perfect 0% chance of measuring a ‘1’. Again, dead certain, with no ambiguity:

spin down v01 smalls.JPG

But if we rotate it so it’s pointing to the side, we will have a 50% chance of measuring a ‘1’:

spin right v01 small.JPG

Another way to say this is that if we measure it at right angles to the way we measured it last time, there’s absolutely no correlation between the previous measurement and the next.

And any other angle in between those will be slightly correlated to the last result, and become more correlated as the old and new angles of measurement become closer.

Here’s the files for people that want to make their own:

Born Ruler:

Bloch Sphere:

Posted in Uncategorized | 1 Comment

Lasercut bobbin rack for sewing thread

Here’s something I came up with today to make it easier to organise sewing thread.

The problem is how to organise about four or five tubs worth of these:

before v01.JPG

As an experiment, here’s what the exact same collection would look like if it was densely packed. Much more space efficient, but completely useless when it comes to actually retrieving thread to use:

possible stacking v01.JPG

“Do you have any lemon yellow thread?” “Er… I’ll let you know in an hour or so”

OK, so is there  a happy medium between those two? Something that shows the colours, but allows what Adam Savage calls ‘first order retrievability‘?

Here’s what I came up with:

rack pic v01.JPG

I make no apologies for variations in the colour ordering here. Deal with it.

Here’s the same collection from before, with the overflow and different sized bobbins on the right:

after v01.JPG

So not as efficient space-wise, but way more efficient for actually using it. If we need to know whether there’s any cerulean-off-turquoise thread, that’s something you can see in less than 5 seconds.

I made versions for the 3 bobbin sizes I found in the box. They’re something like 20mm, 27mm and 41mm. No idea whether that’s all the sizes available, or if there are other common ones?

large rack v01.JPG

Medium and large rolls can be accommodated too.

Also, there’s a row piece for each sized rack, that keeps each column at something close to the densest packing. There’s also nothing to stop you mixing the columns to accomodate multiple sized bobbins in one box, but it just won’t be as space efficient.

The whole thing is designed to fit nicely into the Quadrant 5 litre storage tubs, so that it’s both portable, but keeps the dust off. I use a ton of these boxes of for both part and project storage. They’re available from ‘the reject shop’ in Australia for a few dollars each.

Files here for anyone that wants to make their own:

Posted in Uncategorized | Leave a comment

Why the Bragg Condition Sucks

(With sincere apologies to both Sir William Bragg, and also Sir William Bragg. I’d have loved to meet you both, and also see your famous bubble raft demo in person!)

At a late stage in the spiral double slit project, I suddenly realised I should ‘sanity check’ my results against the equations we learned in high school for the double slit experiment.

I then had a small panic attack when my numbers didn’t match up…

After spending a day digging through my code & notes looking for errors, and plotting out different simulations, I suddenly realised why my numbers weren’t working. This is the equation we learned in high school:

Essentially it describes the locations that satisfy the Bragg condition, that is, the locations where the phases differences of the two signals reinforce (0 degrees) , or cancel out (180 degrees).

However there’s a gotcha here. The vectors contributed by each slit aren’t constant in length, but vary in a Sinc pattern along the screen.

So, with that in mind, let’s see how my simulation matches the high school version. The animation shows what happens if the slit width is varied, but everything else is kept constant.

The blue dots are the Bragg condition for cancellation. The green line should always touch the dots if they’re a good predictor for the trough locations on the screen.


As you can see the equation doesn’t predict all the trough locations by a long shot. It’s certainly better than nothing, but by itself the Bragg condition (phase information) doesn’t tell the whole story as far as interference is concerned. The magnitude information also need to be taken into account.


Posted in Uncategorized | 1 Comment

Feynman Spirals Part 3 – FAQ

Here’s a brief F.A.Q. for things I’ve been asked about the spiral & the double slit experiment.

Q: First off, what the actual directions of the plot correspond to?

Good question.  In the original 2D graph, one axis was distance along the screen, and the other was probability of detecting an electron.

The spiral is the same, but instead of a 1D probability, it’s a 2D probability amplitude.

pasted image 0.png

Directions on the Feynman Amplitude Spiral (probabilities of the double slit experiment)

Q: What’s so remarkable and ‘quantum’ about the double slit here? Doesn’t it just describe stuff which we’re familiar with like sound waves, or water waves?

A: When you’re dealing with a ton of particles (like from a bright laser) the experiment looks pretty standard. The results could be explained by some photons going through 1, and some photons going through 2, and when they meet up at the screen they interfere with each other.

The ‘quantum weirdness’ bit comes in when we adjust the intensity of the laser down the the point where there’s only a single photon in flight at any time. (This is actually fairly easy to do, making and detecting single photons takes only a few hundred dollars worth of equipment, and this experiment is done in university physics labs all the time)

When there’s only one particle, we might expect it to have to go via a definite route (through slit 1 only, or through slit 2 only), and the interference pattern to disappear. But it turns out that single photons (also electrons) still behave in ways that show it travels via both paths simultaneously.

This is also the reason why I made the very deliberate decision (like Feynman did) to stick to the terminology of ‘probability amplitude’ & ’probability’, which is fully general to all situations where complex amplitude flows between different configurations (e.g. electrons in the double slit experiment, photons location in an interferometer, etc. )  rather than terminology which is more specific and can give us license to ignore the weirdness (such as ‘electric field vector’ & ‘light intensity’).

Or to put it another way, I wanted to stick with the terminology that helps us remember that underneath it all, the universe itself runs on Complex numbers, not Real ones.

Also see here:

Edit: Also see part 4: Why the Bragg Condition sucks

Posted in Uncategorized | 1 Comment

Feynman Spirals Part 2 – Making Models

So after playing around with the Feynman Amplitude Spiral and plotting the shape on the computer, I realised I really, really, really wanted my own tangible version of it.

Here’s a few of my attempts. I’ll also include links for anyone that wants to make their own, as well as a jupyter notebook that was used to do all the calculations.

I spent about a month or so trying out various methods for making the spirals. Some are suited to be big classroom models, whereas others are more in the realm of desk art.

3D print:

This is probably the prettiest, but is also not quite as intuitive as the others. After you’ve seen the animation it’s obvious that the horizontal slices are the complex plane, and how the first two spirals are added to create the third spiral, but it’s not necessarily something you’d see without being told.

3d print box closeup v01.jpeg

Also, I think this is just begging to be made into jewellery. The deluxe set would be 2 earrings and a necklace, maybe? What science aficionado wouldn’t want to grace their symposium’s dinner adorned by these?

Big thanks to Erik for printing these models on his resin printer, when my attempts on various FDM printers failed or were too encumbered by support material to come out nicely.

I made the STLs for this by re-implementing my python code in OpenSCAD. Most of the maths functions I needed were already there and seemed to match ordinary C, but I was confused when I couldn’t find anything for complex maths. Then I had to slap myself as I realised that software that has default units of  millimetres is unlikely to understand the idea of an imaginary number 🙂 I wonder if  I’m the first user to want it? (I should totally have filed a humorous bug report/feature request…)

Of course it was only a 1-line workaround, and the model now works. Although there’s something funny going on with the join at the base? So you might want to double check the STL for errors before getting it printed professionally.

Files here:

Wire sculpture:

This was my first attempt, and I absolutely love it. It’s quite time consuming to make, and a bit delicate afterwards, but it has a lovely 3D feel that the others don’t.

My code gives estimates on the wire length, which was invaluable. Feeding the wire through the frame is arduous, and short lengths are much easier to handle than long ones. Being able to measure ahead of time, and not have to guess and feed an extra two meters of slack through a hole a hundred times makes all the difference

Large wire feynman spiral v01.jpeg

My prototype started with both an X and Y plane as support, but then I realised that the wire was rigid enough to stand with only a single vertical board.

wire feynman spiral v01.jpeg

My code calculates the spiral , then for a given material size, plots the X or Y plane intercepts, and directly outputs an SVG for lasercutting:

spiral hole locations v01.png

Files here:


Stack of vectors:

This method is the most intuitive of the lot. The central axis makes the idea of it being a ‘vector’ jump out at you. The layered effect is quite nice, and could even be explained as having a direct physical interpretation relating to detector aperture size.

vector stack closeup v01.jpeg

and:vector stack closeup v02.jpeg

I originally put the holes in the vectors so that a cord or rope could be threaded through each. After testing it, though, it seemed to distract attention away from the actual shape, so I took it out again.

Files here:



Stack of holes:

acrylic stack closeup v01.jpeg

This one looks pretty, but was the most time consuming to make. Each piece had to be laser cut, then peeled, cleaned and painted, then dried in a special rack, and any overflow paint scraped off. Probably 4+ hours all up, but I’m glad I did it.

acrylic stack assembly v01.jpeg

Painting and scraping the paint in progress

It could totally be turned into a lamp too, but I’ll leave it for now.

The code generates a preview, which was useful for seeing how many layers were required to capture the detail, as well as fine tuning the simulation parameters to find an ‘interesting’ area of the spiral to plot:

Feynman multispirals preview v01.png

When you’re happy with the view, the code generates an SVG file for lasercutting:

acrylic stack file v01.png

Each tile is numbered just in case of accidents. Also, rather than cutting a single hole for the vector location, a slot is cut between the current and next location of the vector at that slice. That way there’s guaranteed to be a continuous path even with a quickly rotating vector, and the spiral is easier to follow with the eye.

Files here:

Also see Part 3: FAQ

Posted in physics, Uncategorized | 1 Comment

Plotting Feynman’s Amplitude Spiral after 50 years

I’m tickled pink to have the honor to be (so far as I know) the first person to publish a 3D rendering of one of Feynman’s favourite experiments, and hopefully make a key concept in quantum physics much more tangible to people.

First, here’s the shapes, and then I’ll explain what they actually mean. I’ll also do a follow up post with various ways for making your own 3D models of these:

Feynman Amplitude Spirals – The double slit experiment in 3D

A bit of background. In the early 1960s the kickass physicist Richard Feynman (just a couple of years before he was awarded the Nobel prize) was given the task of teaching undergraduate physics at Caltech. Many years later and the lectures are still remarkably up to date, as well as now being available freely online. (

When the class got up to the subject of Quantum physics, in the very first lecture, Feynman wisely decided to teach it in the reverse order to how it was previously done.

The double slit experiment was supposed to be an advanced topic not covered till later, but he felt that it laid a bedrock that was useful and understandable to someone with no previous background in quantum physics.

Feynman introduced it as as:

“…we shall tackle immediately the basic element of the mysterious behavior in its most strange form. We choose to examine a phenomenon which is impossible, absolutely impossible, to explain in any classical way, and which has in it the heart of quantum mechanics. In reality, it contains the only mystery. We cannot make the mystery go away by “explaining” how it works. We will just tell you how it works. In telling you how it works we will have told you about the basic peculiarities of all quantum mechanics.”

(emphasis mine)

Feynman went on to describe the double slit experiment, and explain it in a hugely vivid and memorable way. First by comparing what would happen if electrons were ordinary particles (simulated by firing a machine gun randomly at the wall), and what would happen if they were waves, etc. His lecture is well worth a read. (

Side note: Any good explanation should involve noticing a feeling of confusion about something, examining all parts of it closely, and then not only finding ways to resolve that confusion, but also seeing what other things get explained at the same time. If you’re not confused by something, you don’t need an explanation. If you’re still confused at the end, that’s your brain giving you a hint that there’s stuff left unresolved, and you haven’t found the actual answer.

Anyway. I’m not planning to re-explain Feynman’s awesome intro. Instead, what I want to focus on his diagram below. This blog post should still hopefully be understandable for anyone that hasn’t read his lecture, but be a nice add-on for anyone that has.

I’m also redrawing his experiment just a little (to use photons rather than electrons), but the same principles work equally well for both.

Here’s the setup. It’s super simple, and can be made with about $5 in parts nowadays:

  • A “laser”,
  • two slits in a wall,
  • and a screen.

Light goes from the laser to the wall, and through the slits to the screen.

feynman double slit layout v01.png

By opening and closing the slits, you change the pattern that appears on the screen. Here’s the results you get:

  • If slit 1 is open and slit 2 is closed, you get a smooth curve (P1)
  • If slit 1 is closed and slit 2 is open, you get another smooth curve (P2)
  • If both slits are open, then you get a really lumpy curve (P12)

Notice how some of the valleys of P12 are lower than any point on P1 or P2. What. the. hell.? If one slit lets some amount of light through, then how does opening a second slit, which presumably can only let more light through, cause some parts of the screen to become darker?

I mean, we’d expect that if both slits are open then the amount detected would be the sum of P1 and P2. Or, to put it as bluntly as possible:  How the hell can two smooths add together to make a lumpy?

In other words, we’d expect the system to behave like this:

OK, let’s double check our intuition in another situation. I’m walking through the woods at night, finding my way with a torch. If I ask my friend to turn on a second torch, do we see any parts of the path suddenly get darker? Err.. hell no, everything just seems brighter. Hmmm… OK, I notice I’m confused, so I’m going to ‘bookmark’ this confusion to think about later.

Oh, and there’s one last bit of confusion to throw into the mixture. Back in the lab, we can add more slits in the screen and see the pattern change yet again. We’d want whatever explanation we come up with for the 2 slit case to also be able to explain situations like these:

feynman multislit mosaic v01.png

Now, back to the lecture. Feynman goes on to explain how the flat curves (made of real numbers) make no sense and to get the right answer we must let the contributions from each slit be composed of complex numbers (e.g. be a vector with a both a direction and a length, rather than a bar graph that only has a length.)

Or, to put it graphically, we can explain our graphs by making a bunch of vectors. So, if at each point the green is the sum of the orange and blue:

feynman vector annotation v01.png

OK, well that sounds like it has the potential to explain some things. But how exactly do we figure out the phase at each location?

Here’s the simple version of the equations for calculating it. It neglects phase changes over time, etc. but it’s good enough to give us the shape we need.

Complex Amplitude of a Single Slit

For those that are mathematically inclined, you can see the length is given by the sinc function, and the phase is just a complex rotation based on the ‘flight time’ it takes for the photon to get from the slit to the screen.

So when we graph these functions, here’s what appears on the screen. There’s a contribution due to slit 1, a contribution due to slit 2, and the green is the sum of the two:

Feynman Amplitude Spirals

It looks like we’re pretty close to understanding the lumpiness of our 2D graphs. There’s just one last trick we need to use before we start plotting everything. We need a way to ‘smush’ our 3D graphs back down into 2D. To do that we use the rule that the height of the 2D graph at any point is the absolute square of the vector length. This is known as the Born Rule and is a keystone of quantum physics. It’s written like this:

Now we have all the tricks needed to calculate the whole thing, and see if it matches the flat graphs that started us off.

Here’s my animation showing the process. I’d recommend watching it a couple of times to get the full  effect:

Does it explain our data? Yes, it’s a perfect match!

I also notice I’m no longer confused about how the ‘lumps’ in our graph came about. They’re simply the result of the two spirals being added together, mostly cancelling out at some points, and strongly reinforcing at others points.

Let’s go back to the multiple slit case. Do we still get the right result for the 4-slit case?

feynman multislit mosaic 4slit v01.png

4 slit case & the resulting pattern on the screen

Yep, another win. So once we found the right representation for what each slit provided (a complex number), we’re able to tackle situations with any number of slits (or possible paths the photon could take) just by using ordinary addition. 

So, thinking of things as having complex probability amplitudes rather than (real) probabilities was the key to making it work. I want to quickly cover the rules for doing this, since it’s the source of a lot of confusion about quantum physics. Here are Feynman’s rules for probability amplitudes:

1. The probability of an event is the absolute square of a complex quantity called probability amplitude.

2. When an event can occur in several alternative ways, the probability amplitude is the sum of each probability amplitude for each way considered separately.

3. If an experiment capable of determining which alternative is actually taken is performed, the interference is lost and the prob becomes the sum of the prob for each alternative.

So in other words, we have to be super careful where we apply the Born rule. Here’s a summary:

Guide to the Born Rule

So we’d use the first method  in any situation where we have two sources interfering, and where there is no way, even in principle, to tell which path the photon took. The interference is clear as day, and you’ll see a lumpy curve.

And we use the second method in any situation where there’s some way to ‘know’ which slit the photon went through. For example by putting different polarizing filters on each slits (which is sometimes described as ‘labelling’ the photons with their path information), we could then put another filter on our detectors, and tell which slit the photon came through. If we do that, there’s no interference pattern, and we only see a smooth curve.

Big, important point here. It doesn’t matter if you actually bother to measure the polarization of the photon. If your detector was switched off, or broken, or you forgot to look at the dial or something,  it still doesn’t matter. As long as there’s any way, even just in principle, to tell the which path the photon took, then the complex amplitudes don’t flow to the same final configuration, and the interference pattern disappears.

(Side note: Those two scenarios are the two extremes of something which is actually continuous.  If we had a sensor that performed a ‘shitty labelling’ of the photons, we would see a pattern somewhere in between the smooth and lumpy curves. Feynman explains this better in the lecture, but here’s my graph:)

feynman path detection v01.png

I apologise for my drawing skills


There was one final piece of confusion we haven’t tackled yet. Remember the night walk in the woods we talked about before? We noticed that turning on second torch didn’t make any parts of the walking track darker. So what’s up with that? Why did that situation show no apparent interference, but the one in the lab did?

The answer is that double slit experiment only shows the dramatic interference effects when the light sources are coherent, i.e. they have the same frequency and a fixed phase relationship. If we (for some reason) tried to walk along the dark path using only a handheld laser pointer, we’d immediately see the light was speckly, and that the beam had lots of lumpiness to it. And if our friend turned on their laser, we actually would see that some parts of the dirt track did indeed get darker! (as well as some other parts getting lighter, so that the average brightness increased)

(OK, side note for anyone as pedantic as me. While you can see laser speckle really easily with a single laser, strictly speaking any two handheld lasers are almost certainly not reliable enough frequency sources to see that kind of interference effect. It’s still doable in theory, but kinda tricky in practice. Rather than a $3 keychain laser pointer, you’d have to be hiking through the woods with something more like, say, an atomic clock strapped to your back, with a special mechanism that used the clock reference to tune a lab grade laser cavity, which had been modified to take advantage of Zeeman splitting of electron levels in a magnetic field, and has its cavity length controlled through servo feedback in order to guarantee a fixed phase relationship in the output beam. Easy, no?)

So we’re pretty much done. Hopefully the double slit seems a bit less mysterious now, and I hope my plots made it a bit clearer.

Oh yeah, and since (so far as I can see from checking a bunch of textbooks, talking to a couple of quantum physicists, and google image searching various keyword combinations) I’m the first person to plot this 3D shape, I’m going to take the opportunity to name it. I hereby dub it:

“The Feynman Amplitude Spiral”

If anyone knows of somewhere it’s been properly plotted before, please drop me an email? It’s obviously related to the Cornu spiral, but Cornu/Euler spirals are usually plotted as the sum of hundreds of vectors, where this is the sum of only two, and also we’re sweeping this curve in 3D as we vary the screen height.

I still can’t quite believe it took 50+ years for someone to get around to plotting it, advances in computer & display technology notwithstanding. I’m never going to be able to think about the double-slit experiment without seeing this shape.

Edit: There’s now a part 2, on making your own spiral

Posted in physics, Uncategorized | 6 Comments

Making the Braided Galton Board

Here’s the process for making the wire & bead Galton boards.

First up, cutting the wire to length. I screwed two wood screws right into the bench, then wrapped the wire back and forth till I had a bundle of 64.

wire measuring.JPG

Don’t cut the wire yet. Instead, wrap a length of copper around all the wires near one end. That’ll be the head of the display. Now all the wires are safely cinched at one end, you can cut them all at the other end. We now have 64 wires in a sort of ‘cat-of-nine-tails’ arrangement.

I used the same layout trick to make a bunch of little lengths to act as as the ties. A paint tin was about the right circumference. No idea how many I cut of these. Many?

wire for ties v01.jpg

Then, I used the lasercut frames to hold the Perler beads in place while they were being threaded. A red bead is used to separate the two sections, and also as something to tie the copper off on at the end.   threading jig v01.JPG

Oh yeah, huge tip here I almost forgot to mention. Put masking tape on the bottom of the bead frame. That stops the beads from  rolling away or getting knocked loose before you’ve finished threading them.

I think I decided it would be too fiddly to do all 64 at once, so I broke it up into groups of 16:

midway point v01.JPG

At this stage I questioned my sanity, and whether it was worth it. Thankfully I persevered. Deep breaths were needed.

Another useful trick was to tie off the first two steps of the sequence (i.e. groups of 16 in each) so that it would be easy to separate the loose strands later. Keeping 64 wires in any sort of left-to-right order on the table is pretty much impossible.

weaving in progress v01.JPG

48 of 64 threaded, and a whole lot of wrangling left to go

One thing I remember having to do is use copper wire as temporary ties. Once I had the rough structure tied together it was easy to neaten it up later. Trying to get it all cinched up and neat the first time is way too hard.

Around now it’s finally it started to come together, and I can stand back and enjoy it:

Finished work pair v01.JPG

32 state almost finished, 64 state version completed

Although it still took a very solid evening’s work, (I seem to remember leaving the makerspace after midnight?) I’m happy with the technique now. If you’re interested in maths or stats art, I’d highly recommend making one for yourself, you won’t regret it.

Files are here for anyone that wants to make their own:

Oh yeah. It has not escaped our notice that the specific method (rigid copper wire, cinched with same) immediately suggests a possible construction mechanism for making a  freestanding sculpture without the need for a support board at all to stand in free space. Hmm…. I might revisit this in the future and see if I can make something nifty looking using that. If anyone else wants to try it in the meantime, I’d love to see how it goes. 😀

Posted in Uncategorized | Leave a comment

Improved Braided Galton Board

I’ve played with the Galton Board before a couple of times. It’s a lovely demonstration of the ‘Central Limit Theorem’ in statistics. That is, it shows in a really intuitive way how repeated binomial events (like coin flips) average out the number of the results into a bell curve.

Finished work overview v01.JPG

In the Galton board, every way from the start to the finish is equally likely.  However, since there are lots more ways to reach the middle than there are to reach the ends, the middle results become more likely.

For example, if we flip a coin exactly 4 times, there’s precisely one way to get all heads:


But there are six ways to get two heads:

                  HH-T-T                  H-T-H-T                  H-T-T-H

T-HH-T                  T-H-T-H                  T-T-HH

So if we flip a coin four times, we must expect that getting a total of two heads is six times more likely than getting a total four heads.

I was pretty happy with my previous Galton boards, but I was still itching for a display with a record of the path each string takes. I realised that if I marked each string twice with the binary code for its route, (once as it progresses through the maze, once as it reaches the bottom) then you’d be able to see that all the final points it ends up in have the same number of colours in each.

The question was just how to be able to make it without having to spend crazy amounts of time assembling it. I tried out a couple of construction methods, first craft beads & builder’s twine:

unfinished early prototype v01.jpg

So much threading of string. Make the hurt stop.

Then  I actually made a rig to spray paint string with binary patterns through a mask. Note the spacing on the right is larger, to give more room for string to be used up bending through the maze. spraypaint_mask_v02.JPG

The spray painting worked fairly well, but it wasn’t as easy as I thought to wrangle all the string together once it was done.

I put that aside for a while, until I got playing with Perler Beads for another project. I realised that since those beads are flatter cylinders than the ones I first tried, that I could make a jig to hold them in place that would make the threading much easier:

threading jig v01.JPG

Binary in motion

All that remained to make it practical was to find some stiffer thread than builder’s cord. That’s when I remembered we had a huge roll of copper wire at Robots and Dinosaurs that hadn’t been touched in a few years. That made it so much easier to put together, and has a beautiful coppery aesthetic to boot!

weaving closeup v02.JPG

Aww yeah.

And here’s a closeup showing that yes, all the bins for a given final state have the same number of white and black beads in each. The sheer ‘heft’ of the middle states is a very nice tangible demonstration of the central limit theorem. final state closeup v01.JPG

And the amount of copper at the start compared to the end is a lovely way to demonstrate the flow of probability mass. It starts off almost as thick as a finger, and tapers down to a single strand.

bifurcating v01.jpeg

For those that want to make their own, I’ll do a second post shortly with detailed instructions. This method is much improved over my first attempts, but it’s still an evening’s work to put together a board.

Still, I’m pretty darn happy with that, and I can safely say after spending so many hours with beads, the centra limit theorem is something I’m unlikely ever to forget.

Posted in Uncategorized | 2 Comments

I’m on EEVBlog

At the Electronex trade show last week I bumped into Dave Jone from EEVBLOG. We got chatting about the polarization stuff I was working on, and after a few minutes Dave turned to me and said “Wait, why aren’t we filming this?”. So I toodled off to my car and grabbed a bunch of bits and pieces and we did an impromptu filming session outside:

Apologies to anyone I confused, everything was totally off the cuff and improvised, and I didn’t have a chance to print out supporting diagrams which might have made it clearer.

I should also mention that I’m just following in the footsteps of David Prutchi, and if you want to get into polarized imaging please read his excellent whitepaper on the subject.

and and check out the page for his Dolpi Imager.

The relevant blog posts for the bits I was playing with are here:

A couple of minor things to correct in what I said:

  • Single mode fibres aren’t narrower than the wavelength of light they carry, just close-ish to it. (As opposed to multi-mode fibre that might be a hundred times larger) E.g. an IR laser might have a wavelength of 1.5um, a single mode fibre for it might be 8um, and a multi-mode fibre for it might be 100um.
  • Glucose is the sugar I was talking about, in right handed (dextrose or D-glucose) and left handed (L-glucose) and which is capable of optical rotation. Sucrose is more complicated.

And a couple of questions people asked me after:

  • Why not use sugar to do the optical rotation and determine the difference between left and right handedness?
    • Good question. A sugar rotator’s axis is through the R/L points on the sphere, so it won’t move things of the equator. To do that you need something like a waveplate (the green arrow in my model)
  • Why the hell didn’t you clean the window on your LCD device. It’s dirty!
    • That’s not dirt, that science! Or, rather I was avoiding the need for an expensive professional waveplate by using adhesive cellophane which has been stretched and oriented at an exact angle to the LCDs optical axes. It’s not super pretty, but the device would have gone from costing maybe $20 to more than $100 if I hadn’t used it. When I’ve finished my next round of testing I’ll publish a full set of design files and plans for people to make their own.
  • So what about your ipad screen?
    • Yeah, OK, that dirt is actual dirt.
Posted in Uncategorized | 1 Comment