1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Spherical trilateration

  1. Apr 13, 2015 #1

    I am looking for an equation of intersection of 3 circles or 3 spheres, on the surface of the fourth (central) sphere, in a spherical coordinate circle. This should really be just a simple trilateration problem.

    I know this is usually done by transforming the spherical coordinate system to a Cartesian coordinate system, then calculating the Intersection point, and then transforming it back to the spherical coordinate system. But due to large input errors my final error is then far too big to be useful.

    Currently I am obtaining the result with a numerical calculation, but it takes too long (approx. 1 second for a single calculation), thus I would like to find an analytic solution. I have tried to derive it myself many times, but all I get is an unsolvable mix of sin and cosin functions (or tand and cotand)…

    In short: I have the spherical coordinates of 3 points on the fourth ‘’center’’ sphere. On the center sphere I have a fourth point of which I do not know the coordinates, but I know all 3 angular distances between the first 3 points and the forth point.

    How do I find the coordinates of the forth point, without having to transform everything into the Cartesian coordinate system?

    I have scoured the internet and books for months, but failed to find a solution. Is it even possible? :nb)
    I know it should be…
  2. jcsd
  3. Apr 13, 2015 #2


    User Avatar
    Science Advisor
    Homework Helper
    Gold Member

    If I am envisioning this correctly, this can be convered to a problem of three planes that cut into a large sphere (in three circles) whose mutual intersection is non-empty and is already known to be on that large sphere. Is that correct?
  4. Apr 13, 2015 #3
    Yes that is correct.
    I have tried to use equations for great circles and for small circles, but to no avail (although my math might be the reason, because the numerical solution works in this way).
    I haven’t thought of trying with planes. But how do i define a straight plane in the spherical coordinate system?

    Thank you for your reply.
  5. Apr 13, 2015 #4


    User Avatar
    Science Advisor
    Homework Helper
    Gold Member

    For simplicity, I think one should use vectorial methods as much as possible.

    The normal vector to each of these three planes is radial [say, radially outward].
    However, each plane is not tangent to the large sphere...
    but parallel and slightly beneath that tangent plane by amount
    determined by some circular geometry related to the versed sine [ http://en.wikipedia.org/wiki/Versine ].
    Do you know the radii of the circles?

    Now you have three planes (which do cut the sphere in circles.. but don't focus on that aspect).
    As you say, there is a non-empty intersection of those three planes.
    So, the problem becomes the intersection of three planes.
    ..and you have some information that this intersection
    lies on the large sphere (i.e. has a known distance from the center of the large sphere).

    Does that help?
  6. Apr 13, 2015 #5
    Yes, I can calculate their radius, but initially I can only measure the angular separation between two antipodal points of the circle (the base of the angle is the large sphere).

    The radius of the large sphere is not accurately known as it is virtual (imaginary is perhaps a better term). Of course I can calculate it, but with a considerable error.

    So, the coordinates of each of the known 3 points constitute the normal of the belonging planes. And this really becomes just a vectorial problem and the solution would be obtained with a matrix?

    I understand the solution in the Cartesian coordinate system, but I am unsure of how to represent it in spherical coordinates. I understand how this system works, but I don’t know how to represent anything that is straight in it.
    I can transform from one system to another, but how do I represent a plane just by using the spherical coordinate system?
    Can you give me the general equation of a straight line in coordinate system (let’s say a line that goes between point1 (ρ1, φ1, R) and point2 (ρ2, φ2, R))?
    This is supposed to be it, but what does it actualy mean?
  7. Apr 13, 2015 #6


    User Avatar
    Science Advisor
    Homework Helper
    Gold Member

    Suppose you are given position vectors [possibly in terms of some coordinate system] C1, C2, C3 with origin at O.
    If these position vectors lie on a fourth sphere centered at O, then magnitudes of C1, C2, C3 should be equal to each other and the radius of the large sphere.

    So, you are trying to avoid cartesian coordinates... and stay in spherical coordinates as much as possible?

    (Just saw this... maybe useful... but not immediately for my proposed method

    According to http://jwooten37830.com/blog/wp-content/uploads/2014/01/ConeAndPlane.pdf , Eq. 12 is the equation of a plane in spherical coordinates. (I don't have time to check that.)

    In my method, the key idea is that each circle on the large sphere [who center point and radius is known] is encoded by a unique plane.
    Circle 1 has normal-vector along O-C1, etc...
    Given the angular separation (given as a central angle with vertex at O) of the antipodal points of a circle on the big sphere,
    you can calculate [using the versed sine of half-of-that-angular-separation] how far down to move the plane [essentially changing only rho].
    So, by now, one has three planes corresponding to the three circles.

    Then you can use the methods of http://mathworld.wolfram.com/Plane-PlaneIntersection.html repeatedly (or https://www.google.com/search?q="Intersection+of+Three+Planes" ).
    However, if you insist on staying in spherical coordinates, you'll have to get expressions for the cross-product in spherical coordinates ( http://math.stackexchange.com/quest...lculating-dot-and-cross-products-in-spherical )

    (This person https://rbrundritt.wordpress.com/2008/10/14/points-of-intersection-of-two-planes/ doing the intersection of two planes through the center... suggests working in cartesian coordinates.)

    In my comment earlier, about "vectorial methods",
    I was thinking about using normal-vectors to planes-that-cut-the-sphere and using linear algebra [in cartesian coordinates for computational simplicity],
    as opposed to writing analytic functions describing circles [in some coordinate system] and seeking solutions somehow.
  8. Apr 14, 2015 #7
    By using the equations from ’The Intersection of a Cone and a Plane' paper and the plane intersection method, I think I can now make this work.

    The problem with using the transformations to and from the Cartesian coordinate system is in my initial measurement errors, as they are significantly increased by transformations. The error can be increased up to 50 times in the entire trilateration procedure if I use the Cartesian coordinate system, and I cannot afford such a high error. The numerical solution increases the error by an almost unnoticeable amount, but it gives 3 points of intersections, as the circles overlap due to the measurement errors. Thus I have to average the 3 obtained results to obtain the final position, and this again increases the error.
    A simplified 2-D version of this problem has shown that an analytical solution partially covers the measuring error thus the final error of the calculated position is actually slightly lower than the input error. On top of this is the calculation time improvement, thus an analytical solution will really help in many ways.

    Thank you for your time and help, I am much obliged.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook