如何在matlab上画出球面上均匀分布的20个点

我可以用n=20;fork=1:nx=cos(2*k*pi/n);y=sin(2*k*pi/n);plot(x,y,'r*')end做出在二维圆面上均匀分布的点,现在急求... 我可以用
n=20;
for k=1:n
x=cos(2*k*pi/n);
y=sin(2*k*pi/n);
plot(x,y,'r*')
end
做出在二维圆面上均匀分布的点,
现在急求如何用类似的方法求出在三维球面上分布的点,我用的方法是
n=20;
k=1:20;
x=cos(2*k*pi/n).*sin(2*k*pi/n)
y=sin(2*k*pi/n).*sin(2*k*pi/n)
z=cos(2*k*pi/n)
plot3(x,y,z,'*')
但是不知道这个画出来的点是不是均匀分布的,求大侠给指导一下!如果这个是给个明确答复,不是的话麻烦你帮忙想一下
展开
 我来答
若以下回答无法解决问题,邀请你更新回答
greatdju
2010-08-11 · TA获得超过2.2万个赞
知道大有可为答主
回答量:2486
采纳率:50%
帮助的人:4146万
展开全部
phi = (1+sqrt(5))/2;
v = [1/phi phi 0;-1/phi phi 0;1/phi -phi 0;-1/phi -phi 0
phi 0 1/phi; -phi 0 1/phi;phi 0 -1/phi;-phi 0 -1/phi
0 1/phi phi;0 -1/phi phi;0 1/phi -phi;0 -1/phi -phi
1 1 1;1 -1 1; 1 1 -1;-1 1 1;-1 -1 1;-1 1 -1;-1 -1 -1;1 -1 -1];
x=v(:,1);
y=v(:,2);
z=v(:,3);
plot3(x,y,z,'*')

以上20个点均匀分布在半径为sqrt(3)的球上,组成了正12面体的20个顶点。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式