In the always interesting Mathologer channel there is a video about what it is called there Petr's miracle, a nice geometrical result that was unnoticed by the mathematical community during many years and still today is not widely known.
The statement, proof and several details can be checked in the video or in the wikipedia entry about Petr-Douglas-Neumann theorem. The purpose here is to show some examples and provide my own code to produce them. In connection with this, the figures in this document are generated with the sagemath code below. Full resolution versions are obtained clicking on the images.
The result is a generalization of Napoleon's theorem that can be rephrased saying that when we place isosceles triangles with apex angles of 120 degrees on the sides of a given triangle then the apex vertices, marked with (1) in the figure, determine an equilateral triangle (in green color). In the usual statement, the isosceles triangles are assumed to be drawn on the exterior of the given triangle.
Petr's miracle, Petr-Douglas-Neumann theorem, generalizes the result to polygons of n sides. Isosceles triangles with apex vertexes of 360/n degrees are employed to produce a first generation of apex vertexes that determine a new n-gon. The second generation is obtained from the first one using apex angles of 360·2/n and the process is iterated using angles of 360·k/n degrees in the k-step until the n-2 generation of apex vertexes that, magically, determine a regular n-gon.
For quadrilaterals, n=4, the angles for the first generation are right angles and for the second generation are straight angles leading to degenerate triangles (segments with the apex vertex on the middle point).
For n greater than 4 in high generations they appear reflex angles (greater than 180 degrees). This is interpreted drawing the isosceles triangles in the other side, invading the interior part. Notice in the following example for n=6 the lines connecting the vertexes of the third generation (3) with those of the fourth (4). In this case the angles are of 240 degrees and correspond to triangles as in Napoleon's theorem (of 120 degrees apex angle) but towards the interior part.
As exemplified in the previous figure, the result works for non convex polygons. The funny thing is that it also works for arbitrary polygonal lines even if they do not determine a simple polygon.
One of the proofs of the result (the one in the previous video) is based on noticing that regular polygons are eigenpolygons, so to speak, of the process. They only suffer rotations and dilations. This is an example with n=7:
Some experiments show that the process mollifies in some sense the irregularities. In the next figure we see that attaching a nose to the previous heptagon it becomes less prominent in the second generation and in the fourth generation we observe an almost regular polygon.
For references to papers and code, check the description of the video.
sagemath
code that produces all the images:
def ppol(L,k): |