Archimedean spiral on a hemisphere

1.1k Views Asked by At

I'm trying to create an Archimedean spiral trajectory on a unit hemisphere, which starts at the zenith and evolves as a function of time (see Figure 1). During the same period of time, the length of spiral segments should stay constant (I think in 2D it would mean a constant linear velocity (see Figure 2)).

(Figure 1)Figure 1

(Figure 2)enter image description here

I want to describe this trajectory as a function of the altitude and azimuth as seen from an observer located at the center of the hemisphere (see Figure 3). What would be the equations for azimuth and elevation?

(Figure 3)enter image description here

Edit

I made a MATLAB script to test the equations. However, I'm not sure if it respect a constant linear velocity (i.e. a limited azimuth and elevation slew rates). Also, I'm not sure how to limit the spacing in degrees between each sample and between each spiral winding.

    N = 100;
    volLim = pi/2; % volume limit. volLim = pi will give a hemisphere.
    for ii = 1:N
        z(ii) = -((volLim/pi)*(ii-1)-N)/N;
        x(ii) = cos(sqrt(N*pi)*asin(z(ii)))*sqrt(1-z(ii)^2);
        y(ii) = sin(sqrt(N*pi)*asin(z(ii)))*sqrt(1-z(ii)^2);
    end
    plot3(x,y,z,'-o')
1

There are 1 best solutions below

4
On

ETA: Oops, I've got an arithmetical error here; let me work it out. ETA2: I think I've got it, but please let me know if I've fouled something up.

Let's work out a possible parametrization, and worry about uniform linear speed later. Begin with some time parameter $\tau$, and let azimuth $\phi$ vary linearly with $\tau$:

$$ \phi = \phi_0 + k\tau $$

Then the revolutions of the path around the zenithal axis are periodic with $\tau$, and we can therefore let altitude/elevation start at $\pi/2$ and decrease at constant rate with $\tau$:

$$ \theta = \frac\pi2 - c\tau $$

This satisfies the conditions except for uniform linear speed. Our approach will be to come up with a one-to-one mapping between real time $t$ and parametrized time $\tau$ so that we obtain uniform linear speed in $t$. We write

$$ ds^2 = d\theta^2 + d\phi^2 \cos^2 \theta = c^2d\tau^2+k^2d\tau^2\sin^2c\tau $$

If we want constant linear speed $v$, then

$$ ds^2 = v^2dt^2 $$

so

$$ v^2dt^2 = c^2d\tau^2+k^2d\tau^2\sin^2c\tau = (c^2+k^2\sin^2c\tau) d\tau^2 $$

or

$$ \frac{d\tau}{dt} = \frac{v}{\sqrt{c^2+k^2\sin^2c\tau}} $$

Unfortunately, inverting this symbolically leads you to an elliptic integral (see WolframAlpha for full details); however, if you're just looking for a computational solution, you could increment $\tau$ by an amount inversely equal to $v/(ds/dt)$ at every iteration, and that would get you close.