PDA

View Full Version : Points on a sphere



XLocksmith
07-07-2007, 08:14 AM
So i need to drill a large number of points on a sphere (~200). I have seen a machined aluminum soccer ball at my aluminum supplier, they told me it was done on a 5 axis CNC machine. My first question is what is a good technique for holding a sphere while machining it on a mill?

Second, if it is possible to do this without a 5 axis machine how do you go about marking up the sphere. I currently have an program (I am a software engineer in the daytime) that generates even(ish) points on a sphere and as such i have all the desired locations in x,y,z format. I was thinking perhaps buying a tilting table for the mill and attaching a dividing head this would allow me to mark it up..... but if i purchase those i might as well just get the mill to do everything. I really dont need highly accurate tolerances if there is a way to transpose the given coordinates onto my sphere using a drill press would be acceptable. Is there another way to manually mark it up? Perhaps this is a common machining task?

Evan
07-07-2007, 09:06 AM
My first question is what is a good technique for holding a sphere while machining it on a mill?
Are you starting out with a sphere or just a chunk of metal?


I currently have an program (I am a software engineer in the daytime) that generates even(ish) points on a sphere
"even(ish)"?? Spherical trig is as accurate as any other branch of mathematics that deals with transcendental numbers. Is this program using some sort of rough approximations instead?


i have all the desired locations in x,y,z format
That isn't sufficient. To deal properly with the entire surface you need to use polar coordinates. Also, to completely define the location AND direction of a point in space, in this case a drill bit about to make a hole, requires six values in cartesian coordinates. Three for location and three for vector (direction).

In this limited case with polar coordinates only two values are required, two rotations in sequence, no translations required. One may be null. The order of rotations matters. A small rotary table mounted on the faceplate of another larger rotary table mounted vertically can reach all hole locations with two setups. Each setup can do one hemisphere. The sphere is held at each pole by means undetermined. A hole drilled through the sphere to serve as an axis and threaded to accept a threaded arbor that can be held in a chuck on the rotary table would work.

XLocksmith
07-07-2007, 09:36 AM
Quote:
Are you starting out with a sphere or just a chunk of metal?

I am starting with a chunk of metal and the holes could be drilled first, although i had assumed the sphere machining would be done first.

Quote:
"even(ish)"?? Spherical trig is as accurate as any other branch of mathematics that deals with transcendental numbers. Is this program using some sort of rough approximations instead?

I may be wrong but to my understanding there are only 5 platonic shapes possible, in the initial prototypes i have used an icosahedron (sp?) so as i can have the same distance from the center of each of the faces the same distance from each other. Now i need more points i thought everyone used repelling algorithms as such to generate the same effect? that is why i stated evenish. In my application i randomly position points on the sphere and then move around until the minimal distance between any two points is minimaised. What would you suggest to calculate more accurately?

Quote:
That isn't sufficient. To deal properly with the entire surface you need to use polar coordinates. Also, to completely define the location AND direction of a point in space, in this case a drill bit about to make a hole, requires six values in cartesian coordinates. Three for location and three for vector (direction).

I assume the direction is always pointing to the center of the sphere, yes this info is available i was just simplifying not sure if it was needed. If all the points are marked around the sphere and i am using a drill press, i just make sure the scribed mark is at the top relative the the drill bits axis. There will only be a 2mm wall thickness at most so some error is acceptable.


Quote:
In this limited case with polar coordinates only two values are required, two rotations in sequence, no translations required. One may be null. The order of rotations matters. A small rotary table mounted on the faceplate of another larger rotary table mounted vertically can reach all hole locations with two setups. Each setup can do one hemisphere. The sphere is held at each pole by means undetermined. A hole drilled through the sphere to serve as an axis and threaded to accept a threaded arbor that can be held in a chuck on the rotary table would work.

I like this idea, i think attaching threaded arbors will work well. Thanks ;)

This sounds like the math used to draw a sphere, eg to rotate around x placing a ring of points... then rotate around y for one step .... then repeat the x placing points again. The problem with this solution is the points are not evenly placed relative to each other. Often i have also placed "end caps" on spheres in computer graphics as this algorithm does not work well at the north and south pole.

jacampb2
07-07-2007, 09:47 AM
So... I have to admit, I am intrigued. I have no idea how you would do this, but am curious, can you tell us what this is for?

Later,
Jason

