У меня есть набор координат (x,y)
, которые описывают траекторию объекта. Я хотел бы оживить эту траекторию с помощью GNU Octave.Анимация траектории с использованием Octave
Набор данных довольно большой, поэтому я не буду перерисовывать весь график на каждой итерации, если я хочу, чтобы анимация была гладкой. Какие функции позволяют мне «обновлять» сюжет, а не перерисовывать его?
Кроме того, у меня есть еще один набор (vx,vy)
точек, которые описывают скорость объекта. Я бы хотел, чтобы моя анимированная траектория учитывала скорость. Какую функцию следует использовать для спящего режима программы в течение нескольких миллисекунд, чтобы сделать анимацию траектории с той же скоростью, что и объект?
(я уже знаю, октава имеет такие функции, как comet
, но мне нужно, чтобы написать свой собственный аниматора.)
Edit: Вот что у меня до сих пор. Я ожидал, что это произойдет слишком быстро и потребует от меня использовать pause
, но он все еще довольно медленный (x
и y
имеют 10001 элемент).
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
Спасибо, 'пауза' полезна, но' set' - это не то, что я хочу. Я хочу, чтобы след траектории оставался. Я хотел бы знать, есть ли функция, которая может обновлять трассировку графика, а не перерисовывать одну точку. –
Думаю, я не совсем понимаю, что вы хотите оживить. Вы хотите построить линию (траекторию) и оживить объект, перемещающийся вдоль этой линии? Вы хотите обновить строку самостоятельно? – andyras
Я хочу обновить строку. –