Euclidean geometry in javascript.
This construction to trisect a line segment comes from Proofs Without Words by Scott Coble, via this page. The code looks like this:
scene .point ('A', width/7*3, height/3) .point ('B', width/7*5, height/3) .segment ('S', 'A', 'B') .circle ('M', 'A', 'B') .circle ('N', 'B', 'A') .intersection ('C', 'M', 'N', 0) .intersection ('D', 'M', 'N', 1) .line ('T', 'A', 'C') .segment ('U', 'A', 'D') .intersection ('E', 'T', 'M', scene.isnt('C')) .segment ('V', 'E', 'B') .intersection ('F', 'V', 'U') .segment ('W', 'F', 'C') .intersection ('W', 'S')(The first argument in each case is a label. The third argument to
intersection
disambiguates if there could be multiple
intersections.)