How do I animate a 3d plot of a satellite orbit given its' orbital parameters.

16 visualizzazioni (ultimi 30 giorni)
The plot function that made is the following:
function plotOrbit(a, e, i, OM, om, mu)
% a, e, i, OM, om are the orbital parameters
% mu = 3.986*10^5 (Earth's gravitational parameter)
r_vect = [];
v_vect = [];
for th = 0: 0.01: (2*pi + 0.01)
% par2car is an .m file that uses the orbital parameters to obtain
% the position and velocity vectors.
[rr, vv] = par2car(a, e, i, OM, om, th, mu);
r_vect = [r_vect; rr'];
end
plot3(r_vect(:, 1), r_vect(:, 2), r_vect(:, 3))
end
I would like to have a moving point along the orbit which varies it's velocity over time.

Risposte (2)

Srivardhan Gadila
Srivardhan Gadila il 28 Ott 2020
You can refer to the documentation of plot3, pause, Specify Axis Limits, hold & figure.
The following is the example code based on the above functions:
1. If you want the point moving i.e., new point to appear and previous point to disappear:
figure
for i = 1:10
plot3(i,abs(sqrt(100-i^2)),5,'o');
xlim([0 10])
ylim([0 10])
zlim([0 10])
% hold on
pause(1)
end
% hold off
2. If you want all the previous points to appear in the plot as well:
figure
for i = 1:10
plot3(i,abs(sqrt(100-i^2)),5,'o');
xlim([0 10])
ylim([0 10])
zlim([0 10])
hold on
pause(1)
end
hold off

Matteo Marzorati
Matteo Marzorati il 8 Dic 2021
you can use Matlab function comet3(X,Y,Z), where the 3 inputs are the vectors that define the orbit

Categorie

Scopri di più su Satellite and Orbital Mechanics in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by