Spherical Triangles

252 Views Asked by At

I'm trying to figure out how to calculate coordinates on a globe, and I would like to ask for some help.


Let's say I have POINT A on the globe with the following coordinates:

POINT A

Latitude 45° 27' 50.95" N

Longitude 9° 11' 23.98" E


Also I have POINT B which is the Antipode:

POINT B

Latitude 45° 27' 50.95" S

Longitude 170° 48' 36.02" W


Given we are on a sphere (globe), from Point A to Point B for example I can draw 360 great circles, one for each single degree of the sphere:

  • and the distance to go from Point A to Point B is 180° (first semi-circle)
  • and the distance to go back from Point B to Point A is also 180° (second semi-circle)

Now let's say I have POINT C with the following coordinates:

POINT C

Latitude 45° 26' 48.53" N

Longitude 9° 1' 58.11" E


Given these information, THERE IS ONLY ONE GREAT CIRCLE which:

START IN POINT A

GOES THROUGH POINT C

ARRIVE IN POINT B (completing the first semi-circle of 180°)

COME BACK IN POINT A (completing the second semi-circle of 180°)


My problem is to find the formula to calculate the coordinates of the 2 Points which are half-way (90°) from Point A to Point B.

Let's call these 2 Points as M and N:

START in POINT A

GOES THROUGH POINT C

PASS THROUGH POINT M (at 90°)

ARRIVE IN POINT B (completing the first semi-circle of 180°)

PASS TO POINT N (at 270°)

COME BACK IN POINT A (completing the second semi-circle of 180°)

--- Which is the formula to calculate M and N?


In a - plain surface - i would have used the simple proportion of triangles to calculate them, but given is a sphere I don't know the formula to be applied.

I did some online search but I find a kind of difficult to figure it out. I have been out of school from 15 years now, so I would like to ask if somebody can help me.

I hope my explanation is clear, thx a lot if you can help!!!

Cheers

1

There are 1 best solutions below

0
On

This answer is not pretty, but it will get the job done. Also, there will be some error since the Earth is an ellipsoid and not a perfect sphere.

First, convert the points $A$ and $C$ from (longitude, latitude) to points on a sphere. Let $\theta$ be the angle that describes your longitude $\mathit{east}$ of the prime meridian. If your longitude is measured as west of the prime meridian, then make it negative. (For example, change $34^\circ$W to $-34^\circ$. Let $\phi$ be equal to $90^\circ$ minus your latitude $\mathit{north}$ of the equator or $90^\circ$ plus your latitude $\mathit{south}$ of the equator. You now have your points $A$ and $C$ described by two angles without the pesky NESW signifiers. $A = (\theta_A, \phi_A)$ and $C = (\theta_C, \phi_C)$.

Second, convert $A$ and $C$ to points in 3-dimensional space. To do this: $$A = \left< A_x, A_y, A_z \right> = \left< \cos \theta_A \sin \phi_A,\; \sin \theta_A \sin \phi_A,\; \cos \phi_A \right>$$ $$C = \left< C_x, C_y, C_z \right> = \left< \cos \theta_C \sin \phi_C,\; \sin \theta_C \sin \phi_C,\; \cos \phi_C \right>$$

Third, we find the 3-dimensional coordinates $M$ using the Gram-Schmidt process. To understand this process, you might want to check out vector dot product and vector norm. We will do this step in two parts. First, we will find $M'$, then we will scale it to find $M$. The vector formula for $M'$ is $$M' = C - (C \cdot A)A$$ Thus, the components of $M' = \left< M'_X, M'_Y, M'_Z \right>$ are $$M'_X = C_X - (C_XA_X + C_YA_Y + C_ZA_Z)A_X$$ $$M'_Y = C_Y - (C_XA_X + C_YA_Y + C_ZA_Z)A_Y$$ $$M'_Z = C_Z - (C_XA_X + C_YA_Y + C_ZA_Z)A_Z$$ Now we find $M$ by scaling each of these components by dividing by $||M'||$. For $M = \left< M_X, M_Y, M_Z \right>$ we have $$M_X = \frac{M'_X}{\sqrt{(M'_X)^2 + (M'_Y)^2 + (M'_Z)^2}}$$ $$M_Y = \frac{M'_Y}{\sqrt{(M'_X)^2 + (M'_Y)^2 + (M'_Z)^2}}$$ $$M_Z = \frac{M'_Z}{\sqrt{(M'_X)^2 + (M'_Y)^2 + (M'_Z)^2}}$$

Finally, we convert $M$ into longitude and latitude. $$\phi_M = \arccos(M_Z)$$ $$\tan \theta_M = \frac{M_Y}{M_X}$$ Be careful with $\theta_M$, it is either $\arctan \left(\frac{M_Y}{M_X}\right)$ or $\arctan \left(\frac{M_Y}{M_X}\right) + 180^\circ$. Then convert $\theta_M$ and $\phi_M$ into longitude and latitude respectively. The point $N$ is just the antipode of $M$.