(实际运用上节课最后的技巧--多图--figure(N))
mashz在刚才的网格上增加了绘制边界面的功能
想要在mesh的基础上在xy平面绘制出
三维曲线的等高线,用meshc函数
在三维网线上
如果对于网线上的颜色单元进行填充
就会形成三维曲面图
三维曲面图的函数是surf函数
如果执行stem3函数
就在原来函数的基础上再绘制三维柱状图
整体程序:
%绘制三维螺柱线
t=0:pi/10:10*pi;
x=cos(t);y=sin(t);
plot3(x,y,t,'bo-');%bo-规定图中曲线为蓝色、圆圈+直线类型
xlabel('x=cos(t)');
ylabel('y=sin(t)');
zlabel('z');
title('三维螺柱线');
%绘制函数的三维网格线图
x=-2:0.2:2;
y=x;
[x,y]=meshgrid(x,y);
z=x.*exp(-x.^2-y.^2);
mesh(x,y,z);
meshz(x,y,z);
%用表现函数曲面图
x=-5:5;y=x;[x,y]=meshgrid(x,y);
z=x.^2+y.^2;
surf(x,y,z);hold on,colormap(hot);%绘制曲线的颜色 调色板设为hot
stem3(x,y,z,'bo'); %在原图基础上再绘制三维柱状图。
程序:
%绘制由隐函数f(x,y,z)=x.^2+y.^2+z.^2-1=0的三维球面
clear;
%绘制球面f(x,y,z)=x.^2+y.^2+z.^2=1;
xlimit=[-2 2]; %x坐标范围
ylimit=[-2 2]; %y坐标范围
zlimit=[-2 2]; %z坐标范围
gd=[30,30,30];%x,y,z坐标轴的格点数,当然越多越精细。
f=@(x,y,z) x.^2+y.^2+z.^2-1;%隐函数f(x,y,z)=0,如果f中不含某个变量一定要
%@,在匿名函数中表示函数句柄。
x=linspace(xlimit(1),xlimit(2),gd(1));
y=linspace(ylimit(1),ylimit(2),gd(2));
z=linspace(zlimit(1),zlimit(2),gd(3));
[x,y,z]=meshgrid(x,y,z); %产生三维的立体栅格点
val=f(x,y,z);
[f,v]=isosurface(x,y,z,val,0);
p=patch('Faces',f,'Vertices',v,'CData',v(:,3),'facecolor','none','Edgecolor','flat');
view(3);grid on;
绘制不同视图的peaks网格线
旋转观察多峰曲面函数
让方位角从0°变到360°
让仰角从0°变到360°
程序:
%旋转观察多峰函数曲面
close all;
figure;
mesh(peaks); %在新建图形窗口绘制多峰函数
el=30; %设置仰角为30°
for az=0:1:360 %让方位角从0到360,绕z轴一周
view(az,el);
drawnow; %更新图形窗口
end
az=0; %设置方位角为0
for el=0:1:360 %仰角从0变到360
view(az,el);
drawnow;
end
球的不同着色
程序:
%色彩处理,不同着色方式的效果展示
[x,y,z]=sphere(20);
colormap(copper);
subplot(1,3,1);surf(x,y,z);axis equal;
subplot(1,3,2);surf(x,y,z);shading flat;axis equal;
subplot(1,3,3);surf(x,y,z);shading interp;axis equal;
光照处理
(设置的光源位置不同,展示的效果不同)
程序:
%光照处理效果对比
[x,y,z]=sphere(20);
subplot(1,2,1);surf(x,y,z);axis equal;
light('position',[0,1,0]);
shading interp;hold on;
plot3(0,1,1,'p');text(0,1,1,'light');
subplot(1,2,2);surf(x,y,z);axis equal;
light('position',[1,0,1]);
shading interp;hold on;
plot3(1,0,1,'p');text(1,0,1,'light');
利用它可以对二维和三维的色图的重新设置、润色、加工
也可以在图形的编辑这里把它找出来
5.笔者后言个人本着学习的态度,同时也是一个不断学习的过程,以推文的形式保存也有助于自己对学习的理解和把控,也方便了其他想学习分析软体的朋友获取信息。
扫码关注我微信:万能青年之哪吒闹海 END