A Community Devoted to the Preservation and Practice of Celestial Navigation and Other Methods of Traditional Wayfinding
From: Andrés Ruiz
Date: 2012 Aug 10, 11:00 +0200
- Vector Solution for the Intersection of Two Circles of Equal Altitude
- Sight Reduction with Matrices
> From: Lu Abel
> Date: 5 Aug 2012 19:06
> Right, but is there a closed-form solution?
Solution to this problem does not require knowledge of spherical trigonomtry,
just some linear algebra and the ability to convert between rectangular and
You need to find point of intersection of 3 circles on a sphere.
You know the centers of circles (defined by GP of bodies, or coordinates of the cities in your case) and the distance along the surface fromthe center to the edge of the circle. If you notice that each circle lies on a plane, which is perpendicular to the radius-vector connecting center of the sphere and GP, the point of intersection of the circles is the point of intersection of the planes.
Equation for each plane give you one equation, with 3 circles you have 3
planes, which gives you 3 linear eqautions to solve for for 3 coordiantes.
Final step is to convert the rectangular x,y,z coordiantes into spherical.
If some of the planes intersect at acute angles, you get the poorly conditioned
system and there is not much you can do about it. Unless, you know more
distances to more points with known GP. Then you have more than 3 linear
equations and need to solve overdetermined system, which can be solved to find
the point which is as close as possible to all planes.
In your case, assuming coordinates (taken from wikipedia)
San Jose CA 37°20′7″N 121°53′31″W
Portland OR 45°31′12″N 122°40′55″W
Houston TX 29°45′46″N 95°22′59″W
and distances given in statute miles as 6003 5557 5420
I got system of equations
[ -0.420067 -0.675077 0.606478] [x] 0.0532418
[ -0.378339 -0.589732 0.713495] * [y] = 0.165252
[-0.0814387 -0.86426 0.49641] [z] 0.199303
Solving for x,y,z get
-0.16697 -0.723045 0.680436
Convert to spherical
lat=43.8835° lon=7.92476° R=0.99607
which is close to Nice, France.
With so many computers around, solving overdetermined system is only marginally
harder, so if you have more distances to more points, the solution may be
better, but I still doubt it will be far from Nice.