Rotation question

This whole set of mathematics I find very confusing. I have been searching for usable examples that can give some practical examples of Quats as they relate to PC. I am creating a prototype for a project for a client as I mentioned above. What I am running into now is that I have been called on to have a track that does a loop-de-loop on something is occuring with the Quaterions I am recording when my animation hits the apex of the loop. Everything suddenly flips until it reaches the base. What I am trying to understand is the amount of change between each frame of my animation, particularly as it relates to the y axis. I am using the turn along the y to adjust the turn of the tires, and the bank of the car due to inertia. I had found a group of extentions to Quat on here, Useful pc.Quat functions and was using var vector = new pc.Vec3().copy(enemy.getPosition()).sub(this.entity.getPosition()).normalize(); var requiredRotation = new pc.Quat().fromToRotation(this.entity.forward, vector) to track the difference. I don’t know why this works, but through hours of hacking at this I was able to get values that seemed to work. I have read the wikipedia article on Quaterions, and TBH it makes no sense to me. Do you know of any practical examples that can teach quaterions so I could stop posting all these questions about rotation?