public void Rotate(Quaternion qnorm) { // Note the order of the mult, i.e. q comes after // Normalise the quat to avoid cumulative problems with precision qnorm.Normalize(); orientation = qnorm * orientation; InvalidateView(); }