I have a data file which contains the $(x,y,z)$ coordinates of a large collection of orbits (about 2000 orbits). Now let's plot them
data1 = Import["mans_3D.out", "Table"];
d1 = SplitBy[data1, Dimensions][[2 ;; ;; 2]];
d11 = d1[[;; , ;; , {1, 2, 3}]];
d2 = Map[{1, -1, 1} # &, d11, {-2}];
g1 = Graphics3D[{Red, PointSize[0.003], Line /@ d11}, Axes -> True,
BoxRatios -> {1, 1, 1}, PlotRange -> 15, ImageSize -> 550];
g2 = Graphics3D[{Darker[Green], PointSize[0.003], Line /@ d2},
Axes -> True, BoxRatios -> {1, 1, 1},
BoxStyle -> Directive[Thickness[0.003]], PlotRange -> 15,
ImageSize -> 550];
rmax = 25;
plot1 = Show[{g1, g2}, AxesStyle -> Directive[FontSize -> 20,
FontFamily -> "Helvetica"], AxesLabel -> {"x", "y", "z"},
PlotRange -> rmax, BoxStyle -> Directive[Thickness[0.005]],
ImageSize -> 550, ViewPoint -> {1.5, -1.1, 1.5}]
which produces the following plot (the three dimensional gray surface it's not important)
As we can see, the orbits create three-dimensional tubes inside the $(x,y,z)$ configuration space. Below I present a zoom plot
Now I want the following: use the orbits as a guide in order to produce two hollow transparent tubes (red and green). The tubes should contain inside all the corresponding orbits and their shape should look like the following red tube
Is this task doable, using Mathematica, at all? And if so, how?
Many thanks in advance!
{2222, 99, 3}
, so that's2222
orbits of99-1
line segments each? $\endgroup$strm = OpenRead["mans_3D.out"]; Do[ReadList[strm, "String", 1]; orbit[i] = Developer`ToPackedArray@ReadList[strm, {Number, Number, Number}, 99];,{i, 2222}];Close[strm];
$\endgroup$