MATLAB: Can someone help me with these 3D plots 3d plotsplot /matlabcentral/answers/uploaded_files/5868/final%20project.png Can anyone help me with the last 3 plots? you can see the paramters in the link Best Answer you can plot these shapes in the following two ways(you can choose better way you like):%%Seashell[u, v] = meshgrid(linspace(0, 6 * pi, 100), linspace(0, 2 * pi, 100));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);figure, surf(x, y, z), xlabel('x'), ylabel('y'), zlabel('z'), title('Seashell')%%Eight torusc = 1;[u, v] = meshgrid(linspace(-pi, pi, 100));x = cos(u) .* (c + sin(v) .* cos(u) - sin(2 * v) .* (sin(u) / 2));y = sin(u) .* (c + sin(v) .* cos(u) - sin(2 * v) .* (sin(u) / 2));z = sin(u) .* sin(v) + cos(u) .* (sin(2 * v) / 2);figure, surf(x, y, z), xlabel('x'), ylabel('y'), zlabel('z'), title('Eight torus')%%Helical springr1 = 0.25;r2 = 0.25;T = 2;n = 6;[u, v] = meshgrid(linspace(0, 2 * n * pi, 100), linspace(0, 2 * pi, 100));x = (1 - r1 * cos(v)) .* cos(u);y = (1 - r1 * cos(v)) .* sin(u);z = r2 * (sin(v) + T * u / pi);figure, surf(x, y, z), xlabel('x'), ylabel('y'), zlabel('z'), title('Helical spring')%%Cornucopiaa = 0.3;b = 0.5;[u, v] = meshgrid(linspace(0, 2 * pi, 100), linspace(-3, 3, 100));x = exp(b * v) .* cos(v) + exp(a * v) .* cos(u) .* cos(v);y = exp(b * v) .* sin(v) + exp(a * v) .* cos(u) .* sin(v);z = exp(a * v) .* sin(u);figure, surf(x, y, z), xlabel('x'), ylabel('y'), zlabel('z'), title('Cornucopia')Or alternatively you can also plot them using ezsurf as follows:syms u v%%Seashellx = 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);figure, ezsurf(x, y, z)%%Eight torusc = 1;x = cos(u) * (c + sin(v) * cos(u) - sin(2 * v) * (sin(u) / 2));y = sin(u) * (c + sin(v) * cos(u) - sin(2 * v) * (sin(u) / 2));z = sin(u) * sin(v) + cos(u) * (sin(2 * v) / 2);figure, ezsurf(x, y, z)%%Helical springr1 = 0.25;r2 = 0.25;T = 2;n = 6;x = (1 - r1 * cos(v)) .* cos(u);y = (1 - r1 * cos(v)) .* sin(u);z = r2 * (sin(v) + T * u / pi);figure, ezsurf(x, y, z)%%Cornucopiaa = 0.3;b =0.5;x = exp(b * v) .* cos(v) + exp(a * v) .* cos(u) .* cos(v);y = exp(b * v) .* sin(v) + exp(a * v) .* cos(u) .* sin(v);z = exp(a * v) .* sin(u);figure, ezsurf(x, y, z)I hope it helps. Good luck! Related SolutionsMATLAB: How to generate an .stl file from a symbolically generated 3D surface syms u vx = (-2/15)*cos(u)* (3*cos(v) - 30*sin(u) + 90*(cos(u))^4*sin(u) - 60*(cos(u))^6*sin(u) + 5*cos(u)*cos(v)*sin(u))y = (-1/15)*sin(u)* (3*cos(v) - 3*(cos(u))^2*cos(v) + 48*(cos(u))^4*cos(v) - 48*(cos(u))^6*cos(v) - 60*sin(u) + 5*cos(u)*cos(v)*sin(u) - 5*(cos(u))^3*cos(v)*sin(u) - 80*(cos(u))^5*cos(v)*sin(u) + 80*(cos(u))^7*cos(v)*sin(u))z = (2/15)*(3+5*cos(u)*sin(u))*sin(v)figure(2)h = ezsurf(x,y,z,[0, pi, 0, 2*pi]) ;X = h.XData ; Y = h.YData ; Z = h.ZData ; Now use surf2stl: https://in.mathworks.com/matlabcentral/fileexchange/4512-surf2stl X,Y,Z. MATLAB: How to shift a fsurf plot r = @(u,v) 2 + sin(7.*u + 5.*v);funx = @(u,v) r(u,v).*cos(u).*sin(v);funy = @(u,v) r(u,v).*sin(u).*sin(v);funz = @(u,v) r(u,v).*cos(v);% fsurf(funx,funy,funz,[0 2*pi 0 pi]); % This plot should be shiftedxshift = 2; yshift = -2;% fsurf( @(u,v)funx(u-xshift,v-yshift), @(u,v)funy(u-xshift,v-yshift), @(u,v)funz(u-xshift,v-yshift), [0 2*pi 0 pi])M = 100 ; N =100 ;u = linspace(0,2*pi,M) ;v = linspace(0,pi,N) ;[U,V] = meshgrid(u,v) ;X = funx(U,V)-2 ;Y = funy(U,V)+2 ;Z = funz(U,V) ;surf(X,Y,Z) Related QuestionHow to solve a non-linear equation system as function handle with fsolvePlot wind directions and speed of a day with quiverSolve overspecified equation system
Best Answer