关于Matlab作已经知函数绕固定轴旋转而成的三维函数问题二维函数的描绘程序已知:p=-2*pi:0.01:2*pi;r=sqrt(cos(2*p));x=r.*cos(p);y=r.*sin(p);plot(x,y)我需要让它绕x轴旋转任意角度而成三维图像,程序应该
来源:学生作业帮助网 编辑:六六作业网 时间:2025/01/26 15:03:45
关于Matlab作已经知函数绕固定轴旋转而成的三维函数问题二维函数的描绘程序已知:p=-2*pi:0.01:2*pi;r=sqrt(cos(2*p));x=r.*cos(p);y=r.*sin(p);plot(x,y)我需要让它绕x轴旋转任意角度而成三维图像,程序应该
关于Matlab作已经知函数绕固定轴旋转而成的三维函数问题
二维函数的描绘程序已知:
p=-2*pi:0.01:2*pi;
r=sqrt(cos(2*p));
x=r.*cos(p);
y=r.*sin(p);
plot(x,y)
我需要让它绕x轴旋转任意角度而成三维图像,程序应该怎么编写?请写出具体命令以及命令的注解.
我想把它转变为一个三维的连续图形.类似这样的得到的三维图形:
r=-10:10;
t=linspace(0,pi*2,18);
[r,t]=meshgrid(r,t);
x=r.*sin(t);
y=r.*cos(t);
z=r;
surf(x,y,z);
axis equal
还有一个我不明白的问题是,按照以上格式,我编写如下格式程序:
t=linspace(0,pi*2,18);
r=sqrt(cos(2*t));
[r,t]=meshgrid(r,t);
x=r.*cos(t);
y=r.*sin(t);
z=r;
mesh(x,y,z);
axis equal
系统信息反馈的错误问题如下:
Error using ==> mesh at 69
X,Y,Z,and C cannot be complex.
关于Matlab作已经知函数绕固定轴旋转而成的三维函数问题二维函数的描绘程序已知:p=-2*pi:0.01:2*pi;r=sqrt(cos(2*p));x=r.*cos(p);y=r.*sin(p);plot(x,y)我需要让它绕x轴旋转任意角度而成三维图像,程序应该
首先,你用的plot画出来的是一个二维的图形,即使通过旋转,在视觉上
你也只能看到一个投影的平面图,为了解决这个问题
我们得把你需要的曲线用plot3画成空间曲线,这样就能看到旋转效果
命令如下:
>> p=-2*pi:0.01:2*pi;
>> z=zeros(size(p));%生成与p同样大小的零矩阵z,让该平面处在z=0的平面上
>> r=sqrt(cos(2*p));x=r.*cos(p);y=r.*sin(p);
>> f=plot3(x,y,z);%画出空间曲线
>> rotate(f,[1 0 0],45,[0 0 0])%使用旋转命令使其旋转45度,其中[1 0 0]代表旋转轴,此处是x轴
%,[0 0 0]代表旋转点,f是图形句柄
>> hold on
>> f=plot3(x,y,z);%画出原图形进行比较
这个回答满意吗?