MATLAB 3D 动画简单实例
2013-01-13 08:32
309 查看
MATLAB 3D 动画简单实例
翻译自网站:http://www.matrixlab-examples.com/simple-animation-3d.html
本文是在系统学习MATLAB绘图(2D-3D)之前的一个引例。 系统学习资料在:MATLAB 2-D and 3-D 绘图
望喜欢!
------------------
本文将展示2个使用MATLAB***的简单的3D动画。在第一个例子中,我们对一个球体sphere进行动画***,旋转了观察的角度,但没有改变物体形状。 在第二个例子中,我们画了一个抛物面paraboloid,并且改变了它的大小和形状。这些简单的技术是MATLAB动画***的基础。
1. 球体的动画
首先我们绘制了一个球体,并且保证3D坐标系的比例是正常的。然后,变换我们观察的角度,从方位角和高度进行了改变。整个过程不改变球体形状大小,只是改变视角。
'drawnow'语句作用就是更新当前的图形。它冲掉了queue事件,强行让MATLAB更新屏幕。
完成以上功能的代码如下:
---------------------------
-------------------------
首先从这里开始:(图001)
-----------------------------------------------
最后到这里:(图002)
2.抛物面动画
首先我们画了一个抛物面,让坐标轴比较合适地显示。然后一点一点拉伸图形,使用set函数来不断更新数据的z坐标,(set函数是用来修改处理中的图形的属性的)。最后我们旋转了方位角azimuth,到了另一个视角。
实例代码:
--------------------------
------------------------
开始视图: (003)
结果视图: (004)
参考:MATLAB 绘制3-D图形:http://blog.sina.com.cn/s/blog_4b1d907d010007bt.html
翻译自网站:http://www.matrixlab-examples.com/simple-animation-3d.html
本文是在系统学习MATLAB绘图(2D-3D)之前的一个引例。 系统学习资料在:MATLAB 2-D and 3-D 绘图
望喜欢!
------------------
本文将展示2个使用MATLAB***的简单的3D动画。在第一个例子中,我们对一个球体sphere进行动画***,旋转了观察的角度,但没有改变物体形状。 在第二个例子中,我们画了一个抛物面paraboloid,并且改变了它的大小和形状。这些简单的技术是MATLAB动画***的基础。
1. 球体的动画
首先我们绘制了一个球体,并且保证3D坐标系的比例是正常的。然后,变换我们观察的角度,从方位角和高度进行了改变。整个过程不改变球体形状大小,只是改变视角。
'drawnow'语句作用就是更新当前的图形。它冲掉了queue事件,强行让MATLAB更新屏幕。
完成以上功能的代码如下:
---------------------------
clear; clc; close all % Draw a sphere sphere % Make the current axis box square in size axis('square') % Define title and labels for reference title('Rotation of a sphere...') xlabel('x'); ylabel('y'); zlabel('z') % Modify azimuth (horizontal rotation) and update drawing for az = -50 : .2 : 30 view(az, 40) drawnow end % Modify elevation (vertical rotation) and update drawing for el = 40 : -.2 : -30 view(30, el) drawnow end
-------------------------
首先从这里开始:(图001)
-----------------------------------------------
最后到这里:(图002)
2.抛物面动画
首先我们画了一个抛物面,让坐标轴比较合适地显示。然后一点一点拉伸图形,使用set函数来不断更新数据的z坐标,(set函数是用来修改处理中的图形的属性的)。最后我们旋转了方位角azimuth,到了另一个视角。
实例代码:
--------------------------
clear; clc; close all % Define paraboloid X = -2 : .1 : 2; Y = X; [x, y] = meshgrid(X, Y); z = .5 * (x.^2 + y.^2); % Draw 3D figure, keep track of its handle h = surf(x,y,z); % Keep axes constant axis([-2 2 -2 2 0 20]) % Define title and labels for reference xlabel('x'); ylabel('y'); zlabel('z') % Stretch paraboloid and show updates for i = 1 : .1 : 5; set(h, 'xdata', x, 'ydata', y, 'zdata', i*z) drawnow end % Modify azimuth (horizontal rotation) and update drawing for az = -37.5 : .5 : 30 view(az, 30) drawnow end
------------------------
开始视图: (003)
结果视图: (004)
参考:MATLAB 绘制3-D图形:http://blog.sina.com.cn/s/blog_4b1d907d010007bt.html
相关文章推荐
- MATLAB 3D 动画制作(三)- 实时随动3D动画设计
- 基于matlab的简单人脸识别实例
- jQuery实现动画效果的简单实例
- matlab的GUI简单实例——二阶系统的阶跃响应
- Animation简单的3D动画旋转
- wpf 炫彩动画效果简单实例
- OpenGL织梦之旅【第四章】第2节.简单的3D动画
- js定时器+简单的动画效果实例
- 巧用HTML5给按钮背景设计不同的动画简单实例
- wpf 炫彩动画效果简单实例
- 不用ViewPager一样做翻页,简单讲讲自定义3D动画
- 【Android开发小记--7】动画--简单的button移动和图片3D翻转
- CSS3 3D旋转动画代码实例
- Python通过matplotlib绘制动画简单实例
- 不用ViewPager一样做翻页,简单讲讲自定义3D动画
- Android 3d翻转动画(实例)
- Android 简单3D动画开发
- 一个简单的Draw2d动画实例
- Matlab实现均匀量化的简单实例
- MATLAB动画显示串口数据【实例】