2016-08-08 43 views
0

Ich kann einen Punkt mit den X- und Y-Koordinaten unter Verwendung des folgenden Codes zeichnen.Erstellen von Animationen in Scilab

figure(1); 
plot(x(1),y(1),'o'); 
h_compound = gce(); 
h_compound.children.mark_size = 20; 
h_compound.children.mark_background = 2; 
h_axes = gca(); 
h_axes.data_bounds = [0,0;100,100];  

Mein Programm enthält eine Schleife, die die Koordinatenwerte aktualisiert. Jedes Mal, wenn die Schleife ausgeführt wird, wird der Punkt in der gleichen Grafik dargestellt, so dass die neuen Punkte die älteren überlappen. Wie mache ich die alten Punkte verschwinden, wie die neuen Punkte geplottet werden, so dass eine animationsähnliche Sequenz generiert wird?

Antwort

1
scf(1);clf; 
x=linspace(0,10,100); 
y=sin(x); 

plot(x(1),y(1),"o") 
h_compound = gce(); 
h_point=h_compound.children 
h_point.mark_size = 20; 
h_point.mark_background = 2; 
h_axes = gca(); 
h_axes.data_bounds = [0,-1;10,1]; 
realtimeinit(0.1); 
for i=1:100 
    realtime(i);//wait 0.1 second before drawing the new position 
    h_point.data=[x(i),y(i)]; 
end