Evan
07-07-2007, 09:47 AM
A repelling algorithm? I assume then that you have a number of holes that must be placed equidistant from each other. This is an entirely different can of worms. You didn't state this in your first post. This is a tiling problem then and only certain numbers can be tiled on any particular solid.

XLocksmith
07-07-2007, 12:10 PM
Sorry evan i did not explain clearly, i was rushing out the door when i wrote it!! so yes i want to evenly place holes on a sphere.

Quote:
This is a tiling problem then and only certain numbers can be tiled on any particular solid.

this is why i am happy with the evenISH approach, i am happy with what the in consistent spacing as long as it is almost right.... also i need to know where the holes are drilled relative to computer model i.e they need to match.

I think there is a technique that can be used to scribe the lines manually, i was thinking if i construct a cube around the sphere and consider each side as a square. Then i put divisions on each one of the squares so as i can determine any xy coordinate given a particular view point. Then take this location and project it orthogonally towards the sphere to scrbe the point. It would require a jig of some sort to hold the scribe accurately.

I will try to knock up some sketches to explain better.... but for now it is bed time.

XLocksmith
07-07-2007, 12:15 PM
So... I have to admit, I am intrigued. I have no idea how you would do this, but am curious, can you tell us what this is for?

Later,
Jason

I work in a lab that researches Augmented Reality, like Virtual Reality but where computer graphics are overlaid onto the real world environment. It is for a prototype we are developing.... is as much as i can say at the moment sorry... however all results etc. will be made public upon completion.

Rustybolt
07-07-2007, 12:50 PM
If you already have a sphere and you're a programmer and the placement doesn't have to be that accurate. Why not print out the points on paper in mercator projection and glue it to the sphere.

mklotz
07-07-2007, 01:34 PM
Google is your friend. There is a list of URLs dealing with this problem at:

http://www.ogre.nu/sphere.htm

From that list, two attractive spiral algorithms for any number of points are given at:

http://cgafaq.info/wiki/Evenly_distributed_points_on_sphere

As indicated, the spiral algorithms are imperfect but, with no knowledge of your required accuracy, it's impossible to say how useful they will be.

brokenarrow
07-07-2007, 01:43 PM
I think, if it where me, I would drill six holes. Two polar holes and four equally spaced along the central circumference, (or equator). From there, I would find the center point between existing holes and drill another hole. Then repeat until satisfied. Of course, I didn't understand the majority of techno talk you guys did and have to resort to such simplistic means of action. You go ahead and compute it if you like.

lazlo
07-07-2007, 02:49 PM
From that list, two attractive spiral algorithms for any number of points are given at:

http://cgafaq.info/wiki/Evenly_distributed_points_on_sphere

Marv, you're amazing! You should charge us a consulting fee :)

mklotz
07-07-2007, 03:00 PM
Marv, you're amazing! You should charge us a consulting fee :)

I do! When you're not looking, I secretly suck useful information from your posts.:D

darryl
07-07-2007, 03:38 PM
I won't pretend to know anything about laying out the hole locations, but if I was to begin such a task, I would start with a holding fixture. It could be as simple as a recess in some material in which the sphere would nest without falling through. The recess would be turned on a lathe, and a center hole made at the same time. Then it's bolted to the mill table and the hole used to center the spindle over this jig. The sphere is held by another piece of material with a hole in it, which puts down pressure on the sphere as it sits in the jig. So far, so good.

An initial hole is drilled in the sphere, then it's turned upside down, located via the hole in the jig and a short length of proper sized rod. Another hole is drilled, which will be opposite the first. Then a length of rod is passed through the two holes and the sphere held down again with this rod measured to be parallel to the mill table. Another hole is drilled, then using the short locating rod method, another opposite hole is drilled.

At this point you have four holes equally spaced and centered on the 'equator'. Now you need to be able to orient those holes so they are all on the same plane, parallel to the table. It would help to have another jig, which would be a sleeve made for a close fit around the first jig, and at a height which matches the height of the holes in the sphere. Drill another hole, then do the opposite one. Pretty soon (rolling eyes here :)) you have all the holes drilled, it looks good, and you're drinking a beer.

There's obviously some tedium involved in orienting the sphere for each hole, clamping it, then drilling. I'm assuming that it's not a problem for the mill to center drill the holes without the aid of a punch mark. I'm also assuming that you have the sphere in hand- having already created it somehow.

Obviously there's no layout pattern to be made for this- it's an exercise in orienting the sphere using the existing holes as you drill them.

