I know about ATan, and as you can see from the code I'm not using ATan to extract the Pitch.
Right. You're using ASin. ASin (as it looks like you might know) only returns angles between -90 and 90 (a 180 degree arc) regardless of what the angle *actually* was. A "real" angle of 135 would be returned as a 45 degree angle as illustrated by this short program: myangle=135 mynewangle=ASin(Sin(myangle)) Print myangle Print mynewangle WaitKey End