6

I need to compute the circle on the surface of a sphere given three points on that very surface.

It is very easy to do that in Euclidean geometry, but the sphere has no $x$ and $y$, but just two angles and radius. Therefore, I just have the $2 \times 3$ (two angles for each point) angles to achieve that.

Is there an easy way to do that, or do I have to convert my points to Cartesian and then do the computation? How do I then do the conversion with as much accuracy as possible?

Clarification:

I look for the point on the surface of a sphere to which the 3 points, defined by two angles each, have the same or less angular distance.

Widawensen
  • 8,172
jcklie
  • 233
  • This is not possible without more information: A point and two angles together contain $4$ parameters of information, and so cannot determine an unordered triple of points on the sphere, which contains $6$. – Travis Willse May 03 '15 at 13:35
  • I use n-vectors (http://en.wikipedia.org/wiki/N-vector) to represent my points. – jcklie May 03 '15 at 13:37
  • You can still construct the perpendicular bisector of two points on a sphere (it's just a great circle), so you can do it the same way as the Euclidean construction: you just end up with the centre of the circle and the centre of the complement of its interior, which can also be taken as a centre. – Chappers May 03 '15 at 13:38
  • The problem is independent of the representation of a point. – Travis Willse May 03 '15 at 13:38
  • A point has two angles, I have 3 points = 6 angles. Sorry for the confusion, I rephrased that. – jcklie May 03 '15 at 13:41
  • 1
    I'd still (out of lazyness) switch to 3d cartesian coordinates and intersect the plane of the three points with the sphere ... – Hagen von Eitzen May 03 '15 at 13:44
  • I look for the circle on the surface, that means that the midpoint of it is also on the circle and the circle itself is curved like a pancake on a gymastic ball. If i do these suggestions, from what I understand, then I get something else, don't I? – jcklie May 03 '15 at 13:51

1 Answers1

1

To find the angular distance between two points, defined by two angles each, is a classical problem in spherical astronomy and in geography.

If the two coordinates are: $\phi=$right ascension (longitude in geography) and $\theta=$ declination (latitude). Than the angular distance $\alpha$ between two points $A,b$ is given by ( here a proof Great arc distance between two points on a unit sphere, but note that here the angle $\theta$ is that used in spherical coordinates, so it is the complement of the latitude): $$ \cos \alpha= \sin \theta_A\sin \theta_B+\cos \theta_A\cos \theta_B\cos(\phi_A-\phi_B) $$

We can use this formula to solve the problem in OP.

Let $(\phi_C,\theta_C)$ the coordinate of the center of a circle on a spherical surface. The points $P$ of the circle have coordinates $(\phi,\theta)$ such that the angular distance between $P$ and $C$ is a constant value $\rho$ (it is the quotient between the radius of the circle and the radius of the sphere), so the equation of the circe can be written as: $$ \cos \rho=\sin \theta\sin \theta_C+\cos \theta\cos \theta_C\cos(\phi-\phi_C) $$

Now we note that this equation contains three parameters $\rho,\phi_C,\theta_C$ so, in principle, we can find this parameters substituting the coordinates of three points for $\phi$ and $\theta$. I never performed these calculations, but they seems a bit complexes. I suppose that the simpler way to solve the problem in OP is to change to cartesian coordinates and to find the intersection between the plane determined by the three points and the sphere, as suggested in the comments.

Emilio Novati
  • 62,675