# Increasing the rotation angle on a quaternion makes the rotation stop at a certain angle

I'm using the following code to change the rotation of an object:

Quaternion rot = getRotation();
setRotation(make_quaternion_axis_angle(rot.v,rotationSpeed*dt)*rot)


This code works as expected until a certain angle where it suddenly stops.

Why does it stop?

## 2 Answers

I realized why this happens. When the quaternion is made, the axis is multiplied by sinus of the half angle. When the rotation gets to 360 that value will be zero so the axis information will be lost.

Well given 360-degree angles. Then a 360-degree rotation makes a full turn and as such is equivalent to 0-degrees or simply no rotation.

• Yes, but shouldn't it keep rotating still? The next time it will be for example 370 degrees, or 10 degrees. Jan 23, 2016 at 11:30
• @SiXoS If are rotating by 10 degrees each time, then yes. If you are rotating by 360 degrees each time, then no. I guess I simply misunderstood your question, it is pretty short. I though your were changing the amount you rotated by. Jan 23, 2016 at 15:12