在写论文需要配图的时候,经常为了画3D图而发愁,而MATLAB就可以方便地画出各种各样的图,只不过要折腾一点;
下面先给出最终效果:
虽然说不是特别华丽,但是也蛮好看的;
figure[x,y,z]=ellipsoid(0.5,0.5,0.5,0.55,0.55,0.55);lightGrey = [0.8 0.8 0.8]; % 将球体的线设置为灰色 % 可以看到图中的球体网格线并不是特别细密,所以实际上是用的隔行画surf(x(1:2:end,:),y(1:2:end,:),z(1:2:end,:),'FaceColor','none','EdgeColor',lightGrey,'FaceAlpha',0.2);xlabel('X')ylabel('Y')zlabel('Z')hold on%正方体x1=[0 1 1 0 0 0 0 0 1 1 1 1 1 0 0 1];y1=[0 0 0 0 0 1 1 0 0 1 1 0 1 1 1 1];z1=[0 0 1 1 0 0 1 1 1 1 0 0 0 0 1 1];plot3(x1,y1,z1,'k');hold on%线条x3=[0 0.5 1];y3=[0 0.5 1];z3=[0 0.5 1]; % k 黑色线条plot3(x3,y3,z3,'k','LineWidth',1);hold on%三角形p1=[0.2;0;0];p2=[0;0.2;0];p3=[0;0;0.2]; % y 黄色线条patch(p1,p2,p3,'y'); hold on % 绘制表示三角形的三条虚线p4=[-0.2 0.4 -0.1 -0.2];p5=[0 0 0.4 0];p6=[0.4 -0.2 -0.1 0.4];plot3(p4,p5,p6,'--r');hold on%点x = 0.5;y = 0.5;z=0.5;plot3(x,y,z,'*r','LineWidth',2);hold onx = 1/15;y = 1/15;z=1/15; % * 星状点,线宽*2plot3(x,y,z,'*r','LineWidth',2);hold onx = 1;y = 1;z=1;plot3(x,y,z,'*k','LineWidth',1);hold onx = 0;y = 0;z=0;plot3(x,y,z,'*k','LineWidth',1); % 不显示坐标系axis off
仅仅作为一个简单的记录吧,所有的东西都是从网上能查到的MATLAB API
经过PS简单处理,增加一点文字(文字如果用MATLAB加会和线条互相遮挡)
献丑了~