玫瑰(极地)3d的等式

Dan*_*her 3 matlab matlab-figure

我需要绘制一个填充的玫瑰,它的中心是(30,30,30),它的半径是2.我写了下面的代码:

t = linspace(0,2*pi,201);
r = sqrt(abs(2*sin(5*t)));
[x y]=pol2cart(t,r);
z=x;
plot3(x+30,y+30,z)
grid on; 
Run Code Online (Sandbox Code Playgroud)

我得到了以下情节: 在此输入图像描述

我如何绘制一片玫瑰,它的叶子不仅在XY平面上?

H.M*_*ter 7

为了得到一个弯曲的叶子的玫瑰,你可以使用z坐标.例如,你可以尝试这样的事情:

z = 0.5 * (x.^2 + y.^2);
Run Code Online (Sandbox Code Playgroud)

这导致了

在此输入图像描述

因为玫瑰是红色的......

t = linspace(0,2*pi,201);
r = sqrt(abs(2*sin(5*t)));
[x y]=pol2cart(t,r);
z= 0.5*(x.^2+y.^2);
fill3(-x+30,-y+30,z, 'r')
alpha(0.5)
grid on; 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述