This repository was archived by the owner on Dec 13, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 123
VRageMath.Vector3
Morten Aune Lyrstad edited this page Apr 16, 2022
·
54 revisions
← Index ← Namespace Index
public struct Vector3: IEquatable<VRageMath.Vector3>Defines a vector with three components.
Namespace: VRageMath
Assembly: VRage.Math.dll
Implements:
| Member | Description |
|---|---|
| static Vector3 Backward | |
| static Vector3 Down | |
| static Vector3 Forward | |
| static Vector3 Half | |
| static Vector3 Invalid | |
| static Vector3 Left | |
| static Vector3 MaxValue | |
| static Vector3 MinusOne | |
| static Vector3 MinValue | |
| static Vector3 NegativeInfinity | |
| static Vector3 One | |
| static Vector3 PositiveInfinity | |
| static Vector3 Right | |
| static Vector3 UnitX | |
| static Vector3 UnitY | |
| static Vector3 UnitZ | |
| static Vector3 Up | |
| static Vector3 Zero | |
| float X | Gets or sets the x-component of the vector. |
| float Y | Gets or sets the y-component of the vector. |
| float Z | Gets or sets the z-component of the vector. |
| Member | Description |
|---|---|
| float Sum { get; } | |
| float Volume { get; } |
| Member | Description |
|---|---|
| Vector3(float, float, float) | |
| Vector3(double, double, double) | |
| Vector3(float) | |
| Vector3(Vector2, float) | |
| Vector3(Vector4) | |
| Vector3(ref Vector3I) | |
| Vector3(Vector3I) |
| Member | Description |
|---|---|
| static Vector3 Abs(Vector3) | |
| static Vector3 Add(Vector3, Vector3) | Adds two vectors. |
| static void Add(ref Vector3, ref Vector3, out Vector3) | Adds two vectors. |
| static bool ArePerpendicular(ref Vector3, ref Vector3) | |
| static bool ArePerpendicular(Vector3, Vector3) | |
| static Vector3 Barycentric(Vector3, Vector3, Vector3, float, float) | Returns a Vector3 containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle. |
| static void Barycentric(ref Vector3, ref Vector3, ref Vector3, float, float, out Vector3) | Returns a Vector3 containing the 3D Cartesian coordinates of a point specified in barycentric (areal) coordinates relative to a 3D triangle. |
| static void Barycentric(Vector3, Vector3, Vector3, Vector3, out float, out float, out float) | Compute barycentric coordinates (u, v, w) for point p with respect to triangle (a, b, c) From : Real-Time Collision Detection, Christer Ericson, CRC Press 3.4 Barycentric Coordinates |
| static Vector3 CalculatePerpendicularVector(Vector3) | |
| static Vector3 CatmullRom(Vector3, Vector3, Vector3, Vector3, float) | Performs a Catmull-Rom interpolation using the specified positions. |
| static void CatmullRom(ref Vector3, ref Vector3, ref Vector3, ref Vector3, float, out Vector3) | Performs a Catmull-Rom interpolation using the specified positions. |
| static Vector3 Ceiling(Vector3) | |
| static Vector3 Clamp(Vector3, Vector3, Vector3) | Restricts a value to be within a specified range. |
| static void Clamp(ref Vector3, ref Vector3, ref Vector3, out Vector3) | Restricts a value to be within a specified range. |
| static Vector3 ClampToSphere(Vector3, float) | |
| static void ClampToSphere(ref Vector3, float) | |
| static void CreateFromAzimuthAndElevation(float, float, out Vector3) | |
| static Vector3 Cross(Vector3, Vector3) | Calculates the cross product of two vectors. |
| static void Cross(ref Vector3, ref Vector3, out Vector3) | Calculates the cross product of two vectors. |
| static float Distance(Vector3, Vector3) | Calculates the distance between two vectors. |
| static void Distance(ref Vector3, ref Vector3, out float) | Calculates the distance between two vectors. |
| static float DistanceSquared(Vector3, Vector3) | Calculates the distance between two vectors squared. |
| static void DistanceSquared(ref Vector3, ref Vector3, out float) | Calculates the distance between two vectors squared. |
| static Vector3 Divide(Vector3, Vector3) | Divides the components of a vector by the components of another vector. |
| static void Divide(ref Vector3, ref Vector3, out Vector3) | Divides the components of a vector by the components of another vector. |
| static Vector3 Divide(Vector3, float) | Divides a vector by a scalar value. |
| static void Divide(ref Vector3, float, out Vector3) | Divides a vector by a scalar value. |
| static Vector3 DominantAxisProjection(Vector3) | Returns a vector that is equal to the projection of the input vector to the coordinate axis that corresponds to the original vector's largest value. |
| static void DominantAxisProjection(ref Vector3, out Vector3) | Calculates a vector that is equal to the projection of the input vector to the coordinate axis that corresponds to the original vector's largest value. The result is saved into a user-specified variable. |
| static float Dot(Vector3, Vector3) | Calculates the dot product of two vectors. If the two vectors are unit vectors, the dot product returns a floating point value between -1 and 1 that can be used to determine some properties of the angle between two vectors. For example, it can show whether the vectors are orthogonal, parallel, or have an acute or obtuse angle between them. |
| static void Dot(ref Vector3, ref Vector3, out float) | Calculates the dot product of two vectors and writes the result to a user-specified variable. If the two vectors are unit vectors, the dot product returns a floating point value between -1 and 1 that can be used to determine some properties of the angle between two vectors. For example, it can show whether the vectors are orthogonal, parallel, or have an acute or obtuse angle between them. |
| static Vector3 Floor(Vector3) | |
| static void GetAzimuthAndElevation(Vector3, out float, out float) | |
| static bool GetNormalized(ref Vector3) | |
| static Vector3 Hermite(Vector3, Vector3, Vector3, Vector3, float) | Performs a Hermite spline interpolation. |
| static void Hermite(ref Vector3, ref Vector3, ref Vector3, ref Vector3, float, out Vector3) | Performs a Hermite spline interpolation. |
| static bool IsUnit(ref Vector3) | |
| static bool IsZero(ref Vector3) | |
| static bool IsZero(Vector3) | |
| static bool IsZero(Vector3, float) | |
| static Vector3 IsZeroVector(Vector3) | |
| static Vector3 IsZeroVector(Vector3, float) | |
| static Vector3 Lerp(Vector3, Vector3, float) | Performs a linear interpolation between two vectors. |
| static void Lerp(ref Vector3, ref Vector3, float, out Vector3) | Performs a linear interpolation between two vectors. |
| static Vector3 Max(Vector3, Vector3) | Returns a vector that contains the highest value from each matching pair of components. |
| static void Max(ref Vector3, ref Vector3, out Vector3) | Returns a vector that contains the highest value from each matching pair of components. |
| static Vector3 Min(Vector3, Vector3) | Returns a vector that contains the lowest value from each matching pair of components. |
| static void Min(ref Vector3, ref Vector3, out Vector3) | Returns a vector that contains the lowest value from each matching pair of components. |
| static void MinMax(ref Vector3, ref Vector3) | Separates minimal and maximal values of any two input vectors |
| static Vector3 Multiply(Vector3, Vector3) | Multiplies the components of two vectors by each other. |
| static void Multiply(ref Vector3, ref Vector3, out Vector3) | Multiplies the components of two vectors by each other. |
| static Vector3 Multiply(Vector3, float) | Multiplies a vector by a scalar value. |
| static void Multiply(ref Vector3, float, out Vector3) | Multiplies a vector by a scalar value. |
| static Vector3 Negate(Vector3) | Returns a vector pointing in the opposite direction. |
| static void Negate(ref Vector3, out Vector3) | Returns a vector pointing in the opposite direction. |
| static Vector3 Normalize(Vector3) | Creates a unit vector from the specified vector. The result is a vector one unit in length pointing in the same direction as the original vector. |
| static Vector3 Normalize(Vector3D) | |
| static void Normalize(ref Vector3, out Vector3) | Creates a unit vector from the specified vector, writing the result to a user-specified variable. The result is a vector one unit in length pointing in the same direction as the original vector. |
| static Vector3 ProjectOnPlane(ref Vector3, ref Vector3) | Projects given vector on plane specified by it's normal. |
| static Vector3 ProjectOnVector(ref Vector3, ref Vector3) | Projects vector on another vector resulting in new vector in guided vector's direction with different length. |
| static float RectangularDistance(Vector3, Vector3) | Calculates rectangular distance (a.k.a. Manhattan distance or Chessboard distace) between two vectors. |
| static float RectangularDistance(ref Vector3, ref Vector3) | Calculates rectangular distance (a.k.a. Manhattan distance or Chessboard distace) between two vectors. |
| static Vector3 Reflect(Vector3, Vector3) | Returns the reflection of a vector off a surface that has the specified normal. Reference page contains code sample. |
| static void Reflect(ref Vector3, ref Vector3, out Vector3) | Returns the reflection of a vector off a surface that has the specified normal. Reference page contains code sample. |
| static Vector3 Reject(Vector3, Vector3) | Returns the rejection of vector from direction, i.e. projection of vector onto the plane defined by origin and direction |
| static void Reject(ref Vector3, ref Vector3, out Vector3) | Returns the rejection of vector from direction, i.e. projection of vector onto the plane defined by origin and direction |
| static void RotateAndScale(ref Vector3, ref Matrix, out Vector3) | |
| static Vector3 RotateAndScale(Vector3, Matrix) | |
| static Vector3 Round(Vector3) | |
| static Vector3 Round(Vector3, int) | |
| static Vector3 Sign(Vector3) | |
| static Vector3 Sign(Vector3, float) | |
| static Vector3 SignNonZero(Vector3) | Returns per component sign, never returns zero. For zero component returns sign 1. Faster than Sign. |
| static Vector3 SmoothStep(Vector3, Vector3, float) | Interpolates between two values using a cubic equation. |
| static void SmoothStep(ref Vector3, ref Vector3, float, out Vector3) | Interpolates between two values using a cubic equation. |
| static Vector3 Step(Vector3) | |
| static Vector3 Subtract(Vector3, Vector3) | Subtracts a vector from a vector. |
| static void Subtract(ref Vector3, ref Vector3, out Vector3) | Subtracts a vector from a vector. |
| static Vector3 SwapYZCoordinates(Vector3) | |
| static Vector3 Transform(Vector3, Matrix) | Transforms a 3D vector by the given matrix. |
| static Vector3D Transform(Vector3, MatrixD) | Transforms a 3D vector by the given matrix. |
| static Vector3 Transform(Vector3, ref Matrix) | |
| static void Transform(ref Vector3, ref Matrix, out Vector3) | Transforms a Vector3 by the given Matrix. |
| static void Transform(ref Vector3, ref MatrixI, out Vector3) | |
| static Vector3 Transform(Vector3, Quaternion) | Transforms a Vector3 by a specified Quaternion rotation. |
| static void Transform(ref Vector3, ref Quaternion, out Vector3) | Transforms a Vector3 by a specified Quaternion rotation. |
| static void Transform(Vector3[], ref Matrix, Vector3[]) | Transforms a source array of Vector3s by a specified Matrix and writes the results to an existing destination array. |
| static void Transform(Vector3[], int, ref Matrix, Vector3[], int, int) | Applies a specified transform Matrix to a specified range of an array of Vector3s and writes the results into a specified range of a destination array. |
| static void Transform(Vector3[], ref Quaternion, Vector3[]) | Transforms a source array of Vector3s by a specified Quaternion rotation and writes the results to an existing destination array. |
| static void Transform(Vector3[], int, ref Quaternion, Vector3[], int, int) | Applies a specified Quaternion rotation to a specified range of an array of Vector3s and writes the results into a specified range of a destination array. |
| static void TransformNoProjection(ref Vector3, ref Matrix, out Vector3) | |
| static Vector3 TransformNormal(Vector3, Matrix) | Transforms a 3D vector normal by a matrix. |
| static Vector3 TransformNormal(Vector3, MatrixD) | Transforms a 3D vector normal by a matrix. |
| static Vector3 TransformNormal(Vector3D, Matrix) | Transforms a 3D vector normal by a matrix. |
| static void TransformNormal(ref Vector3, ref Matrix, out Vector3) | Transforms a vector normal by a matrix. |
| static void TransformNormal(ref Vector3, ref MatrixD, out Vector3) | |
| static void TransformNormal(ref Vector3, ref MatrixI, out Vector3) | |
| static Vector3 TransformNormal(Vector3, MyBlockOrientation) | |
| static void TransformNormal(ref Vector3, MyBlockOrientation, out Vector3) | |
| static Vector3 TransformNormal(Vector3, ref Matrix) | |
| static void TransformNormal(Vector3[], ref Matrix, Vector3[]) | Transforms an array of 3D vector normals by a specified Matrix. |
| static void TransformNormal(Vector3[], int, ref Matrix, Vector3[], int, int) | Transforms a specified range in an array of 3D vector normals by a specified Matrix and writes the results to a specified range in a destination array. |
| static void TransformProjection(ref Vector3, ref Matrix, out Vector3) | Transforms a Vector3 by the given projection matrix (both ortho and perspective are supported) |
| static float TriangleArea(Vector3, Vector3, Vector3) | |
| static float TriangleArea(ref Vector3, ref Vector3, ref Vector3) | |
| float AbsMax() | Returns the component of the vector, whose absolute value is largest of all the three components. |
| float AbsMin() | Returns the component of the vector, whose absolute value is smallest of all the three components. |
| void Add(Vector3) | |
| void AssertIsValid() | |
| void CalculatePerpendicularVector(out Vector3) | |
| Vector3 Cross(Vector3) | |
| void Divide(float) | |
| float Dot(Vector3) | |
| float Dot(ref Vector3) | |
| bool Equals(Vector3) | Determines whether the specified Object is equal to the Vector3. |
| bool Equals(Vector3, float) | |
| bool Equals(object) | Returns a value that indicates whether the current instance is equal to a specified object. |
| float GetDim(int) | |
| long GetHash() | Gets the hash code of the vector object. |
| int GetHashCode() | |
| void Interpolate3(Vector3, Vector3, float) | |
| bool IsInsideInclusive(ref Vector3, ref Vector3) | |
| bool IsValid() | |
| float Length() | Calculates the length of the vector. |
| float LengthSquared() | Calculates the length of the vector squared. |
| float Max() | Returns the component of the vector that is largest of all the three components. |
| Vector3 MaxAbsComponent() | Keeps only component with maximal absolute, others are set to zero. |
| float Min() | Returns the component of the vector that is smallest of all the three components. |
| void Multiply(float) | |
| float Normalize() | Turns the current vector into a unit vector. The result is a vector one unit in length pointing in the same direction as the original vector. |
| void SetDim(int, float) | |
| string ToString() | Retrieves a string representation of the current object. |
| string ToString(string) | |
| long VolumeInt(float) |
Do you have questions, comments, suggestions for improvements? Is there something I can do better? Did I make a mistake? Please add an issue here, and prefix your issue title with Wiki. Thank you, your help will be very appreciated!