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

System.Numerics.Vector3

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