I have written a code to create an animation: satellite movement around the Earth. When I run it, it works fine. However, when it is modified to be part of a code much more complex present in a Matlab GUI, the results produced changes (mainly because of the bigger number of points to plot). I also have noticed that if I use the OpenGL renderer the movement of the satellite is quicker than when the other renderers (Painters and Zbuffer) are used. I do not know if there are further possibilities to achieve an improvement in the rendering of the satellite movement. I think the key is, perhaps, changing the code that creates the actual position of the satellite ( handles.psat ) and its trajectory along the time ( handles.tray )
handles.tray = zeros(1,Fin); handles.psat = line('parent',ah4,'XData',Y(1,1), 'YData',Y(1,2),... 'ZData',Y(1,3),'Marker','o', 'MarkerSize',10,'MarkerFaceColor','b'); ... while (k<Fin) az = az + 0.01745329252; set(hgrot,'Matrix',makehgtform('zrotate',az)); handles.tray(k) = line([Y(k-1,1) Y(k,1)],[Y(k-1,2) Y(k,2)],... [Y(k-1,3) Y(k,3)],... 'Color','red','LineWidth',3); set(handles.psat,'XData',Y(k,1),'YData',Y(k,2),'ZData',Y(k,3)); pause(0.02); k = k + 1; if (state == 1) state = 0; break; end end ...
Best Answer