using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.Xna.Framework; namespace Revitalize.Framework.Utilities { public static class Vector2Utilities { public static double Magnitude(this Vector2 vec) { return Math.Sqrt(Math.Pow(vec.X, 2) + Math.Pow(vec.Y, 2)); } /// /// Returns the unit vector. /// /// /// public static Vector2 UnitVector(this Vector2 vec) { if (vec == Vector2.Zero) return Vector2.Zero; double mag = Magnitude(vec); if (mag == 0) return Vector2.Zero; return new Vector2((float)(vec.X / mag),(float)(vec.Y / mag)); } } }