rotation with quaternion (no optimisation)
quaternion small optimisation