the stubborn spiral

Rusin’s disco ball
golden angles
Saff & Kuijlaars

Examples of three algorithms for distributing nodes fairly evenly over a sphere. Those on the middle and right slice the sphere into parallel bands of equal area (much narrower than the white discs), and put one node (center of a disc) somewhere in each band. Saff & Kuijlaars place the nodes along a spiral path across the bands, keeping the distance between turns of the spiral roughly constant. Failing to grok how their rule does that, I approach it from another angle.

In the ideal limit (N approaching infinity), the unit sphere is covered exactly once by a strip of width 2√(π/N) and length 2√(Nπ); the strip is divided into N nearly square pieces, with a node in the center of each. What parametric functions of -1 < t < 1 describe the midline of the strip?

(In what follows, θ and φ have their conventional meanings of longitude and co-latitude, i.e. angular distance from a pole.)

The equal slices rule gives cosφ = t. I seek a function θ(t) such that the derivative along the path has constant magnitude:

ds² = dφ² + sin²φ dθ² = Nπ dt²

I proceed:

–sinφ dφ = dt; dφ = –dt / sinφ = –dt / √(1–t²)

ds² = Nπ dt² = ( dt² / (1–t²) ) + (1–t²) dθ²

(1–t²) dθ² = dt² (Nπ – 1 / (1–t²))
  = dt² (Nπ – Nπt² – 1) / (1–t²)

dθ² = dt² (Nπ – Nπt² – 1) / (1–t²)²

So I ask the Wolfram Integrator to integrate

Sqrt[ n*Pi - n*Pi*x^2 - 1 ] / (1-x^2)

and it says

Now, I do make mistakes; I’ve worked the problem several times now and got subtly different answers. Last time around, in fact, there were no imaginary coefficients; so I made this in PoV-Ray:

Not quite what I’m looking for. Can you spot where I went wrong?

This entry was posted in mathematics. Bookmark the permalink.

7 Responses to the stubborn spiral

  1. chris landauer says:

    one problem is that when t=±1, the integrand is undefined — it might be easier to compute dt/dθ, instead of the reciprocal

    also, the square roots are problematic, since some terms are negative at t=±1: for example,
      n*pi*(1-t^2)-1
    is -1 when t=±1, and is positive for the midrange.

  2. Anton says:

    The function need not be valid all the way to the pole: I only need it for |t|≤(N-1)/N.
    But never mind, it’s not a bad idea to eliminate t rather than φ. So:

    dφ² + sin²φ dθ² = Nπ sin²φ dφ²

    dθ² = (Nπ − csc²φ) dφ²

    . . so we integrate Sqrt[n*Pi-csc[x]^2] and get —

    — not even an attempt. Wow.

    Well, the point about square roots suggests that my blunder was earlier in the process.

  3. chris landauer says:

    this integral is much better, but it still needs special estimates at the boundaries (here x is phi, not t as it was in the other integral, so this integral needs to go from x=0 to x=pi, where csc[x] is infinite at both endpoints)

    but it is otherwise probly ok, even if not closed form —

    it is easy to show that for
      |t| < 1,
    we have
      n > pi / (2*pi – 1) (~0.6),
    and we can show that
      n^2 / (2*n-1) < (n-1)/n) using a special case to avoid the weirdness in the integrals

  4. Anton says:

    Again, I seek an antiderivative valid for (1–N)/N ≤ t = cosφ ≤ (N–1)/N, not a definite integral from pole to pole.

  5. Alex says:

    Wow; what a wonderful use of both POVRay and Mathematica. (first time visitor)

  6. Anton says:

    Now I see one blunder: the denominator of the integrand ought to be squared! The result is still far from pretty:

Leave a Reply

Your email address will not be published. Required fields are marked *