mklotz
07-07-2007, 03:59 PM
Darryl and Brokenarrow,

I think you don't quite understand the problem. The issue is not so much how to drill the holes (although that is a concern), but rather how to determine where to place N holes so they "cover" the sphere uniformly.

Consider the following gedanken experiment. Make N tiny circles of sheet metal and constrain them some way so they can only move on the surface of a sphere. Now charge each circle with a positive charge. Each circle will move away from its neighbors because it experiences an r^-2 force from them. Eventually, the circles will uniformly distribute themselves over the surface of the sphere in such a way that the forces on each are balanced.

What we require is a mathematical expression that expresses where each tiny circle is located on the sphere. Unfortunately, there is no closed form solution for the N-body r^-2 force problem for N>2.

The best that can be done is some form of approximation and every mathematician who addresses this problem has his own favorite.

If my understanding is correct, the OP wants an approximation that is "pretty good" and the ones I referenced meet that requirement for small values of "pretty good".

Note that there is no guarantee that, for a given algorithm, any particular hole will have a hole diametrically opposed on the sphere so, in the general case, coordinate drilling seems to be required

brokenarrow
07-07-2007, 05:11 PM
Darryl and Brokenarrow,

I think you don't quite understand the problem. The issue is not so much how to drill the holes (although that is a concern), but rather how to determine where to place N holes so they "cover" the sphere uniformly.



Exactly. If pole holes are drilled and four equally spaced holes are drilled along a line scribed around the sphere's circumference equally dividing the sphere between the first two holes, you then have six very equally spaced holes. Let us name these holes, north, south, front, back, right, and left. There should be a measureable equal point between front, right, and north. As well, there should be a measureable equal point between front, left, and north. As well, there should be a measureable equal point between any three of the original six. A hole should be drilled at all of these locations. The result of following this pattern will be a sphere with 14 holes, very equally spaced about the surface of the sphere. Continuing this pattern will result in a sphere with 30 holes, very equally spaced about the surface of the sphere.

Now then, with that said, if you want to equally space 27 holes or some number other than 6, 14, 30, etc, about the surface of a sphere, you'll have to do it your way.

Evan
07-07-2007, 05:47 PM
This problem is also related to the sphere packing problem in which the points of contact of adjacent spheres are considered. This problem is not easy. Kepler's guess at a solution was finally proven a few years ago after almost 400 years of effort by the best mathematicians. I don't know for sure but am pretty certain that there is no general algorithm that will provide a best answer for n points. Only approximations exist and they can be exceedingly slow to converge. Again, I don't know for sure but I suspect that an approximation such as a repelling algorithm will require at least n squared iterations and it might be n!

There is a similar and non trivial 2D problem that is very difficult to solve as the number of points grows. Given n points randomly distributed on a plane where is the point that minimizes the distance to all of them the best? The clue to the algorithm is given by the mechanical solution. Attach identical rubber bands to every point and tie the other end of all of the bands together, stretched as required. The tie point will immediately assume the least energy position which is also the answer.

John Stevenson
07-07-2007, 07:00 PM
Google is your friend. There is a list of URLs dealing with this problem at:

http://www.ogre.nu/sphere.htm



So why didn't the Google child find it ? :confused: :D

.

oldtiffie
07-07-2007, 09:06 PM
Deleted/edited-out

XLocksmith
07-07-2007, 09:39 PM
If you already have a sphere and you're a programmer and the placement doesn't have to be that accurate. Why not print out the points on paper in mercator projection and glue it to the sphere.

Thanks rustybolt this sounds perfect, i will lookinto it on Monday and let you know how it works out.

XLocksmith
07-07-2007, 10:09 PM
Google is your friend. There is a list of URLs dealing with this problem at:

http://www.ogre.nu/sphere.htm

From that list, two attractive spiral algorithms for any number of points are given at:

http://cgafaq.info/wiki/Evenly_distributed_points_on_sphere

As indicated, the spiral algorithms are imperfect but, with no knowledge of your required accuracy, it's impossible to say how useful they will be.

Mklotz, thanks for your input regarding the algorithms, i will surely implement more sophisticated spacing techniques later on. At the moment i am really interested in techniques to transpose the points from my CG model onto the physical mode.

I was thinking there must be some old (perhaps forgotten) technique to "solve" this entire problem. If we were to assume we did not have a computer, and were just given a mill, lathe, pen and paper. How would one machine something like a golf ball shape out of a cube of mild steel? So we use a ball turning attachment to get the sphere now what?

