Interference
This animation shows the stereographic images of two families of circles on the 2-sphere. Each family consists of concentric circles (or circles of latitude, if you like) centered on one of the points $(-1/\sqrt{2},1/\sqrt{2},0)$ or $(1/\sqrt{2},1/\sqrt{2},0)$. Since stereographic projection projection takes circles to circles, the images are also circles, but they're no longer concentric.
It would have been cleaner to implement these as Circle
s rather than Polygon
s, but I didn't have the patience to figure out the center and radius of each of the projected circles, so instead I just projected a bunch of points along each original circle and made the resulting points in the plane into a Polygon
.
Here's the code (note that the appearance of $0.001$ is to avoid divide-by-zero errors):
Stereo[{x_, y_, z_}] := 1/(1 - z) {x, y};
DynamicModule[{p = Normalize /@ {{-1, 1, 0}, {1, 1, 0}}, b, n = 36, cols = {White, GrayLevel[.1]}},
b = Orthogonalize[NullSpace[{#}]] & /@ p;
Manipulate[
Graphics[{FaceForm[None],
EdgeForm[Directive[Thickness[.006], Opacity[.4], cols[[1]]]],
Table[
Polygon[Table[Stereo[Cos[r + s] p[[i]] + Sin[r + s] (Cos[t] b[[i, 1]] + Sin[t] b[[i, 2]])],
{t, 0., 2 Pi, 2 Pi/300}]],
{i, 1, 2}, {s, 0.001, Pi + 0.001 - Pi/n, Pi/n}]},
PlotRange -> 2, ImageSize -> 540, Axes -> None, Background -> cols[[-1]]],
{r, 0., Pi/n - #, #}] &[Pi/(40 n)]
]