Matlab绘制空间几何图

在写论文需要配图的时候,经常为了画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 on x = 1/15; y = 1/15; z=1/15;
% * 星状点,线宽*2 plot3(x,y,z,'*r','LineWidth',2); hold on x = 1; y = 1; z=1; plot3(x,y,z,'*k','LineWidth',1); hold on x = 0; y = 0; z=0; plot3(x,y,z,'*k','LineWidth',1);
% 不显示坐标系 axis off

仅仅作为一个简单的记录吧,所有的东西都是从网上能查到的MATLAB API

经过PS简单处理,增加一点文字(文字如果用MATLAB加会和线条互相遮挡)

献丑了~

posted @ 2017-02-26 11:34  益达915  阅读(2944)  评论(0编辑  收藏  举报