Tangent Ruler – Draw circles passing through two points

Unintentionally I’m going to continue my tradition of making projects involving rulers.

I saw this picture online: https://imgur.com/t/aiko/mu96ohu and I thought it was too cute a technique not to try out for myself. I did a couple of minutes sketching in Inkscape, and then had it lasercut shortly thereafter.

Here’s how to use it. First, simply drive a couple of nails through your favourite table or work surface:


Then, using a pen, draw out the circle while keeping the ruler pressed against the two nails:


You should end up with a perfect(ish) circle that passes smoothly through both nails.

I’m going to try to remember this trick, I can see it being useful for laying out parts for machining, or to make shapes based off existing features.

Files here for anyone that wants to make their own:



Posted in Uncategorized | Leave a comment

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: https://www.thingiverse.com/thing:3235423

Bloch Sphere: https://www.thingiverse.com/thing:3053421

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: https://www.smbc-comics.com/comic/the-talk

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: https://www.thingiverse.com/thing:3212956

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: https://www.thingiverse.com/thing:3210276


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: https://www.thingiverse.com/thing:3212921



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: https://www.thingiverse.com/thing:3212918

Also see Part 3: FAQ

Posted in physics, Uncategorized | 1 Comment