[comp.graphics] Question on geometry problem

chan@umn-cs.cs.umn.edu (Tak-Yuen Melinda Chan) (12/05/90)

1.  I am tasked with writing a computer routine that renders a series
of vertices into a series of straight lines and circular arcs.  The
resulting lines will reduce the amount of computer storage space
if a number of vertices can be represented by each line or arc.

2.  To date I've succeeded in writing the routines that combine
these vertices into lines and arcs.  I then use another routine
which links these lines and arcs into a continuous stream while
attempting to maintain tangential continuity.  I link two adjacent
straight lines with short arcs.  I link lines and arcs by
adjusting their equations (staying within a given tolerance of the
vertices).  One problem I fail to solve involves linking three
adjacent arcs together while maintaining tangential continuity.

3.  The Problem:  
    Given: x1, {the x coordinate of the first arc radi
           y1, {the y coordinate of the first arc radi
           r1, {the radius length of the first arc
           x2, {the x coordinate of the second arc radi
           y2, {the y coordinate of the second arc radi
           r2, {the radius length of the second arc
           x3, {the x coordinate of a point on the mid arc
           y3  {the y coordinate of a point on the mid arc

Find the points (there is at least one point and sometimes two)
equal distant from the point (x3,y3) and the two arcs.

4.  Possible solution techniques include intersecting the arcs by adding
an offset distance to each radius length, thereby finding the 
radical axis.

the first arc equation: (x1)**2 + (y1)**2 = (r1)**2

the equal distance is referred to as the offset distance (OFF).
adding OFF to the first arc equation:

 (x1)**2 + (y1)**2 = (r1+ OFF)**2    {EQ 1

the second arc equation (x2)**2 + (y2)**2 = (r2)**2
with the same offset this equation becomes

 (x2)**2 + (y2)**2 = (r2+OFF)**2     {EQ 2

subtracting eq 2 from eq 1 produces the radical axis equation

 (x1)**2 + (y1)**2 - (r1+ OFF)**2 - (x2)**2 - (y2)**2 + (r2+OFF)**2 = 0 

this will produce a series of points equal distance from the two arcs.


The additional requirement of being the same distance away from x3, y3
as arc 1 and arc 2 can be represented by using the (x3, y3) point as
the radi of another arc with a radius length of OFF.

It's equation  (x3)**2 + (y3)**2 = (OFF)**2   {EQ 3

Intersecting this equation with the (eq 1 - eq 2 = 0) radical axis
produces (eq 1 - eq 2) - eq 3 = 0
which I believe would produce the answer I seek, however, in the several
attempts made all the substitutions used cancelled all the variables out
leaving me with 0 = 0

Thank you for any assistance provided