This seems pretty trivial but I'm not sure what to do. My coordinates are Cartesian, and I want to send point the $(x_1,...,x_{n-1},x_n)$ to point $(0,...,0,-1)$ so that all the other points are also rotated properly.
-
There's no unique way to do this but probably the best way would be to use a matrix to represent a rotation (as a linear transformation) of $\mathbb{R}^{n+1}$. There are an infinite number of such linear transformations which send one point on the sphere to another though (for n>1 any way), so you would need to specify some other condition if you wanted a unique map. – Dan Rust Jul 27 '13 at 20:07
-
I suppose the most "natural" rotation is the one that follows the geodesic. – Squirtle Jul 27 '13 at 20:15
-
That's almost natural except in the case of the antipode of the point you're mapping to. – Dan Rust Jul 27 '13 at 20:17
-
Let's ignore the case where my point is the north pole, here I could resolve everything by multiplying by -1, then I just flip the sphere upside down – Squirtle Jul 27 '13 at 20:20
-
Do you want something like a continuous family of rotations? When thinking about my answer I was under the impression that you want a single rotation to do it. Hmm. I'm sure the idea can be made to work. Thinking... – Jyrki Lahtonen Jul 27 '13 at 20:20
-
@Squirtle if you applied the antipodal map and then reflected along the equator (which I interpret as your last comment) then the north pole would remain fixed. – Dan Rust Jul 27 '13 at 20:22
-
@Squirtle: Multiplying everything by $-1$ is a rotation only if $n$ is even. – Jyrki Lahtonen Jul 27 '13 at 20:23
-
@JyrkiLahtonen, I don't want a family, really I just need to be able to do it in some fashion, then perform some computations then pull back to the sphere. It seems like $-\mathbb{S}^1$ is $\mathbb{S}^1$ rotated by 180 – Squirtle Jul 27 '13 at 20:54
-
1To clarify: negation of $\mathbb{R}^n$ has determinant $(-1)^n$, and rotations have determinant $+1$. – Jyrki Lahtonen Jul 28 '13 at 08:21
2 Answers
A combination of two reflections with respect to hyperplanes is a rotation: such reflections are distance preserving and have determinant $-1$. Therefore a combination of two such linear transformations is distance preserving and has determinant +1, hence is an element of $SO(n)$, i.e. a rotation.
How to find two such reflections? Let $H$ be the hyperplane through the origin that has $\vec{PS}$ as its normal. Here $P=(x_1,x_2,\ldots,x_n)$ is the given point, and $S$ is the South pole. As $P$ and $S$ are both at distance one from the origin, the hyperplane $H$ bisects the line segment $PS$. Therefore a reflection w.r.t. $H$ takes $P$ to $S$ (and vice versa).
After this reflection follow it up with a reflection w.r.t. a hyperplane that passes through the origin and $S$. That reflection maps $S$ to itself, and you are done.

- 133,153
-
This is obviously not unique. For example you can further follow up with any rotation that keeps $S$ fixed. – Jyrki Lahtonen Jul 27 '13 at 20:12
-
-
@Billy. If $n$ is high enough, we don't get all the rotations as combinations of two reflections. After all, if we reflect w.r.t. two hyperplanes $H_1$ and $H_2$, then the intersection $H_1\cap H_2$ has dimension $n-2$. Not all rotations have such a large subset of fixed points. If we use rotations that have $S$ as fixed point as the third factor, then it should be true that we get all the rotations mapping $P$ to $S$. – Jyrki Lahtonen Jul 27 '13 at 21:05
-
Ah, sorry - my three-dimensional mental picture confused me. Thanks for the clarification. – Billy Jul 27 '13 at 22:57
-
OP said uniqueness is not required. S/he just wanted one, and this is one. It i not even clear that determinant =1 is required. – Ross Millikan Jul 29 '13 at 04:20
-
Let $\mathbf S$ be the south pole, let $\mathbf P$ be the point that you want sent to the south pole, and let $\mathbf C$ be the center of the sphere.
Calculate the angle $\theta$ between the vectors $\mathbf U = \mathbf P - \mathbf C$ and $\mathbf V = \mathbf S - \mathbf C$. Let $\mathbf N = \mathbf U \times \mathbf V$ (the vector cross product). What you need is a rotation around $\mathbf N$ by an angle $\theta$. If you look on this Wikipedia page, you'll find the matrix representation of this rotation. Don't forget to unitize $\mathbf N$ first.

- 43,483
- 3
- 61
- 122
-
Sorry. I didn't read the question properly. My answer only applies in the case $n=3$. – bubba Jul 29 '13 at 05:34
-
It's okay, I'm sure someone will eventually find this response useful. It is certainly the computationally simplest and easiest to understand. – Squirtle Jul 29 '13 at 14:24