After some work this is what I came up with. I had to picture in my head a ball with a .125" radius sitting on top of a ball with a .25" radius.
r1 = .25" =.5" DIA
r2 = .125" = .25" DIA
The point where they touch we'll call point
A. This would be the same as the center of the Ball End Mill. As the .25" DIA. ball slides around (not rotates) the circumference of the .5 DIA. ball point A discribes a circle with a radius that is equal to r1 + r2. This is the circle that I needed to find the points for. Take a look at the image attached.
The Equation for a circle is X² + Y² = r²
Since I wanted to find points for Z I swapped Z² for X²
which gave me Z² + Y² = r²
In this case r² = (r1 + r2)²
which gives Z² + Y² = (r1 + r2)²
I wanted to solve for Z so I subtracted Y² from both sides which gives Z² = (r1 + r2)² +Y² Take the square root of both sides leaves Z = √((r1 + r2)² - Y²). The top of my part is Z 0 so I subtracted the difference of (r1 + r2) - √((r1 + r2)² + Y²) from 0. So the final equation comes out to be: Z = 0 - (r1 + r2) - √((r1 + r2)² + Y²) Now all I had to to was substitute in values for Y and solve for Z. I started with Y = r1 + r2 which is .375" and moved over in .01" steps till I reached 0. In the actual program though the first value I used (.375") is actually .125" from the side of my part. So in my program my first points were Z = -.375", Y = .125". It all sounds kind of confusing but it makes more sense when you look at the drawing.