How to Plot the Trajectory of a Point
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Allison Bushman
am 8 Dez. 2018
Beantwortet: Star Strider
am 8 Dez. 2018
I am trying to plot the trajectory of P4 as it travels in the animation.
hold on
axis equal
axis off
b = 0:pi/60:pi/6;
c = 0:pi/30:pi/3;
d = 0:pi/20:pi/2;
for k = 1:numel(b)
P1=[-15,0];
P2=[-5,0];
plot([P1(1) P2(1)],[P1(2) P2(2)],'LineWidth',5,'Color','black');
A=[0,0];
h{1} = viscircles(A,5,'LineWidth',2,'Color','black');
B = A+[10*cos(b(k)-pi/6),10*sin(b(k)-pi/6)];
h{2} = viscircles(B,5,'LineWidth',2,'Color','green');
C = B+[10*cos(c(k)-pi/3),10*sin(c(k)-pi/3)];
h{3} = viscircles(C,5,'LineWidth',2,'Color','blue');
D = C+[10*cos(d(k)-pi/2),10*sin(d(k)-pi/2)];
h{4} = viscircles(D,5,'LineWidth',2,'Color','red');
P3=D+[5*cos(d(k)-(pi/2)),5*sin(d(k)-(pi/2))];
P4=D+[15*cos(d(k)-(pi/2)),15*sin(d(k)-(pi/2))];
h{5} = plot([P3(1) P4(1)],[P3(2) P4(2)],'LineWidth',5,'Color','black');
drawnow();
pause(0.5);
delete( vertcat(h{:}) );
end
hold off
axis equal
axis off
0 Kommentare
Akzeptierte Antwort
Star Strider
am 8 Dez. 2018
Experiment with this:
P4vct = nan(numel(b),2); % Preallocate Before The ‘n’ Loop
then add these two lines after your ‘h{5}’ assignment:
P4vct(k,:) = P4;
h{6} = plot(P4vct(:,1),P4vct(:,2), '--','LineWidth',5,'Color','black');
It will then plot (what I believe to be) the ‘P4’ trajectory as a dashed black line.
That should at least give you an idea of the approach.
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Graphics Performance finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!