Here is a simple demo code, with which I thought I could rotate a 3D point set around the different axes:
SeedRandom[1];
data = RandomReal[10, {20000, 3}];
Manipulate[
e = EulerMatrix[{alpha Degree, beta Degree, gamma Degree}];
datanew = e.# & /@ data;
Graphics3D[{PointSize[Small], Point[datanew,
VertexColors -> (Hue /@ Rescale[datanew[[All, 1]]])]},
ViewProjection -> "Orthographic"],
{alpha, 1, 180, 1}, {beta, 1, 180, 1}, {gamma, 1, 180, 1}
]
When I start this I get the following inital view:
My questions/problems:
When I use the sliders, why is the box not rotating together with the data?
(This is most annoying) When I use the sliders the rotation is MUCH slower compared to the one when I touch the volume with mouse and rotate it. What is the difference of these two interactions?
When I rotate the volume with the mouse the slider don't get the information about the changed angles.
How can the size of the view window be held fixed during rotation, so that the whole box is seen?
ViewPoint
to rotate de view. 3. Just change to{alpha, 1, 180, 1, Appearance-> "Labeled}
. 4. Use the optionSphericalRegion
, thus, the final image will be scaled so that a sphere drawn around the three-dimensional bounding box would fit in the display area specified. $\endgroup$