Sunday, October 28, 2012


Geekin out the maths, and might actually have a use for this again someday.  How to custom-design a piece of a cone, to step a cylinder of one size down to another.

I want to step a cylinder of radius r1 down to a new radius r2 over a distance of d.  This is a section "trimmed" off the top edge of a cone, so the trick is to first describe the cone.  The height of the full cone (h1), the length of its side (s1), and the radius of the larger disk (r1) form a right triangle.  Next describe the smaller cone we're cutting off the tip of the larger.  The height of the offcut (h2), the length of its side, and the radius of the smaller disk (r2) also form a right triangle.  The angle between the height and the side in each of these triangles must be identical.  The tangent of that angle is the ratio of the radius over the height, and it also must be identical between the two triangles, so r1/h1 = r2/h2.  r1 and r2 were given, and h1 = h2 + d, so we solve for h2:

r1*h2 = r2*h1
h2 = r2/r1*(h2+d)
h2*(1-r2/r1) = r2/r1*d
h2 = r2/r1*d/(1-r2/r1)
h2 = d*r2/(r1-r2)

To draw a template for this cone on flat paper we need a circular sector.  The radius of this sector is the length of the side of the cone, which is just the hypoteneuse of the first triangle we described above: s1 = (r1^2 + h1^2)^(1/2).  The angle of the sector - effectively, the proportion of a whole disk we use - we can find from the fact that the outer circumference of the sector (not including the "pie cuts") must be equal to the circumference of the base of the cone, which is the disk with r1 from way back in the problem definition.  So portion of the disk to use is the ratio of (2*pi*r1)/(2*pi*s1), or simply r1/s1.

So in my case I want to go from a diameter of 5/8" to 3/8" in the course of 3/8".  To make life easier, I'll do everything in 16ths.
r1 = 5
r2 = 3
d = 6
h2 = 6*3/(5-3) = 9
h1 = 15
s1 = (5^2 + 15^2)^(1/2) = 15.81
s2 = (3^2 + 9^2)^(1/2) = 9.49
And I want 5/15.81 = 31.62% or 113.84 degrees.

But OpenOffice Draw is not a CAD program, and it won't let me specify the number of degrees in a sector.  *grumble*.  So subtracting 90 for the orientation, I get sin(23.84) = 0.40, and draw the sector out til its 1.40 inches long with a radius of 1.

(And confirmed by the "print-it-out-and-build-it method...)