Matlab三维空间随机填加圆柱体且不重叠

使用Python生成二维数据,使用Matlab绘制三维曲面。

clc;
x=table2array(data(:,1));
y=table2array(data(:,2));
r=table2array(data(:,3));
num=60;
x_lim=[];
y_lim=[];
z_lim=[];


for i=1:2:2*num
    index=(i+1)/2;
    xi_lim=r(index,1)*cos(linspace(0,2*pi,300));
    xi_lim(i,:)=xi_lim+ones(1,300)*x(index,1);
    x_lim(i,:)=xi_lim(i,:);
    x_lim(i+1,:)=xi_lim(i,:);
    yi_lim=r(index,1)*sin(linspace(0,2*pi,300));
    yi_lim(i,:)=yi_lim+ones(1,300)*y(index,1);
    y_lim(i,:)=yi_lim(i,:);
    y_lim(i+1,:)=yi_lim(i,:);
end


figure;  
for i=1:2:2*num
    x_j=[];
    y_j=[];
    x_j(1,:)=x_lim(i,:);
    x_j(2,:)=x_lim(i+1,:);
    y_j(1,:)=y_lim(i,:);
    y_j(2,:)=y_lim(i+1,:);
    z_lim(1,1:300)=0;
    z=rand(1);
    z_lim(2,1:300)=z*30;
    surf(x_j,y_j,z_lim,'facecolor',[0.5,0.5,0.5],'LineStyle','none');
    hold on
    fill3(x_j(1,:),y_j(1,:),z_lim(1,:),'b');
    fill3(x_j(2,:),y_j(2,:),z_lim(2,:),'b');
end

 Matlab三维空间随机填加圆柱体且不重叠_第1张图片               Matlab三维空间随机填加圆柱体且不重叠_第2张图片

Python-区域内随机填加圆并输出信息(RSA)_Smith Eric的博客-CSDN博客icon-default.png?t=M4ADhttps://blog.csdn.net/qq_39642029/article/details/125141370?spm=1001.2014.3001.5501

Matlab实现绘制圆柱体_Smith Eric的博客-CSDN博客icon-default.png?t=M4ADhttps://blog.csdn.net/qq_39642029/article/details/125141484?spm=1001.2014.3001.5501

 

你可能感兴趣的:(线性代数,matlab,开发语言)