%.m文件
............................%省略前面的代码
movie_speed=10;
local_R=linspace(-60,0,2);
center_bei=1.5;
delta_angle=15/180*pi;
for k=1:movie_speed:index_t-1
    hold off;
    plot3(x(1:index_t-1),y(1:index_t-1),z(1:index_t-1),'linewidth',1);hold on;    
    plot3(ta_x(1:index_t-1),ta_y(1:index_t-1),ta_z(1:index_t-1),'r','linewidth',1);
    axis auto;axis ij;grid on
    %                 view(0,90);
    %                 view(90,0);
    plot3(center_bei*local_R*cos(to_beta(k))*cos(to_alpha(k))+x(k),center_bei*local_R*cos(to_beta(k))*sin(to_alpha(k))+y(k),center_bei*local_R*sin(to_beta(k))+z(k),'r','linewidth',2);
    plot3(local_R*cos(to_beta(k))*cos(to_alpha(k)+delta_angle)+x(k),local_R*cos(to_beta(k)+delta_angle)*sin(to_alpha(k))+y(k),local_R*sin(to_beta(k))+z(k),'r','linewidth',2);
    plot3(local_R*cos(to_beta(k))*cos(to_alpha(k)-delta_angle)+x(k),local_R*cos(to_beta(k)-delta_angle)*sin(to_alpha(k))+y(k),local_R*sin(to_beta(k))+z(k),'r','linewidth',2);

    plot3(center_bei*local_R*cos(ta_beta(k))*cos(ta_alpha(k))+ta_x(k),center_bei*local_R*cos(ta_beta(k))*sin(ta_alpha(k))+ta_y(k),center_bei*local_R*sin(ta_beta(k))+ta_z(k),'r','linewidth',3);
    pause(0.0001);
end

以上是我的matlab程序里面的一部分,是用来绘制动态曲线的,前面还有很多代码就省掉了。这个程序在matlab里面运行是没有问题的。如图一图二图三。就是蓝色曲线和红色曲线分别代表两个物体的运动轨迹,然后绘制每一时刻两个物体的运动位置。不好放视频(物体沿曲线运动是连续的,就是上面的程序所表征的),我就只能放了三个位置的截图。


现在的问题是,我想把这个动态的图绘制在VC.net的单文本文档里面,当我完全用matcom将此.m文件转换成.cpp和.h文件,然后相应的设置句柄什么的之后,运行,启动相对来说比较慢。需要5秒钟吧,而且图像是静态的,并比较乱,如图四。

我想的话这个问题是不是因为.m文件里面在绘图的时候用了for循环语句所以经过matcom转换后在vc.net里面就不能按设想的方式运动了?

有高手能帮忙解答一下吗?不知道我的想法正不正确?这个问题该如何解决呢?或者不用matcom有别的解决方法吗?