docs.unity3d.com
    Show / Hide Table of Contents

    Class MathUtils

    Provides methods for miscellaneous mathematical operations.

    Inheritance
    Object
    MathUtils
    Namespace: Mechatronics.SensorSDK
    Syntax
    public static class MathUtils

    Fields

    Epsilon

    The default absolute tolerance for equality comparisons.

    Declaration
    public const float Epsilon = 1E-06F
    Field Value
    Type Description
    Single

    The default value is 1e-6. Read-only.

    EpsilonSquared

    The default absolute tolerance for equality comparisons, squared.

    Declaration
    public const float EpsilonSquared = 1E-12F
    Field Value
    Type Description
    Single

    The default value is Epsilon squared. Read-only.

    Methods

    AreApproxEqual(Single, Single, Single)

    Checks if the magnitude of the difference between the given two floats is almost zero, using an absolute tolerance.

    Declaration
    public static bool AreApproxEqual(float a, float b, float toleranceSquared = 1E-12F)
    Parameters
    Type Name Description
    Single a

    The first value.

    Single b

    The second value.

    Single toleranceSquared

    The absolute tolerance, squared. The default value is EpsilonSquared.

    Returns
    Type Description
    Boolean

    True if the magnitude of the difference between the given two values is smaller than the tolerance.

    AreApproxEqual(Vector2, Vector2, Single)

    Checks if the magnitude of the difference between the given two 2D vectors is almost zero, using an absolute tolerance.

    Declaration
    public static bool AreApproxEqual(Vector2 a, Vector2 b, float toleranceSquared = 1E-12F)
    Parameters
    Type Name Description
    Vector2 a

    The first value.

    Vector2 b

    The second value.

    Single toleranceSquared

    The absolute tolerance, squared. The default value is EpsilonSquared.

    Returns
    Type Description
    Boolean

    True if the magnitude of the difference between the given two values is smaller than the tolerance.

    AreApproxEqual(Vector3, Vector3, Single)

    Checks if the magnitude of the difference between the given two 3D vectors is almost zero, using an absolute tolerance.

    Declaration
    public static bool AreApproxEqual(Vector3 a, Vector3 b, float toleranceSquared = 1E-12F)
    Parameters
    Type Name Description
    Vector3 a

    The first value.

    Vector3 b

    The second value.

    Single toleranceSquared

    The absolute tolerance, squared. The default value is EpsilonSquared.

    Returns
    Type Description
    Boolean

    True if the magnitude of the difference between the given two values is smaller than the tolerance.

    AreApproxEqual(Vector4, Vector4, Single)

    Checks if the magnitude of the difference between the given two 4D vectors is almost zero, using an absolute tolerance.

    Declaration
    public static bool AreApproxEqual(Vector4 a, Vector4 b, float toleranceSquared = 1E-12F)
    Parameters
    Type Name Description
    Vector4 a

    The first value.

    Vector4 b

    The second value.

    Single toleranceSquared

    The absolute tolerance, squared. The default value is EpsilonSquared.

    Returns
    Type Description
    Boolean

    True if the magnitude of the difference between the given two values is smaller than the tolerance.

    Cross(Vector2, Vector2)

    Computes the cross product of two 2D vectors as v1.x * v2.y - v1.y * v2.x.

    Declaration
    public static float Cross(Vector2 v1, Vector2 v2)
    Parameters
    Type Name Description
    Vector2 v1

    First vector.

    Vector2 v2

    Second vector.

    Returns
    Type Description
    Single

    The 2D cross product.

    Remarks

    This is equivalent to promoting the operands to 3D vectors by setting their Z coordinates to 0, computing their 3D cross product, then returning the Z coordinate of the result. Equals |v1||v2|sin(theta). If v1 and v2 are unit vectors, returns the signed sine of their angle. Returns a positive value if the smallest rotation bringing v1 to v2 is counter-clockwise.

    IsApproxZero(Single, Single)

    Checks if the given float is almost zero, using an absolute tolerance.

    Declaration
    public static bool IsApproxZero(float f, float toleranceSquared = 1E-12F)
    Parameters
    Type Name Description
    Single f

    The float to check.

    Single toleranceSquared

    The absolute tolerance, squared. The default value is EpsilonSquared.

    Returns
    Type Description
    Boolean

    True if the magnitude of the given value is smaller than the tolerance.

    IsApproxZero(Vector2, Single)

    Checks if the magnitude of the given 2D vector is almost zero, using an absolute tolerance.

    Declaration
    public static bool IsApproxZero(Vector2 v, float toleranceSquared = 1E-12F)
    Parameters
    Type Name Description
    Vector2 v

    The 2D vector to check.

    Single toleranceSquared

    The absolute tolerance, squared. The default value is EpsilonSquared.

    Returns
    Type Description
    Boolean

    True if the magnitude of the given value is smaller than the tolerance.

    IsApproxZero(Vector3, Single)

    Checks if the magnitude of the given 3D vector is almost zero, using an absolute tolerance.

    Declaration
    public static bool IsApproxZero(Vector3 v, float toleranceSquared = 1E-12F)
    Parameters
    Type Name Description
    Vector3 v

    The 3D vector to check.

    Single toleranceSquared

    The absolute tolerance, squared. The default value is EpsilonSquared.

    Returns
    Type Description
    Boolean

    True if the magnitude of the given value is smaller than the tolerance.

    IsApproxZero(Vector4, Single)

    Checks if the magnitude of the given 4D vector is almost zero, using an absolute tolerance.

    Declaration
    public static bool IsApproxZero(Vector4 v, float toleranceSquared = 1E-12F)
    Parameters
    Type Name Description
    Vector4 v

    The 4D vector to check.

    Single toleranceSquared

    The absolute tolerance, squared. The default value is EpsilonSquared.

    Returns
    Type Description
    Boolean

    True if the magnitude of the given value is smaller than the tolerance.

    Square(Int32)

    Computes the square of an integer.

    Declaration
    public static int Square(int value)
    Parameters
    Type Name Description
    Int32 value

    The value to square.

    Returns
    Type Description
    Int32

    The squared value.

    Square(Single)

    Computes the square of a float.

    Declaration
    public static float Square(float value)
    Parameters
    Type Name Description
    Single value

    The value to square.

    Returns
    Type Description
    Single

    The squared value.

    Swap<T>(ref T, ref T)

    Swaps the values of the given arguments.

    Declaration
    public static void Swap<T>(ref T a, ref T b)
    Parameters
    Type Name Description
    T a

    First value.

    T b

    Second value.

    Type Parameters
    Name Description
    T

    Any type. Works both for value types and reference types.

    ToQuaternion(Vector4)

    Converts a Vector4 into a Quaternion. Member-wise copy.

    Declaration
    public static Quaternion ToQuaternion(Vector4 v)
    Parameters
    Type Name Description
    Vector4 v

    The Vector4 to convert.

    Returns
    Type Description
    Quaternion

    The given value converted to a Quaternion.

    ToVector4(Quaternion)

    Converts a Quaternion into a Vector4. Member-wise copy.

    Declaration
    public static Vector4 ToVector4(Quaternion q)
    Parameters
    Type Name Description
    Quaternion q

    The Quaternion to convert.

    Returns
    Type Description
    Vector4

    The given value converted to a Vector4.

    Back to top
    Terms of use
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023