# MC4D Rotation Controls

When rotating an object around in 4D, there are extra degrees of freedom than when rotating around in 3D (6 instead of 3). Right dragging and shift+left dragging are being used to control these extra degrees of freedom. In short, they are rotating the object around in 4D.

Some more details... Label the 4 axes of 4D space x,y,z,w. In the program, the camera is always looking down the z axis, with x going to the right, and y going up. Normal left dragging rotates the object through the xz and yz planes. If you're dragging to the right or left, this rotates though the xz plane. It's like the object's z axis is rotating into the x axis (or -x axis). If you're dragging up, a similar thing happens with the yz plane. The 3rd degree of freedom of 3D is done by right-dragging left or right, which rotates though the xy plane. Since the camera is always looking down the z axis, rotating through xy is a "barrel roll" motion. Try it!

Now for the unusual stuff. The camera is also always looking down the w axis, which is a little weird since the 4D->3D projection makes the w axis appear right on top of the z axis in 3D. The extra 3 degrees of freedom of 4D rotations are controlled as follows:

- Shift-drag up or down: rotate through the yw plane
- Shift-drag left or right: rotate through the xw plane
- Right-drag up or down: rotate through the zw plane (this is the weirdest one to me)

These are not really any different than the normal rotations, except they end up looking much stranger because of the projection.