Matlab——图形绘制——三维立体图形 剔透玲珑球 动态图——彗星状轨迹图
2024-09-01 19:51:55
三维绘图函数
三维绘制工具
函数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 %设视角、画运动轨线
最新文章
- IOS错误Could not produce class with ID
- PHP面向对象(OOP)编程入门教程
- 源码剖析——深入Windows句柄本质
- C# 写XML文件
- IntelliJ IDEA MyBatis插件安装
- 用XAML做网页!!—开篇
- 【ArcGIS 10.2新特性】ArcGIS 10.2 for Desktop 新特性(一)
- go语言学习-常用命令(四)
- BZOJ4077 : [Wf2014]Messenger
- React Native Android原生模块开发实战|教程|心得|怎样创建React Native Android原生模块
- python之内部函数
- 性能优化之永恒之道(实时sql优化vs业务字段冗余vs离线计算)
- Visual Studio 开始支持编写 Android 程序并自带 Android 模拟器【转载】
- Python Twisted系列教程1:Twisted理论基础
- ThreadPoolExecutor – Java Thread Pool Example
- 2.4G无线模块NRF2401
- HDU 5645 DZY Loves Balls 水题
- python 基础 9.12 索引
- NAT模式下设置 虚拟机linux(Centos7) 联网
- Vue.js 和 MVVM
热门文章
- Hive的基本介绍(一)
- Codeforces Round #575 (Div. 3) (A. Three Piles of Candies)(数学)
- 隐马尔可夫模型中基于比例因子的前向算法(java实现)
- vue笔记(更新中)
- 搭建团队协作办公wiki (confluence)
- Hibernate实体对象的生命周期(三种状态)
- shell练习--PAT题目1005:继续(3n+1)猜想(全绿失败喜加一)
- time时间库使用示例
- Dw 表单制作 与 dedecms 结合实现提交效果
- spring mvc @Valid 数据验证