<PackageReference Include="System.Numerics.Vectors" Version="4.3.0" />

System.Numerics.Vector2

A structure encapsulating two single precision floating point values and provides hardware accelerated methods.
public float X

The X component of the vector.

public float Y

The Y component of the vector.

public static Vector2 One { get; }

Returns the vector (1,1).

public static Vector2 UnitX { get; }

Returns the vector (1,0).

public static Vector2 UnitY { get; }

Returns the vector (0,1).

public static Vector2 Zero { get; }

Returns the vector (0,0).

public Vector2(float value)

Constructs a vector whose elements are all the single specified value.

public Vector2(float x, float y)

Constructs a vector with the given individual elements.

public static Vector2 Abs(Vector2 value)

Returns a vector whose elements are the absolute values of each of the source vector's elements.

public static Vector2 Add(Vector2 left, Vector2 right)

Adds two vectors together.

public static Vector2 Clamp(Vector2 value1, Vector2 min, Vector2 max)

Restricts a vector between a min and max value.

public static float Distance(Vector2 value1, Vector2 value2)

Returns the Euclidean distance between the two given points.

public static float DistanceSquared(Vector2 value1, Vector2 value2)

Returns the Euclidean distance squared between the two given points.

public static Vector2 Divide(Vector2 left, Vector2 right)

Divides the first vector by the second.

public static Vector2 Divide(Vector2 left, float divisor)

Divides the vector by the given scalar.

public static float Dot(Vector2 value1, Vector2 value2)

Returns the dot product of two vectors.

public static Vector2 Lerp(Vector2 value1, Vector2 value2, float amount)

Linearly interpolates between two vectors based on the given weighting.

public static Vector2 Max(Vector2 value1, Vector2 value2)

Returns a vector whose elements are the maximum of each of the pairs of elements in the two source vectors

public static Vector2 Min(Vector2 value1, Vector2 value2)

Returns a vector whose elements are the minimum of each of the pairs of elements in the two source vectors.

public static Vector2 Multiply(Vector2 left, Vector2 right)

Multiplies two vectors together.

public static Vector2 Multiply(Vector2 left, float right)

Multiplies a vector by the given scalar.

public static Vector2 Multiply(float left, Vector2 right)

Multiplies a vector by the given scalar.

public static Vector2 Negate(Vector2 value)

Negates a given vector.

public static Vector2 Normalize(Vector2 value)

Returns a vector with the same direction as the given vector, but with a length of 1.

public static Vector2 op_Addition(Vector2 left, Vector2 right)

Adds two vectors together.

public static Vector2 op_Division(Vector2 left, Vector2 right)

Divides the first vector by the second.

public static Vector2 op_Division(Vector2 value1, float value2)

Divides the vector by the given scalar.

public static bool op_Equality(Vector2 left, Vector2 right)

Returns a boolean indicating whether the two given vectors are equal.

public static bool op_Inequality(Vector2 left, Vector2 right)

Returns a boolean indicating whether the two given vectors are not equal.

public static Vector2 op_Multiply(Vector2 left, Vector2 right)

Multiplies two vectors together.

public static Vector2 op_Multiply(float left, Vector2 right)

Multiplies a vector by the given scalar.

public static Vector2 op_Multiply(Vector2 left, float right)

Multiplies a vector by the given scalar.

public static Vector2 op_Subtraction(Vector2 left, Vector2 right)

Subtracts the second vector from the first.

public static Vector2 op_UnaryNegation(Vector2 value)

Negates a given vector.

public static Vector2 Reflect(Vector2 vector, Vector2 normal)

Returns the reflection of a vector off a surface that has the specified normal.

public static Vector2 SquareRoot(Vector2 value)

Returns a vector whose elements are the square root of each of the source vector's elements.

public static Vector2 Subtract(Vector2 left, Vector2 right)

Subtracts the second vector from the first.

public static Vector2 Transform(Vector2 position, Matrix3x2 matrix)

Transforms a vector by the given matrix.

public static Vector2 Transform(Vector2 position, Matrix4x4 matrix)

Transforms a vector by the given matrix.

public static Vector2 Transform(Vector2 value, Quaternion rotation)

Transforms a vector by the given Quaternion rotation value.

public static Vector2 TransformNormal(Vector2 normal, Matrix3x2 matrix)

Transforms a vector normal by the given matrix.

public static Vector2 TransformNormal(Vector2 normal, Matrix4x4 matrix)

Transforms a vector normal by the given matrix.

public void CopyTo(float[] array)

Copies the contents of the vector into the given array.

public void CopyTo(float[] array, int index)

Copies the contents of the vector into the given array, starting from the given index.

public bool Equals(Vector2 other)

Returns a boolean indicating whether the given Vector2 is equal to this Vector2 instance.

public float Length()

Returns the length of the vector.

public float LengthSquared()

Returns the length of the vector squared. This operation is cheaper than Length().

public string ToString(string format)

Returns a String representing this Vector2 instance, using the specified format to format individual elements.

public string ToString(string format, IFormatProvider formatProvider)

Returns a String representing this Vector2 instance, using the specified format to format individual elements and the given IFormatProvider.