Quaternion-Playground is what I used to understand Quaternion rotation and its relation to angular momentum. This simulation is a simulation of how rotation is affected by angular momentum and the distribution of mass in an object. The implemtaion is what I came up with during my two months of research on the topic. A great deal of info on the subject was found in this paper as well as the book Rigid Body Dynamics by Phil Kim.
Open project directroy as a gradle project and refresh gradle
Use W to apply thrust at the tip of the red line
Use S to reset the Object
Use A and D to change the Vector Left and right
Use Space to apply a spin to the Object