The window "Curves: X(t) and Y(t)" displays the curves X(t) and Y(t), which are circles by default, with disp giving the displacement of the circle Y(t) from its starting position.

The window "Z(t, s)" displays the surface Z(t,s) = (X(t) – Y(s))/|X(t) – Y(s)|, which lies on a sphere and is colored green for Zt(t,s) × Zs(t,s) pointing away from the origin and magenta for Zt(t,s) × Zs(t,s) pointing toward the origin. The linking number of X(t) and Y(t) is given by the number of times that Z(t,s) covers the sphere, where the number of times Z(t,s) covers a point P on the sphere is given by the number of green points of Z(t,s) at P minus the number of magenta points of Z(t,s) at P. The surface Z(t,s) is distorted slightly, with the magnitude of this distortion given by sep, to make it easier to see how many times each point on the sphere is covered.

It is possible to change disp, sep, X(t), and Y(t) in the control window. Observe what happens in the default example as disp increases from 0 to 2.