在寫論文需要配圖的時候,經常為了畫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加會和線條互相遮擋)
獻丑了~