MATLAB绘图小代码,10元悬赏

使用MATLAB,

1)我希望制作一个动画,动画中有两个平行于xOy平面的平面,A平面一直是蓝色,B平面一直是红色。
2)我希望在三维图中放一个二维平面,z=0,x=-1到1,y=-1到1,没有网格线。在z=0平面内有一个半径0.5的圆,园内是红色,平面内圆外是蓝色。

动画?

用fill3函数,第四个参数是红绿蓝的混色值。下面是例子,圆的还能旋转




x=[-1,1,1,-1];
y=[-1,-1,1,1];
z=[0,0,0,0];
fill3(x,y,z,[0,0,1]);
hold on;
%A
xlabel('x');
ylabel('y');
zlabel('z');

%B
t=0:0.1:2*pi;
xn=0.5*cos(t);
yn=0.5*sin(t);

zn=repmat(0,1,63);
fill3(xn,yn,zn,[1,0,0]);

dt=.1; %时间间隔
t=0;    %初始时间
axis([-1,1,-1,1,-1,1]);

angless=0;
    znfasten = repmat(0,1,63);
    ynfsaten = yn;
    ynfsatenCenter = repmat(0,1,63);
while t<=10
    
    cla;
    fill3(x,y,z,[0,0,1]);
    hold on;
    fill3(xn,yn,zn,[1,0,0]);
    
    z=z+0.01;%上下平移

    yn=ynfsaten.*cos(angless);
    zn=znfasten+ynfsaten.*sin(angless);
    angless = angless+pi/12;
    drawnow                      %每次循环画一次图
    t=t+dt;                      %时间累加
end

img