N Equidistant Points on a Sphere
HTML-код
- Опубликовано: 21 авг 2024
- This video details the challenges of spacing n points equally on a sphere and some possible methods of doing it. I have done lots of research into this problem and can answer questions for you about it if you have any. Also, if you are looking to apply it to something you are working on and need some advice on it, feel free to contact me anytime at jgkogan99@gmail.com.
Here is a link to the paper I wrote about it:
scholar.rose-h...
This approximation is also incredibly useful for raytracing, it allows randomly picking points on a hemisphere while still getting even coverage, which is needed to pick directions for light rays.
This guy should have been going places... wow I just had a random thought and decided to search.. and here it is
This is amazing! It's so beautiful when maths and informatics come together.
Thanks!
I needed a list system to store game tile information in a game which you can traverse a globe. I've been racking my brain in this problem for some time. This should work. Thank you!
I am working on a 3D sphere design in CAD that involves equidistant point and had no idea this was an "impossible problem". Now I understand why I was struggling! Thanks for making me feel sane!
Me too, trying to solve equidistance between 7 points. I could find no solution.
This is honestly fucking awesome
That's awesome! Do you have a sphere points website? Crafters could use something like this. I have to put 120 nails into a sphere. It would be great to put that number in somewhere, be able to include the size of my sphere and then print out a template -- maybe shaped like this () -- that has dots on it, so I can cut it out and mark the dots all over my sphere. ;)
I'm actually implementing a web library & demo for this - I'll edit this once I'm done.
Thank you! I don't have anything close to your understanding of math and I do not know programming but this problem has been bothering me for years.
Thank you, great work.
Point of order: Equidistant is not the same as equally spaced. There is one answer for equidistant - the tetrahedron (4 points). But I like the results of your algorithm, and an approximation for equally spaced points is what I was looking for.
This is so cool Jonathan, well done.
I'm using UE4 to display country flags (199 off) around a sphere, not quite there yet, but determined to crack it.
Unfortunately my maths is a bit lacking now, lol.
All the best.
this is beautiful and cool at the same time.
someone send this guy to nasa
Great video!
I am more interested in the analytical proof that such algorithm exist. Especially, what kind of polygonal tiles they are for different numbers of n (n=4, the tiles are equilateral triangles, n=6 are squares....) Are there any published papers you can refer to?
Genius
I wonder why prior research on the problem been so extensive at LLNL, and Sandia?
Cool this is pretty nice. I made an implementation of this in c# for unity, so i can have reasonably spaced spawners around a planet. Works rather nice for larger numbers. Low numbers (like 10-20 ish) have some visible clumping, but that's fine.
true
this is phi. You can clearly see 4:32 same configuration as sunflower seed head.
I'd be interested to see how constructing normalized root systems from 3-node dynkin diagrams would work in terms of efficiency. 2-node dynkin diagrams already produce evenly spaced points on a circle and the 3-node ones seem to be very evenly spaced when choosing certain orders for m(a,b).
I am currently thinking about this problem but for equi-distributed points on an n-sphere.
whoa, nice work!
I was just starting to tackle this problem. The spiral idea was the first straightforward idea that occurred to me, so thanks for doing this work. I think I'm going to need something scalable and recursive, though. Would all the points from one set match points from one with a higher density?
Given a radius and a number of points, is there a function that would calculate the average distance.
i try the code and i don't see any Equidistant
Wow - beautiful man. Very interesting approach. How do you only have 96 up-votes?
Could this be used to make a dome house
Hello Jonathan could you create touching circles around each point n 5 to 21?
And do a series of fair dices by lathe down the sphere poles to flat circle areas?
for 5-21 maybe?
What do you mean by "fair dices"? I'm guessing isohedral shapes which have equal/balanced chances of landing on any given facing?
Dice must also land with a "top" facing parallel to the base (to display the number rolled) which imposes a limit on the range of possible shapes.
Trapezohedra and bipyramids can be used to make "fair dice" with any arbitrarily large number of facings, but these shapes only have one polar axis of symmetry, they're not spheroids.
Too many facings will also make "rounded" shapes which would take a long time to stop rolling and which would make the "top" facing less easy to identify.
Wow. Pretty cool.
This is wonderful! Thanks :) Is there already a Python implementation of this algorithm or should I code it?
Found it in the paper. THANKS !!!
This is awesome! Thanks
So -- what was the outcome with your algorithm for N=5?
Furthermore, maybe consider the following:
The 'classic' solution for N=5 forms a trigonal bipyramid with side lengths of sqrt[2] and sqrt[3], so I wonder if refining your algorithm (0.1 + 1.2n = x) as follows might improve your accuracy above the 70-85% you claim, given that a sphere is 3D, and very sensitive to small changes in the number of decimal points, as V=4/3[pi]r^3
1) 1.2n
(1.2)^3 = 1.728, which is very close to sqrt[3] = 1.73205...
Working backwards, the cubic root of sqrt[3] = 1.20093... i.e. 3^(1/6)
2) 0.1
Again -- sqrt[2] = 1.41421...
>>> sqrt[2]/10 = 0.14142...
OR, going further -- the cubic root of sqrt[2] = 1.12246... i.e. 2^(1/6)
>>> (2^(1/6))/10 = 0.11224...
I think your algorithm is a step in the right direction, Jonathan :)
...however, I also think you are limiting yourself too much by keeping its co-efficients to single decimal places, given the 3D complexity of spherical geometry :)
So, maybe your equation should be
(2^(1/6))/10 + 3^(1/6)n = x ... [???]
I'd certainly be interested to see how these small changes affect the final outcome!
...and -- exactly what program are you using, so I too can have a play??
Thanks for the advice. I did try your equation to see if it would work, and it was significantly worse for many n. Also, please note that I didn't arbitrarily choose the coefficients I had. It just turned out that optimal ones were rational.
What about for very large sets? Mapping the Earth to about a square kilometer would entail something on the order of 5*10^8 points.
Hi. I've been thinking of something you might be able to do. I hope my idea is not too crazy.
The nucleus of an atom consists of protons (with positive charge) and neutrons. Thus, the protons of each chemical element are probably arranged in the nucleus to be equidistant from the other positive charges. Would there be a way for you to try to simulate how likely those arrangements would be for the protons of each chemical element in the 3d space inside the nucleus. Do you think it is possible? It would be a little different from this problem because the points could be inside the sphere too. I would like to visualize the various possible arrangements of points at the same distance from each other in 3d. We would be able to see which shapes would appear for three points(triangle), four points, five points and so on.
Look up the VSEPR theory, though it applies more to electrons and molecules; it would also apply to protons, but there's the issue of nuclei also having neutrons, and I'm not sure how neutrons would effect this theory.
The only true highest number of equidistant points on a three dimensional sphere is four. What the author of this video, and all of us watching, are looking for, are the number of evenly distributed points on a sphere; or points on the sphere with the smallest discrepancy in the distances between them.
Yes. That approach can be used.
Hey It is very interesting could you helm me. How can we draw c60 like structure which have some pentagon and hexagonal grid of particles
Jonathan dear, your enthusiasm is admirable and your video is well crafted.
However, you neglect to mention the many analytical methods that exist for this exact problem (such as the very popular method by Vogel). I would have expected you to compare the accuracy of your method with at least one method.
I also have to say that your method seems interesting and it is a shame that you explain it poorly. Maybe I am not smart enough, but I did not understand it.
Thanks for providing several applications of an analytical method, it was interesting. Maybe you can make a followup video providing more applications.
Isn't that just Fibonacci Spheres?
This is quite interesting - would you mind sharing a 3D model?
It's great, I have a problem same as you solve it in the above video, would please help me to solve it?
Hey man I just stumbled upon your video, I’d like to get some feedback from you on a few theories in relation to this specifically. If you ever have some free time I’d be honored to pick your brain, please let me know how I can contact you. Sincerely, a random youtuber
It has something to do with fractals.
I do not understand what you mean by equidistant points on a sphere. As from what you presented here, it is clearly that you do not mean that the distance between any two points is the same. I just don't get what the problem is about.
If anyone understands please tell me.
Not between any, between all of them. If you pick one point and hold all the n-1 distances to all the other points, for an ideal solution you must be able to do the same thing for any other point and get a similar set of distances.
Oh OK thank you I think I understand now it should be a kind of symmetry.
Yes, it's not "any two points", it's "any two adjacent points"
The highest number of equidistant points on a three dimensional sphere is 4. What the author of the video, and everyone here, is looking for, is evenly distributed points on a sphere, or points on the sphere with the smallest discrepancy in the distances between them.