cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Need to share some code when posting a question or reply? Make sure to use the "Insert code sample" menu option. Learn more! X

How to create evenly distributed points on a sphere?

BHOoi
15-Moonstone

How to create evenly distributed points on a sphere?

A very simple problem but i failed to figure it out.

Is there an easy way to create the points? Any suggestions/tricks? Thanks

29 REPLIES 29
BHOoi
15-Moonstone
(To:TobiasLarsson)

wow, none looks simple and some are not evenly spaced. Good reference anyway, thanks. Those were about 3 years ago, hopefully Creo is more capable now

dschenken
21-Topaz I
(To:BHOoi)

I searched Google for "points evenly spaced on sphere" and got this: Distributing points on the sphere | School of Mathematics and Statistics which mentions "it is not possible to equally distribute points on the sphere except in a few special cases"

It's a difficult problem for anything not trivial. It does not surprise me that Creo does not address this.

BHOoi
15-Moonstone
(To:dschenken)

Thanks for the link, I will spend some time going through it.

BHOoi
15-Moonstone
(To:BHOoi)

I have tried patterning but it's still pretty manual. I don't have any image, and just thought of creating something similar to a golf ball.

BHOoi
15-Moonstone
(To:BHOoi)

I got this link from PTC's reply, but still have no clue how to creat it

https://support.ptc.com/appserver/cs/view/solution.jsp?n=CS177218&lang=en_US

Patriot_1776
22-Sapphire II
(To:BHOoi)

Pshaw, that's easy.....I just put one point at the North pole, and one at the South pole (2 "points" total), exactly per your request, done! 

BHOoi
15-Moonstone
(To:Patriot_1776)

Capture.JPG

BHOoi
15-Moonstone
(To:BHOoi)

Patriot_1776
22-Sapphire II
(To:BHOoi)

Actually, I never got to play around with making a golf ball, but, this is exactly what I was thinking I would try.  Since a sphere can be divided up into equal triangular facets, I figured an approach like this would work.  Nice find!

Kevin
10-Marble
(To:BHOoi)

The points won't be equal but they may be close. You end up with gaps if you make the distances equal. You can probably see that best in the middle iteration.

Patriot_1776
22-Sapphire II
(To:Kevin)

Hmmm, I would think it would be exactly equal.  I'll have to look into it.  It LOOKS equal.

The best way I can think of to describe it is you have three figures in the pattern a triangle, pentagon, and hexagon. For the triangle and pentagon the points would lie on the sphere. For the points to be equal in distance the triangles need to be equilateral. For the triangle the 3 points can be equal distance and lie on the sphere. The same is true for the pentagon the 6 points can be equal distance and lie on the sphere, it forms a pyramid with equilateral triangles. For the hexagon, since it is made up of 6 equilateral triangles the 7 points lie on a plane so only 6 of the points would lie on the sphere the center point would not. Having the the 7 points on the sphere causes the pyramid formed to be made of 6 isosceles triangles.

Patriot_1776
22-Sapphire II
(To:Kevin)

I think that's where the error comes in:  The 7 points are NOT on a plane, but on a spherical surface.  In other words, the 6 outer points would describe a circle (planar), and the 7th point in the middle, would have a "Z" value relative to that plane.

BHOoi
15-Moonstone
(To:Patriot_1776)

The distance is only equal in the 1st case, i.e regular icosahedron with 12 vertices. After I split it further, by bisecting its faces and radially projecting its vertices to the spherical surface, the distance is not longer equal. The page How can I generate uniformly spaced points on the surface of a sphere? - QuoraI says it's equal so I might have missed out something

Kevin
10-Marble
(To:BHOoi)

‌When they are talking about uniformly spaced or distributed they are not talking about the distances between all the points being equal they are talking about regions on the sphere having the same number of points uniformly spaced. The only time the points are equidistant is for the icosahedron because all triangles are equilateral. The icosahedron is then used as the base for adding more and more points which get uniformly spaced on the sphere.

GOLF - Gentleman Only, Ladies Forbidden? - PTC Community-  Vladimir Palffy

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Thanks

Hari

“Share your knowledge. It is a way to achieve immortality.” - Dalai Lama.

BHOoi
15-Moonstone
(To:BHOoi)

