J'ai un ensemble de coordonnées (x,y)
qui décrivent la trajectoire d'un objet. Je voudrais animer cette trajectoire en utilisant GNU Octave.Animer la trajectoire en utilisant Octave
L'ensemble de données étant assez volumineux, je ne pourrai pas redessiner l'ensemble du tracé à chaque itération si je souhaite que l'animation soit fluide. Quelles sont les fonctions qui me permettent de "mettre à jour" un graphique plutôt que de le redessiner?
En outre, j'ai un autre ensemble de (vx,vy)
points, qui décrivent la vitesse de l'objet. J'aimerais que ma trajectoire animée prenne en compte la vitesse. Quelle fonction dois-je utiliser pour que le programme dorme pendant quelques millisecondes pour que la trajectoire s'anime à la même vitesse que l'objet?
(je sais déjà Octave a des fonctions telles que comet
, mais je dois écrire mon propre animateur.)
Edit: Voici ce que j'ai jusqu'à présent. Je m'attendais à ce que cela fonctionne trop vite et exige de moi d'utiliser pause
, mais il est encore assez lent (x
et y
ont 10001 éléments).
bounds = [min(x) max(x) min(y) max(y)];
axis(bounds);
hold on
for k = 2 : length(x)
plot(x(k-1:k), y(k-1:k));
drawnow("expose");
end
hold off
Merci, 'pause' est utile, mais' set' n'est pas ce que je veux. Je veux que la trace de la trajectoire reste. Je voudrais savoir s'il y a une fonction qui peut mettre à jour la trace de l'intrigue, plutôt que de redessiner un seul point. –
Je suppose que je ne sais pas exactement ce que vous voulez animer. Voulez-vous tracer une ligne (la trajectoire) et animer un objet se déplaçant le long de cette ligne? Voulez-vous mettre à jour la ligne elle-même? – andyras
Je veux mettre à jour la ligne elle-même. –