29 Quaternion Quaternion::operator * (
const RotationX & rx)
const {
34 , I()*q.U() + U()*q.I()
35 , J()*q.U() + K()*q.I()
36 , K()*q.U() - J()*q.I()
40 Quaternion Quaternion::operator * (
const RotationY & ry)
const {
45 , I()*q.U() - K()*q.J()
46 , J()*q.U() + U()*q.J()
47 , K()*q.U() + I()*q.J()
51 Quaternion Quaternion::operator * (
const RotationZ & rz)
const {
56 , I()*q.U() + J()*q.K()
57 , J()*q.U() - I()*q.K()
58 , K()*q.U() + U()*q.K()
63 operator * ( RotationX
const & r, Quaternion
const & q ) {
64 return Quaternion(r) * q;
68 operator * ( RotationY
const & r, Quaternion
const & q ) {
69 return Quaternion(r) * q;
73 operator * ( RotationZ
const & r, Quaternion
const & q ) {
74 return Quaternion(r) * q;