A mixture of the idea of a spherical grid, which is two dimensional, and a spiral, which is one long line, consists in drawing a Lissajou figure over the spherical surface. To create a closed figure, increments in azimuth should be rational multiples of the increments in longitude, allowing the figure to close when their least common multiple has been reached.
/* geosl - represent a sphere by a lissajous figure */ /* extending from pole to pole */ void geosl(r0,r,a0,l,m) double *r0, r, *a0; int l, m; { int i, n; double d, th, ph, dt, dp, y0, o[3][3], w[3]; y0=r0[1]; n=2048; th=0.0; ph=0.0; d=6.28318/((double)n); dt=((double)l)*d; dp=((double)m)*d; spheu(o,a0); sphrv(w,r,th,ph); sphap(w,o,w,r0); pltms(w[0],w[2],0); for (i=0; i<n; i++) { th+=dt; ph+=dp; sphrv(w,r,th,ph); sphap(w,o,w,r0); pltms(w[0],w[2],w[1]>=y0); } }