# quaternion_multiply

compas.geometry.quaternion_multiply(r, q)[source]

Multiplies two quaternions.

Parameters
• r ([float, float, float, float] | Quaternion) – Quaternion or sequence of four floats [w, x, y, z].

• q ([float, float, float, float] | Quaternion) – Quaternion or sequence of four floats [w, x, y, z].

Returns

[float, float, float, float] – Quaternion $$p = rq$$ as a list of four real values [pw, px, py, pz].

Notes

Multiplication of two quaternions $$p = rq$$ can be interpreted as applying rotation $$r$$ to an orientation $$q$$, provided that both $$r$$ and $$q$$ are unit-length. The result is also unit-length. Multiplication of quaternions is not commutative!

References