在MATLAB中,如何由一个xyz坐标系中的三维图,得到它在xoy、xoz、yoz平面的掠影?

来源:百度知道 编辑:UC知道 时间:2024/05/16 11:06:59
p=0.1;
s=0.2;
l=0.3;
w=0.01;
theta=0;
t=0:0.01:400*pi;
x=-p*cos(w*t+theta);
y=2*p*sin(w*t+theta)+l;
z=s*sin(w*t+theta);

plot3(x,y,z);grid;

在figure窗口中好像有一个命令可以得到它在某一个二维平面的投影图,我忘了,是哪个命令?
除了用plot(x,y)这样的命令得到二维平面的投影图之外的方法。
致 回答者: adanos - 经理 五级 :
你好!
我最后一句话说了,除了用plot(x,y)这样的命令得到二维平面的投影图之外的方法。因为用plot命令只能得到某些三维图的投影,而用mesh画出的图,就不能用这种方法。

致 回答者: 丛叶SW - 童生 一级 :
先谢谢你们!
你说的“或者直接在窗口里进行“旋转”的交互式操作也可以”,旋转的操作很难操作到刚刚好,我记得好像有个操作可以得到很规范的投影。
你说的“可以通过改变视角的方法来操作,如view(2),view(90,0)等等,”,我刚才也试了,只能得到xoy、yoz两个平面的投影。如果要得到xoz的呢?

可以通过改变视角的方法来操作,
view(0,90),view(2)可见xoy平面,view(0,0)可见xoz平面,view(90,0)可见yoz平面,默认视角为view(-37.5,30).
可在MATLAB HELP里面查出两个参数的含义

生成的figure窗口上有个Rotate 3D按钮,点一下,再到下面生成的图上右击,选择投影面。会看到标准的三个平面投影图。

hold on;
plot(x,y),hold on;
plot(y,z),hold on;
plot(x,z),hold on
%完毕