Animer un nuage de points
Sep 17 2020
J'ai un ensemble de données du format ci-dessous
{time,x_pos,y_pos,z_pos}
Je voudrais faire une animation montrant les changements de coordonnées {x, y, z} au fil du temps dans le tracé de points de liste 3D. Quelqu'un pourrait-il me donner une idée? L'animation finale devrait ressembler à ce qui suit. L'indicateur (cercle vert) se déplace avec l'heure (illustré au-dessus de la figure). Je suis désolé de ne pas pouvoir partager les données. Je vous remercie!
Réponses
3 kglr Sep 18 2020 at 06:06
SeedRandom[1]
dates = Sort @ RandomSample[DateRange[Today, DatePlus[Today, {100, "Day"}]], 30];
data = Join[List /@ dates, Accumulate[RandomReal[10, {30, 3}]], 2];
g1 = Graphics3D[{Blue, Line@data[[All, 2 ;;]]}, BoxRatios -> 1, Axes -> Automatic];
frames = Table[Show[g1, Graphics3D[{Red, Sphere[data[[i, 2 ;;]], 5]}],
PlotLabel -> data[[i, 1]], SphericalRegion -> True,
ImageSize -> Medium, ImagePadding -> 20,
PlotRange -> {{0, 200}, {0, 200}, {0, 200}}],
{i, 1, Length @ data}];
ListAnimate[frames]