应用STK进行任务仿真,除了计算数据之外,还有一个重要功能,就是场景展示,虽然STK效果比不专业的动画软件。这就涉及到,视频录制的问题了。
STK软件自带了视频录制功能,2D、3D都可以录制。这里以3D场景录制为例
(一)手动操作过程:
(1)建立场景
uiap = actxserver(‘STK11.application’);
root = uiap.Personality2;
root.NewScenario(‘test’);
sc = root.CurrentScenario;
sat = sc.Children.New(18,‘mysat’);
sat.Propagator.Propagate;
(2)调出录制参数设置页面
在3D视图界面,单击右键,然后点击Properties
(3)设置录制参数
录制参数选择如下。这里需要提一下对于STK10、STK9的版本,请注意,应该是没有Record Movie选项,貌似是VTR,大家可以注意以下。
(4)完成录制。设置完成后,就可以录制了。录制时,只要点击运行动画,就会自动录制了。至于录制的参数,大家可以自己去探索,这里就不详说了。
(二)MATLAB互联操作过程
录制视频的语句如下:
%视频录制开启,并录制为AVI格式,保存路径为c:\MyTemp
root.ExecuteCommand(‘RecordMovie3D * Record On FileFormat AVI OutputDir “c:\MyTemp”’);
支持的图片/视频格式FileFormat {BMP | PNG | RAS | TIF | AVI | WMV | JPEG}。对于WMV,可以设置帧频,关键字FrameRate。也可以按照单张图片进行存储:
root.ExecuteCommand(‘RecordMovie3D * Record On FileFormat BMP OutputDir “c:\MyTemp”’);
抓取当前视图,并保存:
root.ExecuteCommand(‘RecordMovie3D * SnapWindow FileFormat BMP OutputDir “c:\MyTemp”’ );
修改文件名。在保存时,文件
root.ExecuteCommand(‘RecordMovie3D * SnapWindow Prefix “mypicture” FileFormat BMP OutputDir “D:\stkdata”’ );
一条比较全的命令示例:
root.ExecuteCommand(‘RecordMovie3D * Record On Prefix “mymovie” FileFormat WMV OutputDir “D:\stkdata” FrameRate 20’);
root.PlayForward;
root.Rewind;
对于视频来讲,Prefix后面的字符串就是保存的视频文件名。但是对于图片来说,是图片名的前缀。
2D视图录制,RecordMovie2D就可以了。
还有其他的一些参数设置,这里就不过多介绍了。大家在应用的过程中自己探索吧。