# Trajectory animation using coordinate points

76 views (last 30 days)

Show older comments

##### 0 Comments

### Accepted Answer

darova
on 1 Sep 2019

Animation it is just changing of images like in cartoons

plot(x,y,z)

hold on

for i = 1:length(x)

h = plot(x(i),y(i),z(i),'^r'); % draw something on the trajectory

pause(0.2) % wait a minute

delete(h) % delete it

end

hold off

##### 0 Comments

### More Answers (1)

David K.
on 30 Aug 2019

Edited: David K.
on 3 Sep 2019

I would do it like this:

% x1,x2,y1,y2,z1,z2 are your coordinate vectors

tstep = .1; % the amount of time between each value in the vectors

figure(1)

for n = 1:length(x1)

plot3(x1(1:n),y1(1:n),z1(1:n),'+-',x2(1:n),y2(1:n),z2(1:n),'+-')

title((n-1)*tstep); % label the time of each step

pause(.01)

end

If the default view of the plot is bad mess around with the view function to try and get a better one.

This will make an animation with both, to make the other two animations simply repeat it and leave out the xyz coordinates of the one you do not want to look at.

edit: fixed so it should actually work now

##### 6 Comments

David K.
on 3 Sep 2019

Oh woops the plot3 should actually be this, i've also updated my original answer with it.

plot3(x(1:n),y(1:n),z(1:n),'+-')

Then, the axis will auto update as the values are added. If you do not want the line change '+-' to '+'

You also may need to add this to it to hold the axis positions.

xlim([lowX upX]);ylim([lowY upY]);zlim([lowZ upZ]);

### See Also

### Categories

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!