Discovery Project: The Intersection of Three Cylinders 
By: David Hilgers 

Click here for the Maple 11 Version

1.  Sketch carefully the solid enclosed by the three cylinders x^2+y^2 = 1, x^2+y^2 = 1, y^2+z^2 = 1.  Indicate the positions of the coordinate axes and label the faces with the equations of the corresponding cylinders. 

with(plots) 
with(plottools)
plot3d({[cos(t), h, sin(t)], [h, cos(t), sin(t)], [cos(t), sin(t), h]}, h = -1 .. 1, t = 0 .. 2*Pi, axes = normal) 

 

Plot


This is a sketch of the surface, however, the additional edges should be disregarded.  Using these Maple 11 Commands, the sketch will become like this:

 

2. Find the volume of the solid in Problem 1.
Since the object is very symetrical, the object can be broken up into sixteen equal pieces (4 on each side).  

16*int(int(int(r, z = 0 .. sqrt(1-r^2*cos(`¸`)^2)), r = 0 .. 1), theta = 0 .. 1/4*Pi) 

16-8*2^(1/2) 

 

3.  Use a computer algebra system to draw he edges of the solid. 

restart; 1
with(plots) 
with(plottools) 
with(Student[VectorCalculus]); 1 
a := SpaceCurve(`<,>`(x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1/sqrt(2), thickness = 3, color = red, axes = normal, labels = [x, y, z]); 1; b := SpaceCurve(`<,>`(-x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1...
a := SpaceCurve(`<,>`(x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1/sqrt(2), thickness = 3, color = red, axes = normal, labels = [x, y, z]); 1; b := SpaceCurve(`<,>`(-x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1...
a := SpaceCurve(`<,>`(x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1/sqrt(2), thickness = 3, color = red, axes = normal, labels = [x, y, z]); 1; b := SpaceCurve(`<,>`(-x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1...
a := SpaceCurve(`<,>`(x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1/sqrt(2), thickness = 3, color = red, axes = normal, labels = [x, y, z]); 1; b := SpaceCurve(`<,>`(-x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1...
a := SpaceCurve(`<,>`(x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1/sqrt(2), thickness = 3, color = red, axes = normal, labels = [x, y, z]); 1; b := SpaceCurve(`<,>`(-x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1...
a := SpaceCurve(`<,>`(x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1/sqrt(2), thickness = 3, color = red, axes = normal, labels = [x, y, z]); 1; b := SpaceCurve(`<,>`(-x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1...
a := SpaceCurve(`<,>`(x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1/sqrt(2), thickness = 3, color = red, axes = normal, labels = [x, y, z]); 1; b := SpaceCurve(`<,>`(-x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1...
a := SpaceCurve(`<,>`(x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1/sqrt(2), thickness = 3, color = red, axes = normal, labels = [x, y, z]); 1; b := SpaceCurve(`<,>`(-x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1...
a := SpaceCurve(`<,>`(x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1/sqrt(2), thickness = 3, color = red, axes = normal, labels = [x, y, z]); 1; b := SpaceCurve(`<,>`(-x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1...
a := SpaceCurve(`<,>`(x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1/sqrt(2), thickness = 3, color = red, axes = normal, labels = [x, y, z]); 1; b := SpaceCurve(`<,>`(-x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1...
a := SpaceCurve(`<,>`(x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1/sqrt(2), thickness = 3, color = red, axes = normal, labels = [x, y, z]); 1; b := SpaceCurve(`<,>`(-x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1...
a := SpaceCurve(`<,>`(x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1/sqrt(2), thickness = 3, color = red, axes = normal, labels = [x, y, z]); 1; b := SpaceCurve(`<,>`(-x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1...
a := SpaceCurve(`<,>`(x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1/sqrt(2), thickness = 3, color = red, axes = normal, labels = [x, y, z]); 1; b := SpaceCurve(`<,>`(-x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1...
a := SpaceCurve(`<,>`(x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1/sqrt(2), thickness = 3, color = red, axes = normal, labels = [x, y, z]); 1; b := SpaceCurve(`<,>`(-x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1...
a := SpaceCurve(`<,>`(x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1/sqrt(2), thickness = 3, color = red, axes = normal, labels = [x, y, z]); 1; b := SpaceCurve(`<,>`(-x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1...
a := SpaceCurve(`<,>`(x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1/sqrt(2), thickness = 3, color = red, axes = normal, labels = [x, y, z]); 1; b := SpaceCurve(`<,>`(-x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1...
a := SpaceCurve(`<,>`(x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1/sqrt(2), thickness = 3, color = red, axes = normal, labels = [x, y, z]); 1; b := SpaceCurve(`<,>`(-x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1...
a := SpaceCurve(`<,>`(x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1/sqrt(2), thickness = 3, color = red, axes = normal, labels = [x, y, z]); 1; b := SpaceCurve(`<,>`(-x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1...
a := SpaceCurve(`<,>`(x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1/sqrt(2), thickness = 3, color = red, axes = normal, labels = [x, y, z]); 1; b := SpaceCurve(`<,>`(-x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1...
a := SpaceCurve(`<,>`(x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1/sqrt(2), thickness = 3, color = red, axes = normal, labels = [x, y, z]); 1; b := SpaceCurve(`<,>`(-x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1...
a := SpaceCurve(`<,>`(x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1/sqrt(2), thickness = 3, color = red, axes = normal, labels = [x, y, z]); 1; b := SpaceCurve(`<,>`(-x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1...
a := SpaceCurve(`<,>`(x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1/sqrt(2), thickness = 3, color = red, axes = normal, labels = [x, y, z]); 1; b := SpaceCurve(`<,>`(-x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1...
a := SpaceCurve(`<,>`(x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1/sqrt(2), thickness = 3, color = red, axes = normal, labels = [x, y, z]); 1; b := SpaceCurve(`<,>`(-x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1...
a := SpaceCurve(`<,>`(x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1/sqrt(2), thickness = 3, color = red, axes = normal, labels = [x, y, z]); 1; b := SpaceCurve(`<,>`(-x, x, sqrt(1-x^2)), x = -1/sqrt(2) .. 1...
 

 

Plot



4.  What happens to the solid in Problem 1 if the radius of the first cylinder is different from 1? Illustrate with a hand-drawn sketch or a computer graph. 
restart; 1
with(plots); 1
 
with(plottools); 1 

With a radius of less than one, the shape of the intersection is skewed dramatically.  Instead of having curves on each side of the intersection, it will only curves on the top and bottom (z-axis).  The sides will all become flatter.
 

Radius = .5
 

plot3d({[.5*cos(t), .5*sin(t), h], [cos(t), .5*h, sin(t)], [.5*h, cos(t), sin(t)]}, h = -1 .. 1, t = 0 .. 2*Pi, axes = normal)
plot3d({[.5*cos(t), .5*sin(t), h], [cos(t), .5*h, sin(t)], [.5*h, cos(t), sin(t)]}, h = -1 .. 1, t = 0 .. 2*Pi, axes = normal)
 

 

Plot 

 

With a radius of greater than one:
Radius = 5
plot3d({[5*cos(t), 5*sin(t), h], [cos(t), 5*h, sin(t)], [5*h, cos(t), sin(t)]}, h = -1 .. 1, t = 0 .. 2*Pi, axes = normal)
plot3d({[5*cos(t), 5*sin(t), h], [cos(t), 5*h, sin(t)], [5*h, cos(t), sin(t)]}, h = -1 .. 1, t = 0 .. 2*Pi, axes = normal)
 

 



5. If the first cylinder is x^2+y^2 = a^2, where a < 1, set up, but do not integrate, a double integral for the volume of the solid. What if a > 1?
For a < 1, the volume can be found by the integral: 

 

16*int(int(int(r, z = 0 .. sqrt(1-r^2*cos(`¸`)^2)), r = 0 .. a), `¸` = 0 .. 1/4*`À`)

For a > 1, the volume can be found by the integral: 


16*int(int(sqrt(1-y^2)-sqrt(1-x^2), y = 0 .. x), x = 0 .. 1)+4*(`À`(1))(sqrt(a^2-1)-1)+16*int(int(sqrt(1-y^2), y = 0 .. sqrt(a^2-x^2)), x = sqrt(a^2-1) .. a)
16*int(int(sqrt(1-y^2)-sqrt(1-x^2), y = 0 .. x), x = 0 .. 1)+4*(`À`(1))(sqrt(a^2-1)-1)+16*int(int(sqrt(1-y^2), y = 0 .. sqrt(a^2-x^2)), x = sqrt(a^2-1) .. a)