谁来解释下这个matlab程序中的算法

clfR=100;%球的半径n=21;%圆的数量N=30;%每个平面圆的点数t=linspace(0,2*pi,N);%这个lispace什么意思?forel=linsp... clf
R = 100; % 球的半径
n = 21; % 圆的数量
N = 30; % 每个平面圆的点数
t = linspace(0,2*pi,N); %这个lispace什么意思?
for el = linspace(-pi/2, pi/2, n)
r = R * cos(el); %半径r怎么是按Rcos(el)变化的?
x = r * cos(t); %下面的xyz坐标如何多加几个,比如0,25,50,75,100
y = r * sin(t);
z = R * sin(el) * ones( size(x) );
plot3(x, y, z, 'k');
hold on
end
axis equal
结果如下:
展开
 我来答
tsingstrong
2013-09-26 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:113
采纳率:0%
帮助的人:91.1万
展开全部
linspace是产生一维数组1*N
el影响Z轴坐标,从-pi/2到pi/2变化,使得z的值从-100到100变化
xyz坐标点数要增加的话,只要把N的值加大就可以了
整个思想就是把一个三维球体拆解,分成一个个的平行圆。一个球上的点(x,y,z),R为该点和原点连线的长度也就是球的半径,z=R*sin(el),el理解为每个圆所在平面与该点和原点连线的夹角,那么r就是这条直线在平面上的投影,x.y也就可以理解了
giantbrain
2013-09-26 · TA获得超过347个赞
知道小有建树答主
回答量:358
采纳率:100%
帮助的人:156万
展开全部
lispace(a,b,n)等价于 a:(b-a)/(n-1):b
el为与z轴夹角,类似于地球仪中的维度,每层圈的半径变化规律为Rcos(el)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式