Quaternions, Interpolation and Animation (1998) [pdf]
web.mit.edu
web.mit.edu
It's interesting to note that complex number was once had the same fate as quaternion and it was also considered as an evil concept at the time by many well-known mathematicians not unlike the concept of zero/sifar/cipher when it's first invented and then popularized by the Arab mathematicians. Modern engineering achievements for example the wonderful world of mobile and digital communication are all based on complex number concept namely in-phase and quadrature or I/Q for short. This venerable concept of I/Q however is limited once you wan to include and consider polarization of the EM wave and this is when quaternion become very handy and useful [3]. I'd not be surprised that the next generation of wireless mobile i.e. 6G will be based on this new 3D quaternion based I/Q or I/Q/P (not yet a concept maybe soon), similar to the impact of I/Q as the basis of successful 2G to the 5G with their OFDM.
[1] A derivation of the quaternion Maxwell’s equations using geometric algebra:
http://peeterjoot.com/2018/03/05/a-derivation-of-the-quatern...
[2] Quaternions in University-Level Physics Considering Special Relativity:
https://arxiv.org/ftp/physics/papers/0308/0308017.pdf
[3] Modeling dual polarization wireless fading channels using quaternions:
https://www.mathworks.com/help/aerotbx/ug/quatinterp.html
"qi=quatinterp(p,q,f,method) calculates the quaternion interpolation between two normalized quaternions p and q by interval fraction f.
p and q are the two extremes between which the function calculates the quaternion.
Aerospace Toolbox uses quaternions that are defined using the scalar-first convention."
In space rotations are of critical importance and ensure stability or instability depending on the axis of rotation
A term I've often heard is "gimbal lock"[1]. Can happen, eg, when a player points the camera straight up, then tries to rotate themselves (depending on how your axes are set up). I don't believe quaternions _ever_ have that particular problem, so not quite sure what is meant by "less often," here.
https://docs.godotengine.org/en/stable/classes/class_quatern...
While an animation system might not have had it in the beginning, it can be added later and all the benefits can be used, without doing any major changes to the system. You first transform the Euler rotation into a quaternion rotation, then do your work with them, like interpolating a rotation, and when you want to visualize this interpolation, you just calculate the Euler rotation for a given interpolation step and apply the xyz rotations to the object to visualize it.
Unreal's API gives a good overview of the functionality quaternions offer: https://docs.unrealengine.com/4.27/en-US/API/Runtime/Core/Ma...