Hi Simon,
I have had similar problems, but when I switched to a ViewVector notation it always seemed to work for me, unfortunately that route doesn't work here as well:
points2=points={{-0.5408092441220346,-59.47032164154871,-33.486141445561195},{-1.6729947915403758,58.47000109642251,0.06821941845651969},{-1.1279232851470478,-12.607718410070715,-22.72024680422565},{22.74021699848095,-33.56458992369394,-25.982135247035842},{44.64374208727797,23.145194959114605,-12.259291498233077},{-24.141978569616093,-34.727887579554576,-23.475147941868702},{-47.23579711917719,20.865368869801543,-7.3461078129550135},{3.6207761893354027,-38.53425644748551,54.052848989519305},{1.6032260558335967,38.239393358088,51.948102361681556}};
points=points[[{3,4,6,8}]];
Graphics3D[{PointSize[Large],
Point[points],
Blue,Thick,
Arrow@Tube[{points[[2]],points[[3]]}],
Red,Thick,
Arrow@Tube[{points[[1]],points[[4]]}],
Opacity[.1],
Sphere[{0,0,0},20]},
Axes->True,
AxesOrigin->{0,0,0},
Boxed->False,
BoxRatios->Automatic,
PlotRange->All,
ViewVector->{10000*Normalize[points[[2]]-points[[3]]],{0,0,0}},
ViewVertical->(points[[1]]-points[[4]])
]
Graphics3D[{PointSize[Large],
Point[points2],
Blue,Thick,
Arrow@Tube[{points[[2]],points[[3]]}],
Red,Thick,
Arrow@Tube[{points[[1]],points[[4]]}],
Opacity[.1],
Sphere[{0,0,0},20]},
Axes->True,
AxesOrigin->{0,0,0},
Boxed->False,
BoxRatios->Automatic,
PlotRange->All,
ViewVector->{10000*Normalize[points[[2]]-points[[3]]],{0,0,0}},
ViewVertical->(points[[1]]-points[[4]])
]
That is your code even further minimalised, and it somehow also depends on showing the other points (in some strange way)! I'm not calling this bug just yet, but it might just be one...