Correcting Harborth on rational distances
Heiko Harborth, in “Integral Distances in Point Sets” (at least, in the versions I can access online), claims without proof that the following construction produces an infinite dense set of points on the unit circle with rational-number distances: just take the points at all integer multiples of the angle of an integer right triangle. In my book and elsewhere I have uncritically repeated that claim. But this is just incorrect. The points \((1,0)\) and \((4/5,3/5)\) on the unit circle are separated from each other by the angle of a 3-4-5 right triangle, and are obviously at distance \(\sqrt{2/5}\) apart, not a rational number. You do get rational coordinates by this repeated rotation, but not rational distances.
Harborth describes another method for finding dense sets of points at rational distances from each other on a circle, which appears better-grounded. It uses Ptolemy’s theorem on the relation between the sides and diagonals of a cyclic quadrilateral, which among other things implies that if five of these six numbers are rational, so is the sixth. If you have a system of at least three points on a circle with all distances rational, and you reflect any one of these points \(A\) across the bisector of two other points \(B\) and \(C\), then the reflected copy \(A'\) continues to have the same rational distance to \(B\) and \(C\). For any other point \(D\) of the original set (including the special case \(D=A\)), \(A'BCD\) is a quadrilateral with five rational lengths, so \(A'D\) is rational. Thus, the new point \(A'\) has rational distances to all previous points. Repeating this process can produce rational-distance sets on the circle, but it’s not as obvious as for the rotation method that this produces infinite dense sets.
As it turns out, though, we can use this idea to provide a very simple patch to Harborth’s right-triangle rotation method. Instead of keeping the points at all integer multiples of the angle of a Pythagorean triangle, just choose all even-integer multiples!
Here’s a visual proof for why this works, drawn using a 3-4-5 right triangle. Four small copies of this triangle are outlined in black. You can also see a larger blue shaded isosceles triangle, which is reflected across one of its legs every time you rotate twice by the 3-4-5 sharp angle. So keeping only even multiples of the 3-4-5 angle is the same thing as repeatedly applying the Ptolemy reflection method to the shaded blue triangle.
The remaining question we need to answer, to prove that this works, is: why does the shaded blue isosceles triangle have all its edge lengths rational? We could just calculate, for the 3-4-5 triangle, but that wouldn’t be a proof for all integer right triangles. Instead, though, notice that if you split the shaded blue triangle in half, on its horizontal axis of symmetry, you get two larger 3-4-5 triangles! They’re right triangles, because that’s what you get when you split any isosceles triangle in half in this way, and they have the same angles as the four smaller 3-4-5 triangles at the apex of the isosceles triangle, the rightmost point of the figure. So because they have two angles in common, they’re similar triangles.
But we already know the radius of the circle is rational (it’s just one). The sides of the four small right triangles are rational, because they’re rational multiples of a rational hypotenuse. The legs of the shaded blue triangle are rational, because they’re doubled from one of the sides of the four small right triangles. The sides of the two halves of the shaded isosceles triangle are rational, because again they’re rational multiples of a rational hypotenuse. And therefore the base of the isosceles triangle is rational, because it’s twice one of these sides.
To sum up: starting with any integer right triangle, the associated isosceles triangle has rational coordinates and rational edge lengths, and is reflected across an edge bisector every time we rotate twice by the angle of the right triangle. Therefore, by the Ptolemy’s theorem argument, all of the vertices in all of its rotated copies have rational number distances with respect to each other. And because we’re rotating by an angle with rational sine and cosine, all rotations have rational-number coordinates.