Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am trying to figure out way to rotate a vector X=[x1,x2.........,xn] taking another point p as a reference, where the vector is in higher dimension with n>3 something like n=30.

At this point, I am not sure what are the things that I need to know if I have to rotate it. I think i need to rotate it in each of the plane, but not sure, how to do it.

Thank you for your time!

share|cite|improve this question

I am no expert, but I tried something similar some time ago. Afaik, the problem is: there are so many ways to define what a 'rotation' in higher dimensions should be, that one usually just talks about them as the multiplication by any matrix from the special orthogonal group $SO(n)$.

If you really want to provide some specific interpretation, you have to carefully define some construction of your intended "rotation matrix" $D \in MyRotations(n)$ on your own. For example, you might combine it by a series of 2-dimensional rotations within each two-axes-plane applied in a specific order, described by $\binom{n}{2}$ many "angles" - but all that you do then is to define some "very specific linear function" (however, it might fit your needs!). Another approach might be to represent all your points according to some $n$-dimensional spherical coordinate system as the tuple $X = (r, \phi_1, \ldots, \phi_{n-1})$ of radius $r$ and angle $\phi_i$ between $X$ and some plane. Once you have defined this mapping from/to Cartesian coordinates, you can apply rotation (and scaling) easily according to this representation by adding the angles componentwise (and multiplying $r$).

At least there is some canonical way to "rotate around point $p$ as rotation center": shift $X$ by $-p$ before "rotating" by $D$, and shift the result back by $p$, i.e., compute $\hat X := D (X-p) + p$ for $D$ the "rotation matrix" of choice.

Some information on this can also be found in the "Rotation Matrix" article on Wikipedia.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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