This is how I construted the edges of the trinagle of regular icosahedron.

Capture.JPG

BHOoi
15-Moonstone
(To:BHOoi)

another approach:

Capture.JPG

Kevin
10-Marble
(To:BHOoi)

Wiki has info that talks point distances relate to the radius of a sphere. The simplest approach for the icosahedron that I found is to create a sketch with the diameter desired, create a line that goes through the center with the ends on the circle, place points on each end of the line since the points will alternate from northern to southern hemisphere, write a relation for the angle of the line from the latitudinal plane of arctan(.5), pattern the sketch about the longitudinal axis with a spacing of 5 element within 360 degrees, and the final two points are at the north and south poles of the sphere.

Kevin
10-Marble
(To:BHOoi)

‌A method of getting the sphere to contain more triangles is once you have the icosahedron defined work on splitting just one of them the other 19 triangles will have the same pattern. Once triangular section has been split as desired you can mirror the region about the edge of the main icosahedron triangle. You can mirror the region so it maps to two of the middle triangular regions and one region at the other pole. You the group these an create a rotational axis pattern of five groups to complete the sphere. I can work on some images if you would like to see the method.

Kevin
10-Marble
(To:BHOoi)

Constructions you end up with following the instructions from the article:

sphere-4.JPG

sphere-3.JPG

sphere-2.JPG

sphere-1.JPG

TomD.inPDX
17-Peridot
(To:Kevin)

This is all looking way to familiar

Yes, there should be an easier way.

The simplest way that I've found so far is to start with one of the triangles of the icosahedron and create a fill pattern for the points, create three mirror features of the patterned points so you four triangular regions of points, create axis features from the center point of the sphere through the point to be projected, and create a point feature offset from the center point along the projection axis. The features can then be grouped and axis pattern created to complete the remaining regions. Adding some relations relating the radius and number of divisions let sit update if you want to change the size of the sphere and/or number points.

TomD.inPDX
17-Peridot
(To:BHOoi)

Have you tried the fill pattern's advanced features?

‌I took a look at this but based on what I'm seeing although it will get points on the spheres surface it can't duplicate the method used to create the points. The most appropriate would be to pattern the points on a sketched curve but the projections or mappings of the points to the surface are off. From what I can see the pattern options can't handle the radial projection of the individual points which is required to get the points in the right places.

bnielsen-2
4-Participant
(To:BHOoi)

Hi @BH001,

It looks like you've gotten a lot of responses already, but I thought I'd add my $0.02:

After skimming through the various responses, I saw that someone did effectively answer [correctly]: it's not possible to distribute N points on a sphere with perfectly even spacing between adjacent points when N is above a certain number (I'm not certain, but I seem to remember number N=20 for some reason.  I wouldn't swear to this though).

However, this is an active problem in mathematics; please refer to this PDF of a relatively rigorous analysis of the problem: https://perswww.kuleuven.be/~u0017946/publications/Papers97/art97a-Saff-Kuijlaars-MI/Saff-Kuijlaars-MathIntel97.pdf

Also, I didn't see it in that PDF but I distinctly remember reading about fibonacci arrangements of pollen as well, something that was studied in the first half of the 20th century by a well-known biologist (whose name also escapes me, of course).  I think this is the relevant paper: https://arxiv.org/pdf/0912.4540.pdf

Also, these links may be of some help as well:

http://stackoverflow.com/questions/9600801/evenly-distributing-n-points-on-a-sphere

https://my.vanderbilt.edu/edsaff/spheres-manifolds/

Please let us know how your research goes and what you decide on doing!

BHOoi
15-Moonstone
(To:bnielsen-2)

Thanks for those links, Ben. I will spend some time going through them but I doubt i will be able to understand them all .

So far, the best solution is still through icosahedron but it has limited number of points and further splitting is pretty a tedious task.

TomD.inPDX
17-Peridot
(To:BHOoi)

Something to consider is building 1 quadrant and learn how to use the transformation matrix.  When I was doing the Golf Ball, everything could be mirrored X and Y, then transform the set of 4, twice.

The subdivision is the one thing that there has to be a better way.  You do know you can use polar coordinate systems, right?

Is there an advantage there?

Announcements
Business Continuity with Creo: Learn more about it here.

Top Tags