I am currently reconstructing my geometrical construction application, Geostruct, to run in a web page using javascript.

One of the actions is to find the points of intersection of a straight line with a circle. Here is a gif showing the result:

The algebra needed to solve the two simultaneous equations is straightforward, but a pain in the butt to get right and code up, so I thought “Why not solve the equations for the very simple case of the circle centered at the origin and the line vertical, at the same distance (a) from the centre of the circle

Then it is a simple matter of rotating the two points (a,b) and (a,-b) about the origin, through the angle made by the original line to the vertical, and then translating the circle back to its original position, the translated points are then the desired points of intersection.

The same routine can be used for the intersection of two circles, with a little bit of prior calculation.

### Like this:

Like Loading...

*Related*

I think there’s an even bigger lesson here than rigid motions. This is an example of the group theoretic (or linear algebraic) notion of conjugation. Instead of doing A which is hard, transform it with B first, then do A in a situation where it’s easier, then undo B. Here B is the moving and rotating.

I point out to kids that this works for things like going into houses: it’s much easier if you apply B = open the door to conjugate your A = going into the house.

Once you start seeing abstract patterns like this, you find them everywhere!