背景资料:
一个球体中有 4 个 pi 球面度,这是球体中的总“度数”,但我仅在相对意义上使用该术语,因为球面度与圆形中的常规弧度非常不同,一方面,它们是 3 维的,因此是坚实的。只需将它们视为球体中的冰淇淋形状的角度。
http://en.wikipedia.org/wiki/Steradian提供了一个很好的例子。
它们与半径有直接关系,就像圆中的弧度一样。1 球面度 = 1 个单位半径平方。
因此,首先找出需要在球体上绘制多少项目。让那个数字成为n
。
sr
= 球面度(测量单位)= r^2
(半径平方)
4 pi / n sr = x
x
是分配给每个点的球面度数。
比方说4分。
4 pi / 4 sr = x
pi sr = x
所以每个点都会得到一个分配的空间pi sr
。
现在考虑这个......因为您正在绘制点,我们将考虑将每个点放置在分配空间的中间......也就是说,在锥形区域的中间,这就是什么sr
。现在你需要考虑一下,是否可以用圆圈完全填充一个区域?说真的,想想这个……不是吗?实心圆圈将始终在某些位置之间留出空间。想一想足球。它由可以组合在一起以提供均匀分布的形状构成。这个想法的重点是让你意识到所有的点不可能完全相隔一定的距离——就像圆有半径一样。然而,足球正方形的中心非常接近并且是均匀的。
如果我是你,我会做的是尝试编写一个算法来识别最有效的“形状”,将这些分配的球形空间“块”中的每一个放入......就像足球一样。否则,我认为这可能是您将得到的最佳答案... 4 pi / n sr = x
...,没有办法绘制每个点,因此它们之间的距离完全相同,(在某些配置中除外,即可能有特殊数量的点),可能有一种算法可以找到所有特殊情况。
我正在编辑此答案以详细说明特殊情况,我认为在这里提供一些额外的信息会很好。点等距离的特殊情况是它们可能形成柏拉图立体的顶点。只有 5 种基本的柏拉图立体形状,所有其他的都是由这些构成的。
阅读此页面以获取更多信息和证明
https://www.uwgb.edu/dutchs/symmetry/platonic.htm
现在我不能相信,我做了一些快速研究,发现了一个类似的帖子
https://math.stackexchange.com/questions/279544/return-an-array-of-evenly-distributed-points-on-a-球体半径和原点
使用欧拉的多面体公式
http://plus.maths.org/content/eulers-polyhedron-formula
事实上,多面体上只存在三种基本形状,“三角形、正方形和六边形”,您可以创建一种算法来将要绘制的点数四舍五入到最接近的多面体形状并均匀地绘制每一个。
哦,看看这篇很棒的文章,它比我更好地解释了球面度和 3 维“度数”。http://mathforum.org/library/drmath/view/55358.html