next up previous contents
Next: Spherical Lissajous figure Up: Representation of a sphere Previous: Spherical grid   Contents

Spiral running from pole to pole

/* geosp - scale spherical parameters */

void geosp(s,f,n) double s[][7], f; int n; {int i;
for (i=0; i<n; i++) {s[i][0]*=f; s[i][1]*=f; s[i][2]*=f; s[i][3]*=f;}}

Even easier to draw than the traditional grid is a spiral running from pole to pole. It can be created by one continuous pen movement, but still serves to identify the orientation of the sphere by emphasizing the location of the poles. Rotations about the pole are much harder to discern, as they are in most of the presentations.

/* geosr - scale spherical radii */

geosr(s,f,n) double s[][7], f; int n; {int i;
for (i=0; i<n; i++) s[i][3]*=f;}

Figure: Sphere represented by a spiral running from pole to pole
\begin{figure}\begin{picture}(300,240)(-60,0)
\epsffile{fig2.eps}\end{picture}\end{figure}

/* geoss - represent a sphere by a spiral running from */
/* pole to pole                                        */

geoss(r0,r,a0) double *r0, r, *a0; {
int    i, n;
double g, th, dh, y0, o[3][3], w[3];
y0=r0[1];
n=2048;
g=64.0;
th=0.0;
dh=3.14159/((double)n);
spheu(o,a0);
sphrv(w,r,th,g*th);
sphap(w,o,w,r0);
pltms(w[0],w[2],0);
for (i=0; i<n; i++) {
  th+=dh;
  sphrv(w,r,th,g*th);
  sphap(w,o,w,r0);
  pltms(w[0],w[2],w[1]>=y0?1:0);
  }
}



Pedro Hernandez 2004-05-13