matlab 如何得到一个单位球壳上均匀分布的10000个点坐标(尽量均匀)

2025-03-17 04:22:01
推荐回答(1个)
回答1:

clear all;
clc;
clf;
x=1:20001;
y=1:20001;
z=1:20001;
a=(x-10001).*(x-10001)+(y-10001).*(y-10001)+(z-10001).*(z-10001);

idx=find(a==100000000);
kx=(x(idx)-10001)/10000;
ky=(y(idx)-10001)/10000;
kz=(z(idx)-10001)/10000;
fid1=fopen('d:\kx.txt','w');
fid2=fopen('d:\ky.txt','w');
fid3=fopen('d:\kz.txt','w');
fprintf(fid1,'%16.8f',kx);
fprintf(fid2,'%16.8f',ky);
fprintf(fid3,'%16.8f',kz);
fclose(fid1);
fclose(fid2);
fclose(fid3);