Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface MathUtils

Hierarchy

  • MathUtils

Index

Properties

DEG2RAD

DEG2RAD: number

degree to radian

RAD2DEG

RAD2DEG: number

radian to degree

Methods

ceilPowerOfTwo

  • ceilPowerOfTwo(value: number): number

clamp

  • clamp(value: number, min: number, max: number): number

damp

  • damp(x: number, y: number, lambda: number, dt: number): number
  • Smoothly interpolate a number from x toward y in a spring-like manner using the dt to maintain frame rate independent movement. For details, see Frame rate independent damping using lerp.

    Parameters

    • x: number

      Current point.

    • y: number

      Target point.

    • lambda: number

      A higher lambda value will make the movement more sudden, and a lower value will make the movement more gradual.

    • dt: number

      Delta time in seconds.

    Returns number

degToRad

  • degToRad(degrees: number): number

euclideanModulo

  • euclideanModulo(n: number, m: number): number

floorPowerOfTwo

  • floorPowerOfTwo(value: number): number

generateUUID

  • generateUUID(): string

inverseLerp

  • inverseLerp(x: number, y: number, t: number): number
  • Parameters

    • x: number

      Start point.

    • y: number

      End point.

    • t: number

      A value between start and end.

    Returns number

    Returns the percentage in the closed interval [0, 1] of the given value between the start and end point.

isPowerOfTwo

  • isPowerOfTwo(value: number): boolean

lerp

  • lerp(x: number, y: number, t: number): number

mapLinear

  • mapLinear(x: number, a1: number, a2: number, b1: number, b2: number): number
  • Linear mapping of x from range [a1, a2] to range [b1, b2].

    Parameters

    • x: number

      Value to be mapped.

    • a1: number

      Minimum value for range A.

    • a2: number

      Maximum value for range A.

    • b1: number

      Minimum value for range B.

    • b2: number

      Maximum value for range B.

    Returns number

pingpong

  • pingpong(x: number, length?: number): number
  • Parameters

    • x: number

      The value to pingpong.

    • Optional length: number

      The positive value the function will pingpong to. Default is 1.

    Returns number

    Returns a value that alternates between 0 and [param:Float length].

radToDeg

  • radToDeg(radians: number): number

randFloat

  • randFloat(low: number, high: number): number

randFloatSpread

  • randFloatSpread(range: number): number

randInt

  • randInt(low: number, high: number): number

seededRandom

  • seededRandom(seed?: number): number

setQuaternionFromProperEuler

  • setQuaternionFromProperEuler(q: I3JS.Quaternion, a: number, b: number, c: number, order: string): void
  • Rotations are applied to the axes in the order specified by order: rotation by angle a is applied first, then by angle b, then by angle c. Angles are in radians.

    Parameters

    • q: I3JS.Quaternion
    • a: number

      The rotation applied to the first axis, in radians

    • b: number

      The rotation applied to the second axis, in radians

    • c: number

      The rotation applied to the third axis, in radians

    • order: string

      A string specifying the axes order: 'XYX', 'XZX', 'YXY', 'YZY', 'ZXZ', or 'ZYZ' Sets quaternion q from the intrinsic Proper Euler Angles defined by angles a, b, and c, and order order.

    Returns void

smootherstep

  • smootherstep(x: number, min: number, max: number): number
  • Parameters

    • x: number

      The value to evaluate based on its position between min and max.

    • min: number

      Any x value below min will be 0.

    • max: number

      Any x value above max will be 1.

    Returns number

    Returns a value between 0-1. A variation on smoothstep that has zero 1st and 2nd order derivatives at x=0 and x=1.

smoothstep

  • smoothstep(x: number, min: number, max: number): number
  • See Smoothstep for details.

    Parameters

    • x: number

      The value to evaluate based on its position between min and max.

    • min: number

      Any x value below min will be 0.

    • max: number

      Any x value above max will be 1.

    Returns number

    Returns a value between 0-1 that represents the percentage that x has moved between min and max, but smoothed or slowed down the closer X is to the min and max.

Generated using TypeDoc