<PackageReference Include="System.Numerics.Vectors" Version="4.5.0-preview2-26406-04" />

System.Numerics.Vector2

Represents a vector with two single-precision floating-point values.
namespace System.Numerics { public struct Vector2 : IEquatable<Vector2>, IFormattable { public float X; public float Y; public static Vector2 Zero { get; } public static Vector2 One { get; } public static Vector2 UnitX { get; } public static Vector2 UnitY { get; } public string ToString(string format); public string ToString(string format, IFormatProvider formatProvider); public float Length(); public float LengthSquared(); public static float Distance(Vector2 value1, Vector2 value2); public static float DistanceSquared(Vector2 value1, Vector2 value2); public static Vector2 Normalize(Vector2 value); public static Vector2 Reflect(Vector2 vector, Vector2 normal); public static Vector2 Clamp(Vector2 value1, Vector2 min, Vector2 max); public static Vector2 Lerp(Vector2 value1, Vector2 value2, float amount); public static Vector2 Transform(Vector2 position, Matrix3x2 matrix); public static Vector2 Transform(Vector2 position, Matrix4x4 matrix); public static Vector2 TransformNormal(Vector2 normal, Matrix3x2 matrix); public static Vector2 TransformNormal(Vector2 normal, Matrix4x4 matrix); public static Vector2 Transform(Vector2 value, Quaternion rotation); public static Vector2 Add(Vector2 left, Vector2 right); public static Vector2 Subtract(Vector2 left, Vector2 right); public static Vector2 Multiply(Vector2 left, Vector2 right); public static Vector2 Multiply(Vector2 left, float right); public static Vector2 Multiply(float left, Vector2 right); public static Vector2 Divide(Vector2 left, Vector2 right); public static Vector2 Divide(Vector2 left, float divisor); public static Vector2 Negate(Vector2 value); public Vector2(float value); public Vector2(float x, float y); public void CopyTo(float[] array); public void CopyTo(float[] array, int index); public bool Equals(Vector2 other); public static float Dot(Vector2 value1, Vector2 value2); public static Vector2 Min(Vector2 value1, Vector2 value2); public static Vector2 Max(Vector2 value1, Vector2 value2); public static Vector2 Abs(Vector2 value); public static Vector2 SquareRoot(Vector2 value); public static Vector2 operator +(Vector2 left, Vector2 right); public static Vector2 operator -(Vector2 left, Vector2 right); public static Vector2 operator *(Vector2 left, Vector2 right); public static Vector2 operator *(float left, Vector2 right); public static Vector2 operator *(Vector2 left, float right); public static Vector2 operator /(Vector2 left, Vector2 right); public static Vector2 operator /(Vector2 value1, float value2); public static Vector2 operator -(Vector2 value); public static bool operator ==(Vector2 left, Vector2 right); public static bool operator !=(Vector2 left, Vector2 right); } }