中peaks是三维_第八课 三维图形的绘制

2ace86ffdad304efb6103bf823bb21b4.png 1.三维图形绘制 dbfa1c163897c8fbc2293bf7a7d5440c.png

(实际运用上节课最后的技巧--多图--figure(N))

2f13ce106b67f40a0ebfcf1166da7c09.pngdcee491260a54a007d21494f8ae3e6d9.png

mashz在刚才的网格上增加了绘制边界面的功能

0ff934a77583e6ee6f6f080008ac0fcb.png

想要在mesh的基础上在xy平面绘制出

三维曲线的等高线,用meshc函数

33120352fe29048c0d9fd9f7af4139fe.png

在三维网线上

如果对于网线上的颜色单元进行填充

就会形成三维曲面图

三维曲面图的函数是surf函数

6fa8d5cde9410642697f337970c0ec15.png

如果执行stem3函数

就在原来函数的基础上再绘制三维柱状图

ab22ea23305a02e8c8ab0afb2b02e166.png8fbf943d84b05f7dda70748ea52ff0ef.png

整体程序:

%绘制三维螺柱线
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'); %在原图基础上再绘制三维柱状图。

f6535b5fb12658846f024d3bd0f0cf81.png

2ace86ffdad304efb6103bf823bb21b4.png 2.三维隐函数绘图 dbfa1c163897c8fbc2293bf7a7d5440c.png

程序:

%绘制由隐函数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;

616a2e2a269f4b9a64d5c206cca5c44e.png

f266fc30d3eacf6e2e4dadd905ba8c6b.png

2ace86ffdad304efb6103bf823bb21b4.png 3.三维图形的修饰处理 dbfa1c163897c8fbc2293bf7a7d5440c.png

2294a01d1bf330546c3b13f20821b92b.png

绘制不同视图的peaks网格线

4eaaaa2646e0d21b0781b937593311ec.png

旋转观察多峰曲面函数

让方位角从0°变到360°

d7635b67ff4c57b829c128f61bec6964.png

让仰角从0°变到360°

1c4972606c1479c0af367e363ad6aa3f.png

程序:

%旋转观察多峰函数曲面
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

球的不同着色

b78e2b5cb853f3443a438563f8019b3e.png

程序:

%色彩处理,不同着色方式的效果展示
[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;

光照处理

(设置的光源位置不同,展示的效果不同)

bff77699be9531a916b21dfd5ffef66b.png

程序:

%光照处理效果对比
[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');

2ace86ffdad304efb6103bf823bb21b4.png 4.操作小技巧 dbfa1c163897c8fbc2293bf7a7d5440c.png

c3d77fe1ad2941b0d5c30f354bc210d3.png

利用它可以对二维和三维的色图的重新设置、润色、加工

53339f50ddcc5c8ecc38cf4c72eaeb98.png

9d91ed9f1e8e626b40854ba12a09bfa6.png

也可以在图形的编辑这里把它找出来

8fc176586a96ac807b45a4b809e2abca.png

2ace86ffdad304efb6103bf823bb21b4.png 5.笔者后言 dbfa1c163897c8fbc2293bf7a7d5440c.png 43e5c87a2b55c73265368f4f9c359495.gif

  个人本着学习的态度,同时也是一个不断学习的过程,以推文的形式保存也有助于自己对学习的理解和把控,也方便了其他想学习分析软体的朋友获取信息。

03280eadd79a13de0b14ca8af4eabfd8.png扫码关注我微信:万能青年之哪吒闹海 e97fcf6a4588c43d057fb2e84670f8a2.png 7751b34eed105683768de68a4f261e95.png ffdd5e259825f35d2ebaaddb79fb0f06.pngEND
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值