As we know, for any vector $v$ that we want to rotate, the rotated vector $v_{rot}$ about some axis $u$ is equivalent to the sum of the parallel component of $v$ and $u$ plus the planarly-rotated perpendicular component of $v$, ala Rodriguez formula: https://people.eecs.berkeley.edu/~ug/slide/pipeline/assignments/as5/rotation.html

$v_{rot} = v_{||} + v_{\perp rot}$

Given two initial specified vectors $v$ and $v_{rot}$, we can always generate some axis $u$ by taking the cross product $\text{cross} (v, v_{rot})$ where $v$ is the initial vector.

Let's call this $u_{cross}$. $u_{cross}$ is always associated with a specific angle, $\theta_{cross}$, which can be calculated using this: https://stackoverflow.com/questions/5188561/signed-angle-between-two-3d-vectors-with-same-origin-within-the-same-plane

How do we prove that $\theta_{cross}$ is the smallest rotation angle across all $u$?

  • $\begingroup$ Because of the use of cross product, I assume we are dealing with vectors in R^3? $\endgroup$ – Cuhrazatee Jan 26 at 18:41
  • $\begingroup$ @Cuhrazatee Yes $\endgroup$ – user3180 Jan 26 at 18:43
  • $\begingroup$ What is meant by "smallest" angle? As in the direction (angle) of $u = u_{cross}$ is the shortest angle between $v$ and $v_{rot}$? $\endgroup$ – Cuhrazatee Jan 26 at 18:45
  • $\begingroup$ Smallest angle means the magnitude of the angle needed to rotate v onto $v_{rot}$ using $u_{cross}$ as the axis of rotation. Given an axis of rotation, the above stackoverflow link explains how to calculate the signed angle $\endgroup$ – user3180 Jan 26 at 19:18
  • $\begingroup$ Perhaps using two points on the unit sphere, $\hat{p}$ and $\hat{q}$ provides a good starting point. Using rotation axis $\hat{a} = \hat{p} \times \hat{q} / \lVert \hat{p} \times \hat{q} \rVert$ and the corresponding angle $\varphi$, $\cos\varphi = \hat{p} \cdot \hat{q}$ to rotate $\hat{p}$ to $\hat{q}$ uses the shorter arc of the great circle that passes through $\hat{p}$ and $\hat{q}$. By definition, all other arcs through these two points are longer. I just don't know how to express this in proof form. $\endgroup$ – Glärbo Jan 27 at 7:01

The shortest possible rotation angle will have no component or rotation in the direction of either vector, because any rotation about $v$ or $v_{rot}$ results in the same vector $v$ or $v_{rot}$. Therefore, if given a rotation with some component in the direction of $v$ or $v_{rot}$, then there will be a shorter one, without this component.

Between $v$ and $v_{rot}$, the only vector that has this property is the one orthogonal to both $v$ and $v_{rot}$, and is given by the cross product. (I guess its opposite is also orthogonal, so you could use that one too, but the rotation angle about this vector has the same magnitude even if it is negative).

There is the interesting case is when $v = \pm v_{rot}$, where there are an infinite number of "shortest axes of rotation" all in the plane orthogonal to $v$ since there are an infinite number of orthogonal vectors.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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