Eliminating parameters for computing an intersection



Hello Maxima friends!

I computed the intersection of two cylinders by hand as shown below but I want to compute similar intesections with Maxima. 

Please note that there is an article "The Geometry of Intersecting Tubes Applied to Controlling a Robotic Welding Torch" from by John M. Stockie on the web http://www.math.sfu.ca/~stockie/weld/ showing how this is done in Maple. Unfortunately I could not do that in Maxima.

cylinder 1:
x1 = v1 
y1 = R1 * sin(u1) 
z1 = R1 * cos(u1)
 
cylinder 2:
x2 = R2 * cos(u2)
y2 = R2 * sin(u2)
z2 = v2

The intersection maybe computed simply by setting x1=x2, y1=y2 and z1=z2 which gives us
R2 * cos(u2) = v1 
R2 * sin(u2) = R1 * sin(u1) 
v2           = R1 * cos(u1)

Now we three equations with four parameters u1, v1, u2 and v2.
To get the intersection curve we eliminate three parameters. If we do that we end up in
x = R2 * cos(u2)
y = R2 * sin(u2) 
z = sqrt(R1^2 - R2^2 * sin^2(u2)) 

My question is how can this be done in Maxima. 

Does anyone know how to get this done in Maxima.

Thanks for help.
Kindest regrads
Reinhard