目前有找到任何简单方便的公式得到球面上均匀分布的n点的坐标,在实际工作中可以使用如下方法生成近似均匀分布的点坐标(matlab代码)
%% **************************** 在单位球面上生成均匀分布的n个点 ***********************%
% 参考文献:
% 1. https://www.cnblogs.com/cofludy/p/5894270.html
% 2. https://zhidao.baidu.com/question/2266363508196979468.html
clc;
close all;
clear all;
fclose('all');
format shortG;
nums_points=100; % 点数量
nums_interas=200; % 迭代次数
monitor = 1; %迭代过程监控开关,0:off;1:on
r = get_points_from_sphere(nums_points, nums_interas, monitor);
figure
plot3(r(:,1),r(:,2),r(:,3),'.');hold on;%画结果
[xx,yy,zz]=sphere(50);
h2=surf(xx,yy,zz); %画一个单位球做参考
set(h2,'edgecolor','none','facecolor','r','facealpha',0.7);
axis equal;
axis([-1 1 -1 1 -1