Matlab球面上有180个点均匀分布(如下图),球直径为1m,球心(0,0,0),想要求出这180个点的球坐标?
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/10/02 18:33:41
Matlab球面上有180个点均匀分布(如下图),球直径为1m,球心(0,0,0),想要求出这180个点的球坐标?
将最近的三个点用直线连接为一个三角形,由点是均匀分布知其为等边三角形,且任意相邻的三点都可连成一个等边三角形,于是这180个点就连成了一个正多边形,且它的顶点数是180
数学只存在5种正多边形,而其中没有顶点数是180的,见下表
面数 棱数 顶点数 每面边数 每顶点棱数
正4面体 4 6 4 3 3
正6面体 6 12 8 4 3
正8面体 8 12 6 3 4
正12面体 12 30 20 5 3
正20面体 20 30 12 3 5
由此可知,这里的均匀分布是指向足球表面的点那样类似分布的
由12个正方形和30个六边形组成,那30个六边形是全等的
写了一个不是均匀分布的,供参考
参照地球的经纬度,每隔pi/10取值,经度取[0:pi/10:2*pi],纬度取[0:pi/10:pi],由于matlab计算时的舍入误差使结果偏大,故经纬度都取不到最大值,故共有9*20+1=181个点.
clear
clc
x=zeros(1,180);
y=zeros(1,180);
z=zeros(1,180);
for n=1:9
for k=0:19
x(20*n+k)=0.5*sin(pi*n/10)*cos(pi*k/10);
y(20*n+k)=0.5*sin(pi*n/10)*sin(pi*k/10); %坐标变换
z(20*n+k)=0.5*cos(pi*n/10);
end
end
x
y
z
scatter3(x,y,z,'*','r')
xlabel('x')
ylabel('y')
zlabel('z')
供参考
酱油+炮灰+探路的
再问: 太感谢你了, x(20*n+k)=0.5*sin(pi*n/10)*cos(pi*k/10); y(20*n+k)=0.5*sin(pi*n/10)*sin(pi*k/10); z(20*n+k)=0.5*cos(pi*n/10); 应该改成 mm=1; for n=1:9 for k=0:19 x(mm)=0.5*sin(pi*n/10)*cos(pi*k/10); y(mm)=0.5*sin(pi*n/10)*sin(pi*k/10); z(mm)=0.5*cos(pi*n/10); mm=mm+1; end end 这样中间的零点就去掉了,太感谢你了。
再答: 按你题中要求的均匀分布,我写的应该不是正确的答案啊
数学只存在5种正多边形,而其中没有顶点数是180的,见下表
面数 棱数 顶点数 每面边数 每顶点棱数
正4面体 4 6 4 3 3
正6面体 6 12 8 4 3
正8面体 8 12 6 3 4
正12面体 12 30 20 5 3
正20面体 20 30 12 3 5
由此可知,这里的均匀分布是指向足球表面的点那样类似分布的
由12个正方形和30个六边形组成,那30个六边形是全等的
写了一个不是均匀分布的,供参考
参照地球的经纬度,每隔pi/10取值,经度取[0:pi/10:2*pi],纬度取[0:pi/10:pi],由于matlab计算时的舍入误差使结果偏大,故经纬度都取不到最大值,故共有9*20+1=181个点.
clear
clc
x=zeros(1,180);
y=zeros(1,180);
z=zeros(1,180);
for n=1:9
for k=0:19
x(20*n+k)=0.5*sin(pi*n/10)*cos(pi*k/10);
y(20*n+k)=0.5*sin(pi*n/10)*sin(pi*k/10); %坐标变换
z(20*n+k)=0.5*cos(pi*n/10);
end
end
x
y
z
scatter3(x,y,z,'*','r')
xlabel('x')
ylabel('y')
zlabel('z')
供参考
酱油+炮灰+探路的
再问: 太感谢你了, x(20*n+k)=0.5*sin(pi*n/10)*cos(pi*k/10); y(20*n+k)=0.5*sin(pi*n/10)*sin(pi*k/10); z(20*n+k)=0.5*cos(pi*n/10); 应该改成 mm=1; for n=1:9 for k=0:19 x(mm)=0.5*sin(pi*n/10)*cos(pi*k/10); y(mm)=0.5*sin(pi*n/10)*sin(pi*k/10); z(mm)=0.5*cos(pi*n/10); mm=mm+1; end end 这样中间的零点就去掉了,太感谢你了。
再答: 按你题中要求的均匀分布,我写的应该不是正确的答案啊
如何在matlab上画出球面上均匀分布的20个点
已知球面上多组坐标的数据,如何用MATLAB拟合求出球的球心坐标及半径.
设球面上3个点A,B,C,每两点间的球面距离都等于该球大圆周长的1/6,经过这3点的圆的半径为2,求该球的直径
球面上有3个点,其中任意2点的球面距离都等于大圆周长的1/6,经过这3点的小圆周长为4π,求这个球的半径?
电势计算总电荷量为3.5nC的电荷均匀分布在一个半径为24cm的金属球的球面上.设无穷远处电势为0,试求:1.离球心48
(1)如图,在平面直角坐标系中,点A的坐标是(10,0),点B的坐标为(8,0),点C、D在以OA为直径的半圆M上,且四
如下图所示:A点坐标为(2,3),B点坐标为(2,-1),请补充平面直角坐标系,原点为0,并求出三角形ABO的面积
如图,在平面直角坐标系中,点A的坐标是(10,0),点B的坐标为(8,0),点C,D在以OA为直径的半圆M上,且四边形O
如图,在平面直角坐标系中,点A的坐标是(10,0),点B的坐标为(8,0),点C、D在以OA为直径的半圆M上,
球面上有A、B、C三点,AB=AC=2,∠BAC=90°,球心到平面ABC的距离为1,则球的表面积为______.
如图,在平面直角坐标系中,点A的坐标(10,0),点B的坐标(8,0),点C,D在以OA为直径的半圆M上……
过球面上同一点A的两个截面所成的角为60度,其中一个过球心O,两截面圆圆心之间的距离等于10,求这个球的直径d.