2
$\begingroup$

This question is not urgent; just a matter of curiosity...

It is relatively easy to generate an arbitrary 3D or even 4D rotation matrix using conjugation (i.e. YXY−1) of orthogonal rotations. I expect that there are ways to choose the contributing orthogonal angles of rotation in order to get a uniform random distribution of the resulting axis (and angle). (3D rotations are also related to quaternions.)

There's a wonderfully symmetrical 3D rotation matrix presentation, given in the first edition of D. F. Rogers and J. A. Adams book "Mathematical Elements for Computer Graphics". The elements of the matrix are:

u2+(1-u2)c; uv(1-c)+ws; uw(1-c)-vs
uv(1-c)-ws; v2+(1-v2)c; vw(1-c)+us
uw(1-c)+vs; vw(1-c)-us; w2+(1-w2)c

Here, (u,v,w) is a unit vector along the chosen axis of rotation, and s and c are the sine and cosine of the chosen angle of rotation.

[I mention this on my blog page.]

Now, a 4D rotation must be about a "2D-axis", or plane (where a 3D rotation is about a "1D-axis", or line).

I wonder if there's an equally elegant 4x4 matrix, in terms of a pair of mutually orthogonal unit vectors (defining the plane of rotation) and the sine and cosine of the angle of rotation in 4D.

Any on-line references regarding anything mentioned here would we gratefully received.

$\endgroup$

4 Answers 4

3
$\begingroup$

A 4-d rotation does not have to fix a 2-d axis. For example, (complex) multiplication by $e^{i\theta}$ rotates every vector of unit length in $C^2$ ``the same way''.

$\endgroup$
3
  • $\begingroup$ DC: Thanks; could you please briefly explain multiplication by e^(i theta)? I understand this in 2D, as it applies to complex numbers (pairs of reals) where this may also be written cis(theta) or cos(theta)+i*sin(theta), and thus corresponds to a the 2D matrix [[c,s],[-s,c]]. How is this extended to 4-tuples please? $\endgroup$
    – Rhubbarb
    Nov 11, 2009 at 9:39
  • $\begingroup$ DC: Your reply did highlight that I'd made a false assumption: that 4D rotations must have fixed points, as do 3D rotations. However, there is at least one simple counter example: the map (w,x,y,z) --> (-w,-x,-y,-z). Because the dimension is even, this is a true rigid rotation, and does not have a reflection component. This particular map may be thought of as some kind of inversion or reflection through a point. $\endgroup$
    – Rhubbarb
    Nov 11, 2009 at 9:43
  • 2
    $\begingroup$ You can think of a pair of complex numbers (ie a vector in $C^2$) as a 4-tuple of real numbers (by taking the real and imaginary part of each complex number). So a transformation which multiplies each complex number by $e^{i\theta}$ "is" a rotation of (real) 4-space in which every vector rotates (through the same angle $\theta$). $\endgroup$ Nov 11, 2009 at 14:39
6
$\begingroup$

A nice way to look at the 4-dimensional rotation matrices $SO_4$ is that it's universal cover is isomorphic to $S^3 \times S^3$. The map $S^3 \times S^3 \to SO_4$ is given by left and right quaternionic multiplication by a unit vectors.

$\endgroup$
1
  • 3
    $\begingroup$ Furthermore, it's "easy" to generate uniform random elements of S^3 (i. e. selected according to the Haar measure, I think). These can be generated by taking a vector of four independent standard normal random variables, and then normalizing to unit length. I suspect that the uniform measure on S^3 x S^3 projects down to uniform measure on SO(4). $\endgroup$ Nov 11, 2009 at 2:52
2
$\begingroup$
  • a 4-d rotation can rotate on two orthogonal planes at the same time. Multiplication by quaternion qx rotates the plane P determined by the unit and non real part of q and the plane orthogonal to that plane. multiplying by q^-1 on the right side gives qxq^-1 gives a rotation about an axis as the multiplication of quaternions is not commutative and the rotations in the P plane cancels out while the rotation in the other plane is doubled. This is related to the Hopf fibration. The symmetry group of the 600-cell is the double cover of the icosahedral group and is called the binary icosahedral group. I think you could represent a rotation as a division into two orthogonal planes and then take two rotations of arbitrary magnitude in each plane.
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.