求解包含时间的偏微分方程(组)将得到随着时间变化的数值结果,把这样的数据制作成gif动画并结合到幻灯片中,在毕业答辩、小组讨论、课堂教学等场合有着广泛的应用。生动的彩色gif动画具有很强的表现力,令人刮目相看,大大提高了报告人所讲述理论结果的直观性、生动性、观赏性。
生成gif动画主要用到4个函数:getframe、frame2im、rgb2ind、imwrite。
(1)getframe函数的一般调用形式为:F=getframe(h),其作用是截取句柄为h的窗口内的一帧图像。
(2)frame2im函数的作用是把一帧截图转为图像数据。
(3)rgb2ind函数的作用是将RGB图像转换为索引图像,一般调用形式为:[X,map]=rgb2ind(RGB,n)。其中,X、map分别为转换后的图像数据和颜色表数据,RGB为转换前的图像数据,n指定map中的颜色数。
(4)imwrite函数的作用是将图像数据写入图像文件,一般调用形式为:imwrite(X,map,filename,fmt,Param1,Val1,Param2,Val2...)。其中,X、map意义同上,filename为文件名,fmt为文件格式,Param1,Val1,Param2,Val2...为若干可选参数及其取值。如:参数LoopCount为动画的循环播放次数,这里设为inf,即无穷大。参数DelayTime为每帧间隔时间,单位秒。参数WriteMode为写入文件的模式,有覆盖overwrite(默认)和追加append两种选择。(www.xing528.com)
生成gif动画的示例代码如下:
程序B-1
主程序代码如下:
运行代码之后在当前目录下生成gif文件,缩略图如图B-1所示,该动画显示了一个三维高斯函数的峰值逐渐增大的过程。
图B-1 生成gif动画的缩略图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。