Cut The Knot!

An interactive column using Java applets
by Alex Bogomolny

A Thing In Common

June 2000

What follows is an attempt to answer a frequent question. The two applets below are supposed to serve as a backdrop for my answer. Besides both being written in Java and by the same author, the applets have something else in common. As, in fact, do other applets and a great deal of programming-free human activities and their results. With the customary reference to the lack of space, I'll try to make do with just those two applets. Hopefully, the two are sufficiently different to make the point.

The first one is a puzzle. Draw an {N/D} star polygon - a polygon whose N vertices are uniformly distributed on a circle, but are connected by counting the D-th neighbor. Regular polygons correspond to D = 1, and their symbol is usually abbreviated to {N}.

In the applet the symbol {N/D} appears in the lower right corner. Both numbers can be modified by clicking a little off their center lines. When N and D have a common factor, there are conflicting view points as to whether the configuration of nodes and edges represents a single polygon or a collection of polygons with fewer vertices. However, for the puzzle we shall assume that N and D are mutually prime. In the classical case, N = 8 and D = 3. The object is to place 7 coins (N - 1 in general) at the vertices of the star. A coin may only be placed by dragging the cursor along an edge from one vertex to another.

This applet requires Sun's Java VM 2 which your browser may perceive as a popup. Which it is not. If you want to see the applet work, visit Sun's website at, download and install Java VM and enjoy the applet.

What if applet does not run?

A clue to the puzzle lies in another representation which is very similar to that of the 4 Knights and the Looping Chips puzzles. Think of the star as being formed by a single thread tied in a loop. Tie knots at the vertices and stretch the thread into a simple loop. This is the new puzzle representation. Now in a single move a coin must slide between adjacent vertices. A coinless vertex is unreachable if both its neighbors have coins on them. The right strategy is then to avoid such situations. Place coins at adjacent vertices so that at any stage of the solution there's just one stretch of empty nodes and just one stretch of filled nodes. At every step (excluding the first) there are exactly two correct moves. There are many more chances to make a mistake.

The second applet is a demonstration of an optical illusion. In its original form, as conceived by professor Misha Pavel of the Oregon Graduate Institute, a rotating square is occluded by four other squares that leave a cross-like opening to view the motion. Look at the applet. The impression you are supposed to get is that the square periodically expands and then shrinks and then expands again. That this is an illusion can be verified by changing the size of the occluding objects. The narrower is the aperture, the more pronounced is the effect.

This applet requires Sun's Java VM 2 which your browser may perceive as a popup. Which it is not. If you want to see the applet work, visit Sun's website at, download and install Java VM and enjoy the applet.

What if applet does not run?

The applet allows also for two kinds of triangular occluders and the triangular rotating shape. In one case (six triangles forming a hexagon, as suggested by Arthur van Houdt) the effect is about the same. Perhaps surprisingly, in another (four triangles) the visual effect is quite different. With triangular occluders, the sides of the rotating shape seem to cave in. Also, when the occluders and the rotating object are of different shapes, the rotating object seems to wobble not unlike this happens with rolling shapes of constant width. The wobbling seems to be more pronounced in the vertical than other directions.

Now, back to the opening paragraph, what is that common thing shared by the two applets? Well, both use the Pythagorean Theorem.

In the first applet, when the user presses a mouse button, the program finds the node nearest to the cursor. If the distance between the two is small enough, the node is marked as the starting point for a move. When the cursor is dragged from that node, the applet must determine along which of the two edges that converge at the node the user intends to proceed. This is done by computing the distances from the cursor to the edges and selecting the shortest of the two. However, while the cursor is close to the starting node, the computations lead to unstable results and the selection of an edge is not sufficiently safe. Therefore, I only apply those computations after the cursor was dragged some distance away from the node. The node at the other end of the selected edge is marked as filled when the button is released with the cursor in the proximity of that node.

As regard the second applet, its dependency on trigonometry is obvious. The matrix of rotation through angle φ is well known:


whereas the functions cos() and sin() satisfy the fundamental identity

cos²(φ) + sin²(φ) = 1

which is but another form of the Pythagorean theorem. More directly the theorem is used to compute the side length of the stationary triangle in response to changes in the scroller position.

Now, the question I have been trying to answer was:

How do you use the Pythagorean Theorem in your daily life?

A short answer is I measure distances, as above. I add emphatically that, due to my interests and occupation, I measure distances all the time.

I know that the answer is not very satisfactory, because of a frequent follow-up, Anything else? The latter flashes a red light. For I am well aware that, while true, any short answer would profane the theorem. This is because the Pythagorean theorem is too fundamental to reduce its utility to a list of daily applications, however long. In a sense, the theorem gives a concise Description of the space as we perceive it. (Quite appropriately, Pythagoras was more of a mystic than a mathematician.) One can even say that the reason we live in an Euclidean (read the customary) space is that the Pythagorean theorem holds true in the world around us.

Time had different impacts on Pythagoras' and Euclid's (geometric) bequests to humankind. Euclid left us an all-time bestseller that shaped mathematical thought over the space of two millennia. In the 19th century his world perception was shown not to be the only possible. Euclidean geometry became one of many. (And this is how it is treated in a modern introduction to geometry.) In the 20th century, Einstein's General Relativity showed that geometry of the world is more complex than was envisaged by Pythagoras. According to Einstein, Pythagoras' world vision is not inaccurate and not incorrect. It is small. Pythagoras' view (as expressed in his theorem) is a true reflection of our surroundings. But we can see just that far.

Speaking metaphorically, an urgent request for a list of daily applications of the Pythagorean theorem is an indication of just how short our vision may be.


  1. F. Schuh, The Master Book of Mathematical Recreations, Dover, 1968, pp 13-17

|Contact| |Front page| |Contents| |Eye opener|

Copyright © 1996-2018 Alexander Bogomolny