刚刚学习Matlab不久,像下面这样求出了三维的散点图,该怎么形成散点空间的包络曲面(想要得到的图1)呢?还有想要得到的图2,3?由于我是新手,没有积分,但一定重谢!
R=150;
r=50;
l=200;
zmax=400;
zmin=200;
for z=0:2:400
for datagamma=pi/36:pi/72:2*pi
for rou=0:2:400
x=rou*cos(datagamma);
y=rou*sin(datagamma);
z1=z+sqrt(l^2-((-sqrt(3)/2)*r+x+(sqrt(3)/2)*R)^2-(y-r/2+R/2)^2);
z2=z+sqrt(l^2-x^2-(y+r-R)^2);
z3=z+sqrt(l^2-((sqrt(3)/2)*r+x-(sqrt(3)/2)*R)^2-(y-r/2+R/2)^2);
U1=acos((z1-z)/l);
U2=acos((z2-z)/l);
U3=acos((z3-z)/l);
if (z1<=zmax)&(z1>=zmin)&(z2<=zmax)&(z2>=zmin)&(z3<=zmax)&(z3>=zmin)&(U1>0)&(U10)&(U20)&(U3
plot3(x,y,z)
hold on;
end
end
end
end
2017-3-25 09:57 上传
散点图
2017-3-25 10:00 上传
想要得到的图2
2017-3-25 10:00 上传
想要得到的图3
2017-3-25 10:01 上传
想要得到的图1