|
|
|||||||
Let
![]() Then
![]() and
![]() The input vector is the pure quaternion
![]() First multiply on the left:
![]() Now multiply by the conjugate:
![]() Using
![]() and
![]() we obtain
![]() Therefore
The physical vector did not rotate. The coordinate axes rotated positively, so the new coordinates move in the inverse sense.
Solution 3: positive
|
![]() | (9) |
The quaternion has phase 35∘. Therefore the frame rotation angle is

Because the vector part is negative k, the positive frame rotation axis is

The vector

lies along the rotation axis. A rotation about an axis does not change the component parallel to that axis, so
![]() | (10) |
Geometrically, the z axis is common to both frames.

For a 180∘ frame rotation about +z, the x and y coordinate axes reverse relative to the original frame while the z axis is unchanged.
Therefore
![]() | (11) |
The result is the same numerical transformation as the active 180∘ rotation because a rotation by +π and its inverse differ only by an equivalent axis sign.
frame rotationThe half angle is

Since

and

the passive quaternion is

Thus
![]() | (12) |
The passive map is the inverse of the familiar positive active 120∘ rotation about (1, 1, 1).
That active rotation cyclically sends

The inverse passive coordinate map therefore cycles in the opposite direction:

Hence
![]() | (13) |
under Bq A.
The corresponding positive active rotor is

and it sends
![]() | (14) |
Here

and

First,

Also,

For 𝜃 = 60∘,

Substitute into the passive Rodrigues formula:

Collecting components gives
![]() | (15) |
The z component remains unchanged because the rotation axis is z.
Because

we have

Therefore
![]() | (16) |
produce the same vector transformation.
This is why a unit quaternion representation of orientation is two to one.
Start from

Multiply on the left by (Bq A)∗ and on the right by Bq A:

Associativity gives
![(Bq )∗Bv Bq = [(Bq )∗Bq ]Av [(Bq )∗Bq ].
A A A A A A](https://images.physicslibrary.org/cache/objects/1098/make4ht/ExampleOfRotatingVectorsWithQuaternions91x.png)
Since the frame quaternion is unit,

Therefore
![]() | (17) |
Equivalently, with

the reverse map has the same canonical sandwich form.
Quaternion norm multiplicativity gives

For a unit frame quaternion,

Hence
![]() | (18) |
The coordinate transformation preserves Euclidean vector length.
Let

In scalar vector form,

and

The first product is
![]() | (19) |
Now multiply by

The scalar part cancels. After collecting the vector terms,
![]() | (20) |
Use


and

Then
![]() | (21) |
The negative sine term is the signature of the passive coordinate transformation for a positive frame rotation.
Let

and

Expanding qvq∗ and collecting vector terms gives
![]() | (22) |
Define
![]() | (23) |
Then
![]() | (24) |
This formula is not specifically active or passive. It evaluates the Hamilton sandwich qvq∗ for whichever quaternion is supplied.
For the PhysicsLibrary passive frame quaternion,

The passive sign is already contained in q, so the implementation formula itself does not change.
For the positive 90∘ frame rotation about +z,
![]() | (25) |
Applying the passive sandwich to

gives
![]() | (26) |
The corresponding positive active rotor is the conjugate:
![]() | (27) |
In a fixed frame,

Thus
![]() | (28) |
for the passive coordinate change, while
![]() | (29) |
for the corresponding positive active physical rotation.
There is no contradiction. Rotating a vector positively and rotating the coordinate axes positively are inverse operations on the numerical components.
The passive quaternion for a positive 90∘ frame rotation about +z is

PhysicsLibrary scalar first order is
![]() | (30) |
Scalar last storage is
![]() | (31) |
Only the array indexing changes. Hamilton multiplication remains

Storage order does not define multiplication convention.
The intended passive transformation is

The program instead computes

This is the inverse sandwich. Since

the expression actively rotates i by positive 90∘ about +z and produces
![]() | (32) |
The intended passive result was

The program used the correct quaternion coefficients but reversed the sandwich order, thereby applying the inverse coordinate transformation.
Let

Then

Therefore

Hence
![]() | (33) |
when q is unit.
The conjugate sandwich represents an orthogonal transformation only when the quaternion is unit.
For a general nonzero quaternion r, the scale independent similarity transformation is
![]() | (34) |
Since

the extra quaternion scale cancels.
For the PhysicsLibrary convention, the following checks are useful when debugging a vector transformation implementation:
| Case | Expected result |
| identity quaternion | v → v |
Passive frame rotation about ![]() | i →−j |
Active vector rotation about ![]() | i → +j |
| Vector parallel to axis | unchanged |
Replace by | unchanged transformation |
| Unit quaternion | vector norm preserved |
The second and third rows are especially effective at detecting an accidental active versus passive reversal.
The quaternion sandwich transformation is classical. The problems and solutions in this companion are newly written or rewritten for PhysicsLibrary under the passive frame convention.
Joly and Hathaway provide public domain historical treatments of quaternion rotators. Sommer and coauthors provide a modern convention analysis that is useful for separating Hamilton multiplication from active and passive interpretation.
[1] C. J. Joly, A Manual of Quaternions, Macmillan and Co., London, 1905. Public domain historical source. Internet Archive scan
[2] A. S. Hathaway, A Primer of Quaternions, 1896. Public domain historical source. Project Gutenberg edition
[3] H. Sommer, I. Gilitschenski, M. Bloesch, S. Weiss, R. Siegwart, and J. Nieto, “Why and How to Avoid the Flipped Quaternion Multiplication,” Aerospace, vol. 5, no. 3, article 72, 2018. Published under CC BY 4.0. Publisher article
Unless otherwise noted, this PhysicsLibrary entry is intended for release under the Creative Commons Attribution ShareAlike 4.0 International license.
| Keywords: | quaternion, vector rotation, unit quaternion, Rodrigues formula, pure quaternion, active rotation, passive rotation, exercises, worked solutions |
| Physics Classification: | 02.40.Yy (Geometric mechanics ) |
| 02.10.Hh (Rings and algebras) |
None.
No messages.