public static void Reflect(ref Vector2 vector, ref Vector2 normal, out Vector2 result)
{
float num = vector.X * normal.X + vector.Y * normal.Y;
result.X = vector.X - 2f * num * normal.X;
result.Y = vector.Y - 2f * num * normal.Y;
}
/// <summary>Returns a vector that contains the lowest value from each matching pair of components.</summary>