Rather than relying on the direction being accurate, this instead breaks the field up into quadrants: top left, top right, bottom left, bottom right. If either point is in top left or top right, rotation goes normally. if both points are in bottom left or right, then rotation goes a set path instead (see code)
you may use this for any project you wish, just comment it below! This is to be used for accurate rotate to a specific spot.