|  |      Do you want this for two points and a distance in
     
          - three dimensional Euclidean space
     
          - two dimensional Euclidean space
     
          - on the surface of a sphere
     
     Also, are you asking for
     
          distance(x,p1) = distance(x,p2) - delta
     
     or
     
          | distance(x,p1) - distance(x,p2) | = delta
     
     i.e., is it delta closer to a specific one of the two points
     or delta closer to either one?
     
     Dan
 | 
|  |     Rotate and shift the two points so that one is at (0,0,0), and the
    other at (c,0,0).  Now solve for the equation of the hyperbola that
    intersects the z=0 plane.  Reintroduce z; introduce two free variables
    (so you get a 2-D surface); and reverse the previous rotate and shift.
 | 
|  |     2D-Euclidean space is sufficient.  And d(x,p1) = d(x,p2) - delta.
    
    To put this in context, Loran is a navigation system that utilizes
    signals transmitted from ground-based HF transmitters.  These
    transmitters are grouped in chains containing one master and two
    to four secondaries.  The transmitters in a chain are typically
    separated by several hundred miles from each other.  The U.S. has
    chains (from memory) on the West Coast, in the North East, the South
    East, and in the Lakes region.  And I think also Alaska.
    
    The master transmits a coded signal and the secondaries transmit
    slave signals at pre-set intervals later.  A Loran receiver selects
    a master and the two best secondaries determined by signal strength/
    coherence and geometry of the receiver's position within the chain.
    The receiver measures the time difference (TD) between each secondary's
    signal and the master.  This yields two lines of position (hyperbolae)
    on which the receiver can be located.  The intersection of the lines
    gives, ideally, one point, but apparently potentially two.  Accuracy
    in high-coverage areas like the Northeast is as good as 60 feet.
    
    The Loran system generally in use these days is Loran-C, and this
    generation is much more sophisticated than its predecessors.  However,
    during its lifetime, the advent and application of the microcomputer
    has produced enormous advances in Loran receivers.  The one I have
    is extremely primitive (until compared with a Loran-A receiver!).
    It's necessary to enter waypoints in lat/long from, whereas the
    most modern receivers have "flybraries" containing information on
    every public (and many private) airports, plus VOR and NDB nav-aids,
    plus ATC Victor airway intersections for the U.S., Canada(?), Bahamas,
    etc.  With these models, one simply dials the ATC designator for
    the location to make reference.  Furthermore, these receivers
    automatically select the appropriate grid when powered up (based
    on remembered location), and automatically change grid (chain) when
    moving from one area to another.  And they can map compass directions
    between True and Magnetic (and account for yearly changes).  Etc
    etc etc.  Most importantly, the most
    modern receivers use historical knowledge of position to disambiguate
    the TD solutions when entering a problematic area of the chain geometry.
    Mine does none of that.  :)
    
    Well, sorry to have gotten so far out of the pure mathematical.
    I posed my question, in the pragmatic, in the Flying notes file
    and, getting no good answer, promised to find out and report back.
    What I would like to do is plot an example of an ambiguous solution
    and post it to illustrate what I've discovered.
    
    Incidentally, and finally, the operator's manual for my Loran states
    very briefly that in certain positions within the geometry of a
    chain, it's possible for the Loran to report an inaccurate position
    which is typically several hundreds of miles in error, and it suggests
    that this is the time to select the "extended mode".  Seems kind
    of recursive to me since the job of the Loran is to tell you where
    you are!!
    
    -- Keith
 | 
|  |      Let p1 = (a, b), p2 = (c, d), the point on the curve =
     (x, y), and d-from-p1 = d-from-p2 - k.
     Then
     sqrt((x - a)^2 + (y - b)^2) = sqrt((x - c)^2 + (y - d)^2) - k
     Squaring both sides gives
     (x - a)^2 + (y - b)^2 = (x - c)^2 + (y - d)^2 - 2ksqrt(...) + k^2
     x^2 - 2ax + a^2 + y^2 - 2by + b^2 =
       = x^2 - 2cx + c^2 + y^2 - 2dy + d^2 - 2ksqrt(...) + k^2
     2(c - a)x + 2(d - b)y + a^2 + b^2 - c^2 - d^2 - k^2 = - 2ksqrt(...)
     Let A = 2(c - a), B = 2(d - b), C = a^2 + b^2 - c^2 - d^2 - k^2
     Then the equation becomes
     Ax + By + C = - 2k sqrt((x - c)^2 + (y - d)^2)
     A^2 x^2 + 2ABxy + B^2 y^2 + 2ACx + 2BCy + C^2 =
       = 4k^2 ((x - c)^2 + (y - d)^2)
     A^2 x^2 + 2ABxy + B^2 y^2 + 2ACx + 2BCy + C^2 =
       = 4k^2 (x^2 - 2cx + c^2 + y^2 - 2dy + d^2)
     (A^2 - 4k^2)x^2 + 2ABxy + (B^2 - 4k^2)y^2 + (2AC + 8ck^2)x +
       + (2BC + 8dk^2)y + (C^2 - 4k^2(c^2 + d^2)) = 0
     It's a lot simpler if you let a or b be 0 and let p2 = (0,0).
     In that case you get, say, with b = 0
     sqrt((x - a)^2 + y^2) = sqrt(x^2 + y^2) - k
     (x - a)^2 + y^2 = x^2 + y^2 - 2ksqrt(x^2 + y^2) + k^2
     - 2ax + a^2 - k^2 = - 2ksqrt(x^2 + y^2)
     Let A = -2a, B = a^2 - k^2, and this reduces to
     Ax + B = - 2ksqrt(x^2 + y^2)
     A^2 x^2 + 2ABx + B^2 = 4k^2(x^2 + y^2)
     (A^2 - 4k^2)x^2 + 2ABx - 4k^2 y^2 + B^2 = 0
     Dan
 |