using System.Numerics; namespace MoonTools.Bonk.Extensions { internal static class Vector2Extensions { internal static float Cross(this Vector2 a, Vector2 b) { return Vector3.Cross(new Vector3(a.X, a.Y, 0), new Vector3(b.X, b.Y, 0)).Z; } internal static Vector2 Perpendicular(this Vector2 a, Vector2 b) { var ab = b - a; return a.Cross(b) > 0 ? Vector2.Normalize(new Vector2(ab.Y, ab.X)) : Vector2.Normalize(new Vector2(ab.Y, -ab.X)); } } }