球体上的分散n个点均匀 [英] Dispersing n points uniformly on a sphere

查看:310
本文介绍了球体上的分散n个点均匀的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图驱散n个点上的球,使得每个点具有相同的区域绕了。基本上,我想通过在n个点评估,并假设每个区域元素是相同的(且等于4PI R ^ 2 / N)集成在一个球体的功能。

I am trying to disperse n points on a sphere such that each point has the "same" area "around" it. Basically, I'm trying to integrate a function over a sphere by evaluating at n points and assuming that each area element is the same (and equal to 4pi r^2/n).

我的问题是非常相关的这一个,但我似乎无法同意psented在接受的答案code $ P $工作方式所需的(见所附照片,通过选择R = 1000,NX = NY = 40产生)。很显然,我的观点是更集中在两极和非常不集中沿赤道。

My question is very related to this one, but I can't seem to agree that the code presented in the "accepted" answer works as desired (see attached photo, generated by choosing R = 1000, nx = ny = 40). Clearly, my points are much more concentrated at the poles and very un-concentrated along the equator.

有什么建议?

Any suggestions?

编辑:作为参考,我确实发现一些软件生成网格使得每个点都有平等的区域周围(向下滚动才能看到球体上的均匀区域分布),而不是实现自己的code我跟一个不太费时的做法:我只是遍历方位角和极角([0 ,二皮]和[0,π),并计算出的'无限''每个补丁(DA = R ^ 2罪THETA dtheta DPHI)的区域。这基本上是所有我需要在整合领域,我只是希望统一的区域分布也不会这么难实现。

For reference, I did find some software that generates a mesh such that each point has equal "area" around it (scroll down to see uniform area distribution on a sphere), but rather than implement their code I went with a less-time consuming approach: I simply iterated over the azimuthal and polar angles ([0,2pi] and [0,pi]) and computed the ''infinitesimal'' area of each patch (da = r^2 sin theta dtheta dphi). This is basically all I need for integration over the sphere, I was just hoping that uniform-area distribution wouldn't be so hard to implement.

推荐答案

背景资料:

有一个球4 PI球面度,这是一个球体的总'度',但我用这个词只有在相对的意义,因为球面度是由一个圆圈定期弧度很大的不同,一,他们是3维,因此是坚实的。只是认为他们冰激凌形状的角度在一个球体。

There are 4 pi steradians in a sphere, that's the total 'degrees' in a sphere, but I use the term only in the relative sense because steradians are very different from regular radians in a circle, for one, they are 3 dimensional and therefore are solid. Just consider them as ice cream shaped angles in a sphere.

http://en.wikipedia.org/wiki/Steradian 提供了一个很好的例子它们。

http://en.wikipedia.org/wiki/Steradian provides a great example of them.

他们有一个直接的关系的半径,像在一个圆圈弧度。 1球面度= 1单元半径的平方。

They have a direct relationship to the radius, like radians in a circle. 1 steradian = 1 unit of radius squared.

所以,先找出多少个项目需要在球体上进行绘制。让这个数字是 N SR =球面度(计量单位)= R ^ 2 (半径的平方)

So, first find out how many items need to be plotted on the sphere. Let that number be n. sr = steradians (unit of measure) = r^2 (radius squared)

4 PI / N SR = X

X 是多少球面度被分配到每个点。

x is how many steradians are allocated to each point.

让我们说了4分。

4 PI / 4 SR = X

PI SR = X 因此,每个点将获得 PI SR的分配空间

pi sr = x So each point will get an allocated space of pi sr.

现在考虑这个......因为你是绘制点,我们会考虑每个点将被放置在分配空间的中间......这就是说,在conal形区域的中间是什么 SR 是。现在,你需要考虑的东西了一会儿,才可能完全填充的区域与圈?说真的,想想这...这不是是什么呢?实心圆将始终留有余地之间在特定的地点。想想了一会儿足球。它是由形状能走到一起,以提供均匀分布的构建。这种思想的要点是让你认识到,所有的点不可能完全相隔一定距离 - 怎么样一个圆的半径。然而,的足球广场的中心非常接近,是一致的。

Now consider this... since you are plotting points, we will consider that each point will be placed in the middle of the allocated space... that is to say, in the middle of the conal shaped area which is what sr is. Now you need to consider something for a moment, is it possible to fill an area completely with circles? Seriously, think about this... it's not is it? Solid circles will always leave room in between in certain spots. Think about a soccer ball for a moment. It is constructed from shapes that can come together to provide even distribution. The point of this thought is to get you to realize that all dots cannot be exactly a certain distance apart--like how a circle has a radius. Yet, the center of the soccer ball squares comes very close and is uniform.

我会做什么,如果我是你,会尝试写一个算法来确定最有效的形状把每一个分配的球形空间,这些块的......像足球。否则,我认为这可能是你将得到... 4 PI / N SR = X的最佳答案 ......,有没有办法为每点被绘制所以它精确地彼此相同的距离,(除了在特定的配置,也就是说,它有可能用点的特殊号码),可能有一种算法在那里找到所有的特殊情况。

What I would do if I were you, would be to try and write an algorithm to identify the most efficient 'shape' to put each of these 'chunks' of allocated spherical space in... like the soccer ball. Otherwise, I think this might be the best answer you're going to get... 4 pi / n sr = x... , there's no way for each point to be plotted so it exactly the same distance from each other, (except in certain configurations, i.e. it would be possible with special number of points), there may an algorithm out there to find all the special cases.

我在编辑这个答案阐述的特殊情况下,一点点额外的信息,将是很好的在这里我想。要分开等距离的点的特殊情况是,它们可以形成柏拉图固体的顶点。目前只有5个基本柏拉图式的固体形状,所有其他人都是由这些制成。

I am editing this answer to elaborate on the special cases, a little extra information would be good here I think. The special cases for the points to be equidistance apart are that they may form the vertices of platonic solids. There are only 5 basic platonic solid shapes, all others are made by these.

阅读此页为这方面的信息和证明 https://www.uwgb.edu/dutchs/symmetry/platonic.htm

Read this page for more information and proof of this https://www.uwgb.edu/dutchs/symmetry/platonic.htm

现在我不能邀功,我做了一些快速研究,并发现了一个类似的职位 <一href="http://math.stackexchange.com/questions/279544/return-an-array-of-evenly-distributed-points-on-a-sphere-give-radius-and-origin">http://math.stackexchange.com/questions/279544/return-an-array-of-evenly-distributed-points-on-a-sphere-give-radius-and-origin

Now I can't take credit, I did some quick research and found a similar post http://math.stackexchange.com/questions/279544/return-an-array-of-evenly-distributed-points-on-a-sphere-give-radius-and-origin

使用欧拉多面体公式 http://plus.maths.org/content/eulers-polyhedron-formula

Using Euler's polyhedron formula http://plus.maths.org/content/eulers-polyhedron-formula

和,关于多面体只存在三种基本形状的事实,三角形,正方形和六边形'可以创建一个算法舍要绘制的点的数量,到最近的多面体形状并绘制每一个均匀。

and the fact that only three basic shapes exist on polyhedrons, 'triangles, squares, and hexagons' you can create an algorithm to round the number of points you want to plot, to the nearest polyhedron shape and plot each one evenly.

呵呵,看看这篇大文章,它解释了球面度和三维'度'比我的 http://mathforum.org/library/drmath/view/55358.html

Oh, and take a look at this great article, it explains steradians and 3-dimensional 'degrees' much better than I. http://mathforum.org/library/drmath/view/55358.html

这篇关于球体上的分散n个点均匀的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