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

System.Numerics.Vector4

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

The W component of the vector.

public float X

The X component of the vector.

public float Y

The Y component of the vector.

public float Z

The Z component of the vector.

public static Vector4 One { get; }

Returns the vector (1,1,1,1).

public static Vector4 UnitW { get; }

Returns the vector (0,0,0,1).

public static Vector4 UnitX { get; }

Returns the vector (1,0,0,0).

public static Vector4 UnitY { get; }

Returns the vector (0,1,0,0).

public static Vector4 UnitZ { get; }

Returns the vector (0,0,1,0).

public static Vector4 Zero { get; }

Returns the vector (0,0,0,0).

public Vector4(float value)

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

public Vector4(float x, float y, float z, float w)

Constructs a vector with the given individual elements.

public Vector4(Vector2 value, float z, float w)

Constructs a Vector4 from the given Vector2 and a Z and W component.

public Vector4(Vector3 value, float w)

Constructs a Vector4 from the given Vector3 and a W component.

public static Vector4 Abs(Vector4 value)

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

public static Vector4 Add(Vector4 left, Vector4 right)

Adds two vectors together.

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

Restricts a vector between a min and max value.

public static float Distance(Vector4 value1, Vector4 value2)

Returns the Euclidean distance between the two given points.

public static float DistanceSquared(Vector4 value1, Vector4 value2)

Returns the Euclidean distance squared between the two given points.

public static Vector4 Divide(Vector4 left, Vector4 right)

Divides the first vector by the second.

public static Vector4 Divide(Vector4 left, float divisor)

Divides the vector by the given scalar.

public static float Dot(Vector4 vector1, Vector4 vector2)

Returns the dot product of two vectors.

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

Linearly interpolates between two vectors based on the given weighting.

public static Vector4 Max(Vector4 value1, Vector4 value2)

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

public static Vector4 Min(Vector4 value1, Vector4 value2)

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

public static Vector4 Multiply(Vector4 left, Vector4 right)

Multiplies two vectors together.

public static Vector4 Multiply(Vector4 left, float right)

Multiplies a vector by the given scalar.

public static Vector4 Multiply(float left, Vector4 right)

Multiplies a vector by the given scalar.

public static Vector4 Negate(Vector4 value)

Negates a given vector.

public static Vector4 Normalize(Vector4 vector)

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

public static Vector4 op_Addition(Vector4 left, Vector4 right)

Adds two vectors together.

public static Vector4 op_Division(Vector4 left, Vector4 right)

Divides the first vector by the second.

public static Vector4 op_Division(Vector4 value1, float value2)

Divides the vector by the given scalar.

public static bool op_Equality(Vector4 left, Vector4 right)

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

public static bool op_Inequality(Vector4 left, Vector4 right)

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

public static Vector4 op_Multiply(Vector4 left, Vector4 right)

Multiplies two vectors together.

public static Vector4 op_Multiply(Vector4 left, float right)

Multiplies a vector by the given scalar.

public static Vector4 op_Multiply(float left, Vector4 right)

Multiplies a vector by the given scalar.

public static Vector4 op_Subtraction(Vector4 left, Vector4 right)

Subtracts the second vector from the first.

public static Vector4 op_UnaryNegation(Vector4 value)

Negates a given vector.

public static Vector4 SquareRoot(Vector4 value)

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

public static Vector4 Subtract(Vector4 left, Vector4 right)

Subtracts the second vector from the first.

public static Vector4 Transform(Vector2 position, Matrix4x4 matrix)

Transforms a vector by the given matrix.

public static Vector4 Transform(Vector3 position, Matrix4x4 matrix)

Transforms a vector by the given matrix.

public static Vector4 Transform(Vector4 vector, Matrix4x4 matrix)

Transforms a vector by the given matrix.

public static Vector4 Transform(Vector2 value, Quaternion rotation)

Transforms a vector by the given Quaternion rotation value.

public static Vector4 Transform(Vector3 value, Quaternion rotation)

Transforms a vector by the given Quaternion rotation value.

public static Vector4 Transform(Vector4 value, Quaternion rotation)

Transforms a vector by the given Quaternion rotation value.

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 index.

public bool Equals(Vector4 other)

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

public float Length()

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

public float LengthSquared()

Returns the length of the vector squared.

public string ToString(string format)

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

public string ToString(string format, IFormatProvider formatProvider)

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