Если вам нужны равномерно распределенные точки - просто поместите их в узлы сетки.
Сфера с радиусом R имеет объем
V=4/3*Pi*R^3
поэтому для размещения N точек каждой ячейки кубической сетки (возможно, вы захотите использовать гексагональную плотную упаковку) должен иметь объем
v=4/3*Pi*R^3/N
и длина ребра
l = R * (4*Pi/(3*N))^1/3
Затем создайте точки в координатах (a*l, b*l, c*l)
, где a,b,c
- целые числа, ограниченные -R..+R
(с соответствующей суммой квадратов).
Предлагаемый подход является довольно грубой оценкой, и, возможно, некоторые из N необходимых точек могут выйти за пределы сферы. В этом случае нужно уменьшить размер ячейки или использовать более точное значение - оно может быть рассчитано с использованием трехмерного аналога формула круга Гаусса ()