matlab - 在 matlab 中绘制 3d 贝壳

标签 matlab object 3d draw mesh

我一直在尝试在 Matlab 中绘制 3d 贝壳,但我遇到了很多麻烦,因为我对 Matlab 很陌生。到目前为止,这是我尝试将代码与开头注释的参数和方程放在一起...

clear all

close all


%Seashell

%Parameters: 0 <= v <= 2*pi, 0 <= u <= 6*pi

%Equations: x = 2*(1 - e^(u/(6*pi)))*cos(u)*cos^2(0.5v)

%           y = 2*((-1) + e^(u/(6*pi)))*sin(u)*cos^2(0.5v)

%           z = 1 - e^(u/3pi) - sin(v)+ e^u/(6*pi))*sin(v)


for q= 1:1885

    u = 0:0.01:6*pi;

    V = 0:0.01:2*pi;

    for p=1:629

        v=V(:,p);

    end


            x = (2.*(1 - exp(u/(6.*pi))).*cos(u))'*((cos(0.5.*v)).^2);

            y = (2.*(-1 + exp(u/(6.*pi))).*sin(u))'*((cos(0.5.*v)).^2);

            z = 1 - exp(u/(3.*pi)) - sin(v)+ exp(u/(6.*pi)*sin(v));


end


           j=x';

        frog=y'; 

       sam(1,:)=j;

       sam(2,:)=frog;

       sam(3,:)=z;

       mesh(sam)



%z=z'

%test=[z,y,x];

%plot3(x,y,z);

%axis equal;

我遇到的问题是我不知道如何绘制方程式。 有人可以看看我的代码并给我一些关于如何解决这个问题的指导/帮助吗?

非常感谢, -托马斯

最佳答案

ezmesh('2.*(1 - exp(u/(6.*pi))).*cos(u)*cos(0.5.*v).^2',...
       '2.*(-1 + exp(u/(6.*pi))).*sin(u)*(cos(0.5.*v)).^2',...
       '1 - exp(u/(3.*pi)) - sin(v)+ exp(u/(6.*pi)*sin(v))',...
       [ 0, 6*pi, 0, 2*pi]);

关于matlab - 在 matlab 中绘制 3d 贝壳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20648248/

相关文章:

python - Python 中的 Matlab lsqnonlin

c++ - C/C++ Makefile : How to build dependencies between with . c文件和其他目录下的目标文件?

javascript - 将项目添加到数组或替换它(如果它具有相同的 ID)

css - CSS3 或 Three.js 中的曲面?

time-series - 执行 "online"线性插值

matlab - 仿射变换缩放

ruby - ruby 中的一切都是对象吗?

c# - 纹理/模型在远处闪烁 (3D)

python - matplotlib:3D 图中的网格

arrays - 一种计算向量误差的更快方法