/// <summary>Calculates how many degrees a zombie/human should turn to avoid a particular thing</summary> public static double AngleAvoiding(this IWalker a, ITakeSpace b) { var angleTo = a.AngleTo(b); if (Math.Abs(angleTo + 90.0) > Math.Abs(angleTo - 90.0)) { return((angleTo - 90.0).MinimumAngle()); } return((angleTo + 90.0).MinimumAngle()); }
/// <summary>Calculates how many degrees a zombie/human should turn to face away from a particular thing</summary> public static double AngleAwayFrom(this IWalker a, ITakeSpace b) { var angleTo = a.AngleTo(b); if (angleTo + 180.0 >= 180.0) { return((180.0 - angleTo).MinimumAngle()); } return((angleTo + 180.0).MinimumAngle()); }