Whenever you draw a new image your pen starts at the "origin". This is why you have to have your rotation angle a little larger every time you draw a new image while you're rotating. If rot starts at 0. Then the first image you draw, you rotate your pen 0 degrees. Then the next time you draw, it should be 2 degrees. Then the next time you draw, it should be 4 degrees. Then the next time you draw, it should be 6 degrees. If you pause rotation, the rot should remain at 6 degrees until you start again. Suppose you make it all the way up to 30 degrees. And then start rotating in the other direction. Then what should happen is that the rot should drop to 28 degrees. And then it should drop to 26 degrees. And then it should drop to 24 degrees. THIS IS NOT WHAT YOU'RE DOING. What you're doing is flipping the axis. You were rotating around (0,1,0) and now you're rotating around (0,-1,0). So if you WERE rotating 30 degrees clockwise. And then you flipped your axis, NOW you're ALL OF A SUDDEN rotating 30 degrees counterclockwise. This is why you see a jump. Now what you're doing is continuing to add 2 degrees to rot each time, so now you're 32 degrees counterclockwise. Then 34. Then 36, etc. So, from this point it looks OK. It's rotating counterclockwise. There are two ways to fix it. The easier way and the harder way...but both should work. Easy way: Never flip the axis. Keep the axis at (0,1,0). Then if you're moving in one direction add to rot, and if you're moving in the other direction subtract from rot. Hard way: Which really isn't all that hard. If you flip the axis, negate rot as well. Now, let's say you're moving clockwise at 30 degrees. Flip the axis, flip rot, now you're counterclockwise at -30 degrees which is exactly the same thing. In this case, you can continue to add 2 to rot. Rot goes -30, -28, -26, -24, and so forth, so you are moving counterclockwise.