I guess thinking about it is would be possible using a dividing head sitting on top of a rotary table all sitting of a tilting table, this would allow you to easily access all the locations of a spherical surface at a correct angle. And if we were not concerned with machining the sides just marking them up we could loose the tilting table and start scribing away by rotating around two axis.

Rich Carlstedt
07-07-2007, 11:00 PM
You guys with formula's need to step back
You are complicating the whole issue!

First, You CAN have two holes equally spaced (i.e. North and South Poles)
Second, You CANNOT have 3 holes equally spaced, nor 4, nor 5 !
It is a 'Spherical Surface"........and as such any and all holes do not fit.!
Now go from 2 to SIX holes, and you are OK..
Think of the 2 Poles, and a hole at 0,90,180, and 270 latitude at the Equator.
That is 6
Now to get to 6 , you need to take the 2 and double it (4) and then add
this to the 2 to get Six.
The next number is six plus 8 (four doubled= 8 ) and you get 14.
14 plus 24(4 doubled plus 8 double = 24 ) is 38
Then its 28 plus 72 or 110
then its 110 plus 216 or 326.

So to have "equal" spaced holes, you need either 2,6,14,38,110,or 218
The additional numbers behave like Factorial numbers, and are added and then doubled for the next sequence.
i.e. 4-8-24-72-216

I think your algorythmns (sp?) are giving you area...not true spacing.
Rich

Don't believe me ?
how about a simple test of my theory here...tell me to put 3 equal holes in a sphere?
You are eqating an impossibility !
How about a 2 D prolem !
How about putting 3 holes in a Pentigon (5 sides) shaped piece of sheet metal
with the holes all the same distance to a angle apex? see what I mean ?

Evan
07-07-2007, 11:42 PM
First, You CAN have two holes equally spaced (i.e. North and South Poles)
Second, You CANNOT have 3 holes equally spaced, nor 4, nor 5 !
It is a 'Spherical Surface"........and as such any and all holes do not fit.!

I said that.

quote: "This is a tiling problem then and only certain numbers can be tiled on any particular solid."

The values 1, 2 and 3 are trivial values and of course cannot be tiled as the smallest number of tiles possible for a solid is 4, the tetrahedron.

As I said, this is a sphere packing problem which is the 3D equivalent of the circle packing problem. Determining the most efficient tiling of a sphere determines the possible packing. It is a major concern in programming computer games and this of course applies to virtual reality systems.

More here:

http://number-none.com/product/Transmitting%20Vectors/index.html

lane
07-08-2007, 12:00 AM
Yall are way over my head. Lets get back to plane old machining. This math stuff makes my head hurt.

lazlo
07-08-2007, 12:19 AM
Lets get back to plane old machining.

Your spell checker isn't working Lane :D

XLocksmith
07-08-2007, 12:22 AM
Yall are way over my head. Lets get back to plane old machining. This math stuff makes my head hurt.

Sounds good to me, i really am looking for a nice way of indexing the positions of the sphere, i already have "a" solution for the packing. What do you think of the tilting table->rotary table -> dividing head idea?

lazlo
07-08-2007, 12:57 AM
i really am looking for a nice way of indexing the positions of the sphere

Ideally, you'd want a dividing head with a tilting horizontal axis. Mine is an Ellis like this one:

http://www.validusgroup.com/forsale/1000_3819.jpg
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=330142555014

Drill a starter hole on one of your center points, and use it to mount the sphere on the dividing head.

Then drill a ring of holes in one "latitude" of the sphere at a time, indexing across the correct number of holes for that latitude, based on whatever centering algorithm you chose.

After you're finished the complete ring of holes on that latitude, tilt the dividing head up N degrees, and drill the next complete ring of holes.

When you get around to the last ring of holes, flip the sphere around, and drop the horizontal axis to the next ring of holes after the "equator" and repeat the previous step.

agrip
07-08-2007, 02:03 AM
As a person with experience with ball transfers - -
A material handling industry spherical "caster".

A practical solution of a sort that is known to come reasonable close while something more elegant is worked out.

If you know about the size of sphere you might need.
If you know about the size of the holes you might need.
You will know what kind of support around the holes you want for the device to exist under the conditions you propose, you will have a limiting "area".

