I'm trying to detect the AOA and sideslip of my ship. I am taking the dot product of the prograde vector with other vectors based on SHIP:FACING: CLEARSCREEN. until false { SET rightRotation TO SHIP:FACING * R(0,90,0). SET rightVec to rightRotation:VECTOR. SET otherUpVec to SHIP:UP:VECTOR. SET upRotation TO SHIP:FACING * R(90,0,0). SET upVec TO upRotation:VECTOR. set frontVec to SHIP:FACING:VECTOR. //SET bankAngle to VANG(rightVec,upVec). // does this work on the opposite side of the planet? set rightA to (rightVec * SHIP:PROGRADE:VECTOR). set upA to (otherUpVec * SHIP:PROGRADE:VECTOR). // this corresponds to prograde relative to the horizon set upB to (upVec * SHIP:PROGRADE:VECTOR). // this is nose relative to horizon print " " at (1,1). print rightA at (1,1). print " " at (10,3). print upB-upA at (10,3). } It seems to work okay when flying a 90 degree heading from KSC, but it breaks when I turn around. Also, I don't understand why upVec * prograde doesn't correlate to AOA by itself. I am trying to take the direction the ship is facing, rotate it so it's vertical, and get the projection of the prograde vector on that vector.