三维绘图函数

三维绘制工具

函数view

实例:三维螺旋线

>> t=:pi/:*pi;
plot3(sin(t),cos(t),t)
grid %添加网格

 plot3可以画出空间中的曲线

>> t=linspace(,*pi, );
plot3(t.*sin(t), t.*cos(t), t); %注意用点乘 .*

也可以同时画出两条空间中的曲线

>> t=linspace(,*pi,);
>> plot3(t.*sin(t),t.*cos(t),t,t.*sin(t),t.*cos(t),-t);

正弦曲线图

x=linspace(,*pi); %  到 3pi 间100 个数据点
z1=sin(x);
z2=sin(*x);
z3=sin(*x);
y1=zeros(); % 含有100 个数据的 数组
y3=zeros();
y2=y3/;
plot3(x,y1,z1,x,y2,z2,x,y3,z3);

 立体网状图

实例:

>> x=linspace(-, , ); %在x轴上取25点
y=linspace(-, , ); %在y轴上取25点
[xx,yy]=meshgrid(x, y); % xx和yy都是21x21的矩阵
zz=xx.*exp(-xx.^-yy.^); %计算函数值,zz也是21x21的矩阵
mesh(xx, yy, zz); %画出立体网状图

 曲面图

>> x=linspace(-, , ); %在x轴上取25点
y=linspace(-, , ); %在y轴上取25点
[xx,yy]=meshgrid(x, y); % xx和yy都是21x21的矩阵
zz=xx.*exp(-xx.^-yy.^); %计算函数值,zz也是21x21的矩阵
surf(xx, yy, zz);%画出立体曲面图

 peaks函数

>> z = *(-x).^.*exp(-(x.^) - (y+).^) ...
- *(x/ - x.^ - y.^).*exp(-x.^-y.^) ...
- /*exp(-(x+).^ - y.^);
>> peaks z

也可以对peaks函数取点,再以各种不同的方法进行绘图

meshz 可将曲面加上围裙

[x,y,z]=peaks;
meshz(x,y,z);

waterfall 可在x 方向或y 方向产生水流效果:

[x,y,z]=peaks;
waterfall(x,y,z);

产生在y方向的水流效果:

[x,y,z]=peaks;
waterfall(x',y',z');

meshc 同时画出网状图与等高线:

[x,y,z]=peaks;
meshc(x,y,z);

surfc 同时画出曲面图与等高线:

[x,y,z]=peaks;
surfc(x,y,z);

 contour3 画出曲面在三度空间中的等高线

contour3(peaks, );

contour 画出曲面等高线在XY 平面的投影

contour(peaks, );

 剔透玲珑球

[X0,Y0,Z0]=sphere(); %产生单位球面的三维坐标
X=*X0;Y=*Y0;Z=*Z0; %产生半径为2 的球面的三维坐标
surf(X0,Y0,Z0); %画单位球面
shading interp %采用插补明暗处理
hold on; mesh(X,Y,Z);hold off %画外球面
hidden off %产生透视效果
axis off %不显示坐标轴

动态图形动画效果——彗星状轨迹图

R0=; %以地球半径为一个单位
a=*R0;b=*R0;T0=*pi; %T0是轨道周期
T=*T0;dt=pi/;t=[:dt:T]';
f=sqrt(a^-b^); %地球与另一焦点的距离
th=12.5*pi/; %卫星轨道与x-y平面的倾角
E=exp(-t/); %轨道收缩率
x=E.*(a*cos(t)-f);y=E.*(b*cos(th)*sin(t));z=E.*(b*sin(th)*sin(t));
plot3(x,y,z,'g') %画全程轨线
[X,Y,Z]=sphere();X=R0*X;Y=R0*Y;Z=R0*Z; %获得单位球坐标
grid on,hold on,surf(X,Y,Z),shading interp %画地球
x1=-*R0;x2=*R0;y1=-*R0;y2=*R0;z1=-*R0;z2=*R0;
axis([x1 x2 y1 y2 z1 z2]) %确定坐标范围
view([ ]),comet3(x,y,z,0.02),hold off %设视角、画运动轨线

最新文章

  1. IOS错误Could not produce class with ID
  2. PHP面向对象(OOP)编程入门教程
  3. 源码剖析——深入Windows句柄本质
  4. C# 写XML文件
  5. IntelliJ IDEA MyBatis插件安装
  6. 用XAML做网页!!—开篇
  7. 【ArcGIS 10.2新特性】ArcGIS 10.2 for Desktop 新特性(一)
  8. go语言学习-常用命令(四)
  9. BZOJ4077 : [Wf2014]Messenger
  10. React Native Android原生模块开发实战|教程|心得|怎样创建React Native Android原生模块
  11. python之内部函数
  12. 性能优化之永恒之道(实时sql优化vs业务字段冗余vs离线计算)
  13. Visual Studio 开始支持编写 Android 程序并自带 Android 模拟器【转载】
  14. Python Twisted系列教程1:Twisted理论基础
  15. ThreadPoolExecutor – Java Thread Pool Example
  16. 2.4G无线模块NRF2401
  17. HDU 5645 DZY Loves Balls 水题
  18. python 基础 9.12 索引
  19. NAT模式下设置 虚拟机linux(Centos7) 联网
  20. Vue.js 和 MVVM

热门文章

  1. Hive的基本介绍(一)
  2. Codeforces Round #575 (Div. 3) (A. Three Piles of Candies)(数学)
  3. 隐马尔可夫模型中基于比例因子的前向算法(java实现)
  4. vue笔记(更新中)
  5. 搭建团队协作办公wiki (confluence)
  6. Hibernate实体对象的生命周期(三种状态)
  7. shell练习--PAT题目1005:继续(3n+1)猜想(全绿失败喜加一)
  8. time时间库使用示例
  9. Dw 表单制作 与 dedecms 结合实现提交效果
  10. spring mvc @Valid 数据验证