public static double PlaneAngleSignedD(Vector2d vFrom, Vector2d vTo) { vFrom.Normalize(); vTo.Normalize(); double fSign = Math.Sign(vFrom.Cross(vTo)); double fAngle = fSign * Vector2d.AngleD(vFrom, vTo); return(fAngle); }