Now if you take a model sphere and surround it with ball bearings of the diameter of the area number (or close) that you have established. All of this within a hollow sphere of dimensiona appropriate to hold sphere #1 with the layer of balls. The balls will seak optimum distribution if you do the appropriate jiggle/ wiggle bit as you load, using decent lubrication, and a bit of horse sense.

THEN wash out the lube, backfill with warm salt water.
If your model ball is of dissimilar metal you will quickly get stain marks on sphere #1 in the best distribution pattern you are gonna get.

Set the marked sphere in a simple socket and rig a circle clamp.
Spin the sphere's marks to match an optical finder, clamp and do the drill, umpteen times.

Hth in D sector.
Ag

XLocksmith
07-08-2007, 02:43 AM
As a person with experience with ball transfers - -
A material handling industry spherical "caster".

A practical solution of a sort that is known to come reasonable close while something more elegant is worked out.

If you know about the size of sphere you might need.
If you know about the size of the holes you might need.
You will know what kind of support around the holes you want for the device to exist under the conditions you propose, you will have a limiting "area".

Now if you take a model sphere and surround it with ball bearings of the diameter of the area number (or close) that you have established. All of this within a hollow sphere of dimensiona appropriate to hold sphere #1 with the layer of balls. The balls will seak optimum distribution if you do the appropriate jiggle/ wiggle bit as you load, using decent lubrication, and a bit of horse sense.

THEN wash out the lube, backfill with warm salt water.
If your model ball is of dissimilar metal you will quickly get stain marks on sphere #1 in the best distribution pattern you are gonna get.

Set the marked sphere in a simple socket and rig a circle clamp.
Spin the sphere's marks to match an optical finder, clamp and do the drill, umpteen times.

Hth in D sector.
Ag


Agrip, awsome technique, I never would have thought of that, it is the mechanical equivalent of a repelling algorithm. I will be sure to try it. thanks

XLocksmith
07-08-2007, 02:45 AM
Ideally, you'd want a dividing head with a tilting horizontal axis. Mine is an Ellis like this one:

When you get around to the last ring of holes, flip the sphere around, and drop the horizontal axis to the next ring of holes after the "equator" and repeat the previous step.

Lazlo, sounds like the perfect excuse for me to purchase a tilting dividing head, thanks ;)

oldtiffie
07-08-2007, 03:43 AM
Deleted/edited-out

lazlo
07-08-2007, 10:27 AM
But if you have a rotab why not mount it on a tilting angle plate - like this:
http://i200.photobucket.com/albums/aa294/oldtiffie/Tilt3.jpg


Sure, a rotab on a tilting angle plate is basically the same method I suggested with a dividing head with a tilting axis.

By an ironic coincidence, I just bought one of those Chinese tilting angle tables from Enco, and posted several pictures of it here. I would recommend saving your $150 and putting it towards a good, used dividing head.

The thread got hijacked so I never posted a followup, but I ended up returning 4 of these tilting angle tables to Enco, and kept having them send replacements, until I finally got disgusted and kept the original one with the big rust divot:

Send It Back? (http://bbs.homeshopmachinist.net/showthread.php?t=24049)

The castings are very porous, so three of the tables had big "cottage cheese" voids in the table top. But my biggest bitch is that the worm feed
mechanism looks like it was hacked out with a piece of flint -- they have about a quarter of a turn of backlash between the table and the worm,
which means that when you loosen the bolts holding the table-top, the table drops down about 1/4" forward or backward.

I'm really anal about tramming the head on my mill, so I do like having a tilting table so I don't have to move the head, but I sure wish I could find
a nice, old US or British cast iron tilting table.

oldtiffie
07-08-2007, 11:01 AM
Deleted/edited-out

lazlo
07-08-2007, 11:22 AM
I will say that the worm is not too flash but its passable if I allow for it. It's no-where near as bad as the one's you had. The castings look to be very good indeed. Perhaps I was lucky or your supplier has a real QC problem.

No argument there Tiffie -- your casting does look a lot better than the 3 I sent back to Enco. Maybe the ship coming from China drops off the good ones in Australia, on the way to the US :)

If you look at the pictures of the rusted tabletop I posted, it actually has a nice fine-grained casting. That's why I kept that one, despite the 1/16" deep rust gouge on the corner.

As far as the worm, I think people would be better off with the same tilting table that comes without the worm.

So for milling long(ish) dovetails, gibs, etc -- the table works fine for me, but if I'm going to do a fiddly job like indexing locations on a sphere, or cutting pockets on a facemill, I'll be reaching for my diving head...