Finding intersections of a spherical spiral with a geodesic segment

61 Views Asked by At

Long story short:

  1. Can we analytically solve for $φ$ in this equation? $\sin(\varphi) \cdot (A \cdot \cos(k \cdot \varphi) + B \cdot \sin(k \cdot \varphi)) + C \cdot \cos(\varphi)=0$
  2. Given a point on a geodesic, how can you tell whether it's on the shortest path between two points also on the geodesic (and not on the longer path)?

Conventions:

  • $3$D Cartesian coordinates $(x,y,z)$ are right-handed.
  • Spherical coordinates $(\theta,\varphi)$ as described below, with the distance from the origin ($r$) always being $1$ and therefore ignored in this post.
  • $\theta \in [0,2\pi)$ is the angle from the positive $x$ axis to the origin to the point on the $xy$ plane above/below the point (counterclockwise).
  • $\varphi \in [0,\pi]$ is the angle from the positive $z$ axis to the origin to the point.

I am looking for the intersections of a spherical spiral with a geodesic segment. The spiral is defined by $\theta (\varphi)= k\varphi$ with $\varphi \in [0,\pi]$. The goedesic segment is defined as the shorter path along the unit circle between points $p_0$ $(\theta _0,\varphi _0)$ or $(x_0,y_0,z_0)$ and $p_1$ $(\theta _1,\varphi _1)$ or $(x_1,y_1,z_1)$. $p_0$ and $p_1$ are never polar opposites, so we don't have to worry about the case where there are infinitely many paths of equal length. Here is what I have so far:

A geodesic is just the intersection of a sphere with a plane that passes through its origin. So the geodesic is described by $Ax+By+Cz=0$, $x^2+y^2+z^2=1$, with some start and end points. The geodesic had better contain the two bounding points, so if we find the plane containing $p_0$, $p_1$, and the origin, we should have our description of the geodesic. So let's cross-multiply the position vectors of $p_0$ and $p_1$ in Cartesian coordinates to get $A, B,$ and $C$:

$$Ax + By + Cz = 0$$

$$A = y_0 \cdot z_1 - z_0 \cdot y_1$$

$$B = z_0 \cdot x_1 - x_0 \cdot x_1$$

$$C = x_0 \cdot y_1 - y_0 \cdot z_1$$

Then I convert to spherical coordinates, again assuming $r=1$:

$$A \cdot \cos(\theta) \cdot \sin(\varphi) + B \cdot \sin(\theta) \cdot \sin(\varphi) + C \cdot \cos(\theta) = 0$$

$$A = \sin(\theta _0) \cdot \sin(\varphi _0) \cdot \cos(\varphi_1) - \cos(\varphi_0) \cdot \sin(\theta_1) \cdot \sin(\varphi _1)$$

$$B = \cos(\varphi _0) \cdot \cos(\theta _1) \cdot \sin(\varphi _1) - \cos(\theta _0) \cdot \sin(\varphi _0) \cdot \cos( \varphi _1)$$

$$C = \cos(\theta _0) \cdot \sin(\varphi _0) \cdot \sin(\theta _1) \cdot \sin(\varphi _1) - \sin(\theta _0) \cdot \sin(\varphi_ 0) \cdot \cos(\theta _1) \cdot \sin(\varphi _1)$$

That's getting messy! Let's ignore $A, B$ and $C$ for now, since they all evaluate to constants. Now to find the intersections with the spiral, just substitute $\theta$ with $k \varphi$:

$$A \cdot \cos(k \varphi) \cdot \sin(\varphi) + B \cdot \sin(k \varphi) \cdot \sin(\varphi) + C \cdot \cos(\varphi) = 0$$

and factor:

$$\sin(\varphi) \cdot (A \cdot \cos(k \varphi) + B \cdot \sin(k \varphi)) + C \cdot \cos(\varphi) = 0$$

Now I want all the values of $\varphi \in [0,\pi]$ that satisfy these equations. The problem is, I don't know how to find the analytic solution! I can do it numerically within a certain tolerance pretty easily, but I'd love to have an exact answer.

The other problem I have is that once I have found these intersections, I need to determine which of them lie on the shorter of the two paths between $p_0$ and $p_1$. I know I can't just ask whether the $\varphi$ coordinate is between $\varphi _0$ and $\varphi _1$, since, e.g., if $p_0 = (0,\frac{\pi}{4})$ and $(\frac{\pi}{4},\frac{\pi}{4})$, the geodesic will have $\varphi > \frac{\pi}{4}$ between the two points. I also can't just ask whether the intersection's $\theta$ coordinate is between $\theta _0$ and $\theta _1$, since that will always be true if $p_0$ and $p_1$ have the same $\theta$.

1

There are 1 best solutions below

0
On

I am afraid there is no analytical solution of this equation, because the arguments of the trigonometric functions, $\phi$ and $k\phi$ can be incommensurable.

There could be solutions for a few rational values of $k$ such as $\dfrac12,1,2$. By rationalizing the trigonometric functions (Weierstrass substitution) or using the complex representation, you can turn the equation to a polynomial form.