我一直在尝试在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;
我遇到的问题是我不知道如何将方程式绘制在一起。 有人可以看看我的代码,并给我一些指导/帮助,如何解决这个问题?
非常感谢, -Thomas
答案 0 :(得分:1)
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]);