Vector2 class with x and y component. Can also be used as an array with two indices, i.e. using [0] and [1].

Alias

Vector2

Hierarchy

  • default

Indexable

[index: number]: number

Constructors

  • Construct a new Vector2 with identical x and y components.

    Parameters

    • value: number

      Value of x and y component

    Returns default

  • Construct a new Vector2.

    Parameters

    • x: number

      Initial x component of vector

    • y: number

      Initial y component of vector

    Returns default

  • Construct a new Vector2 using component from another vector.

    Parameters

    • vector: VectorLike

    Returns default

  • Construct a new Vector2 using an object with an x and y key.

    Parameters

    • vector: {
          x: number;
          y: number;
      }
      • x: number
      • y: number

    Returns default

  • Construct a new Vector2.

    Parameters

    • Rest ...nums: number[]

      A series of numbers

    Returns default

Properties

isMutating: boolean = false

Does the vector mutate?

length: number = 2

Length variable to use vector as array.

Accessors

  • get magnitude(): number
  • Magnitude of vector.

    Returns number

  • set magnitude(val): void
  • Parameters

    • val: number

    Returns void

  • get x(): number
  • Alternative getter/setter for x component.

    Returns number

  • set x(value): void
  • Parameters

    • value: number

    Returns void

  • get y(): number
  • Alternative getter/setter for y component.

    Returns number

  • set y(value): void
  • Parameters

    • value: number

    Returns void

Methods

  • Returns {
        next: (() => {
            done: boolean;
            value: number;
        });
    }

    • next: (() => {
          done: boolean;
          value: number;
      })
        • (): {
              done: boolean;
              value: number;
          }
        • Returns {
              done: boolean;
              value: number;
          }

          • done: boolean
          • value: number
  • Add values of given vector to target vector.

    Parameters

    • x: number

      X component to add

    • y: number

      Y component to add

    Returns default

    Resulting vector

  • Add values of given vector to target vector.

    Parameters

    • vector: VectorLike

      Vector to add

    Returns default

    Resulting vector

  • Ensures that the magnitude of the vector does not exceed a given length.

    Parameters

    • n: number

      Numeric value

    Returns default

    Resulting vector

  • Creates a new vector with identical values. Mutable state is not transferred.

    Returns default

    Clone of vector

  • Returns true if vector equals b. Epsilon defines allowed deviation for the x and y component.

    Parameters

    • vector: VectorLike

      Vector to compare with

    • epsilon: number = 0

      Accepted deviation (Default: 0)

    Returns boolean

    Are vectors equal?

  • Returns true if x and y is zero, otherwise returns false.

    Parameters

    • epsilon: number = 0

      Accepted deviation from 0.00 (Default: 0)

    Returns boolean

    Is target zero vector?

  • [Mutation] Modifies both the x and y-component of a vector using a given function.

    Parameters

    • modifier: ((d) => number)

      Function used to modify

        • (d): number
        • Parameters

          • d: number

          Returns number

    Returns default

    Reference to vector

  • Rescale the vector to given length.

    Parameters

    • n: number

      Numeric value

    Returns default

    Resulting vector

  • Rotate the vector by specified amount of radians. Positive rotation is counter-clockwise.

    Parameters

    • rad: number

      Radians to rotate

    Returns default

    Resulting vector

  • Rotate the vector counter-clockwise by an amount of 180 degrees. Resulting vector is opposite of original.

    Returns default

    Resulting vector

  • Rotate the vector counter-clockwise by an amount of 270 degrees. Resulting vector is perpendicular to the original.

    Returns default

    Resulting vector

  • Rotate the vector counter-clockwise by an amount of 90 degrees. Resulting vector is perpendicular to the original.

    Returns default

    Resulting vector

  • Rotate the vector by specified amount of degrees. Positive rotation is counter-clockwise.

    Parameters

    • deg: number

    Returns default

    Resulting vector

  • Scale vector by a numeric value.

    Parameters

    • n: number

      Numeric value

    Returns default

    Resulting vector

  • [Mutation] Set both components of vector.

    Parameters

    • value: number

      Value of x and y component

    Returns default

    Reference to self

  • [Mutation] Set both components of vector.

    Parameters

    • x: number

      New x component of vector

    • y: number

      New y component of vector

    Returns default

    Reference to self

  • [Mutation] Set both components of vector.

    Parameters

    • vector: VectorLike

      Vector-like object with values on the format: [ x, y ]

    Returns default

    Reference to self

  • Subtract from vector.

    Parameters

    • x: number

      X component to subtract

    • y: number

      Y component to subtract

    Returns default

    Resulting vector

  • Subtract from vector.

    Parameters

    • vector: VectorLike

      Vector to subtract

    Returns default

    Resulting vector

  • target - this

    Subtract this vector from given vector.

    Parameters

    • x: number

      X component to subtract from

    • y: number

      Y component to subtract from

    Returns default

    Resulting vector

  • target - this

    Subtract this vector from given vector.

    Parameters

    • vector: VectorLike

      Vector to to subtract from

    Returns default

    Resulting vector

  • Create an array from the vector.

    Returns [number, number]

    Array on the format: [ x, y ]

  • a + b

    Add two values together.

    Parameters

    • a: VectorLike

      Left operand

    • b: VectorLike

      Right operand

    Returns default

    Resulting vector

    Static

  • Get angle (in radians) between two vectors.

    Parameters

    • a: VectorLike

      First vector

    • b: VectorLike

      Second vector

    Returns number

    Angle in radians

  • Get angle (in degrees) between two vectors.

    Parameters

    • a: VectorLike

      First vector

    • b: VectorLike

      Second vector

    Returns number

    Angle in degrees

  • Get angle (in radians) between vector and [1, 0].

    Parameters

    • v: VectorLike

      Target vector

    Returns number

    Angle in radians

  • Get angle (in degrees) between vector and [1, 0].

    Parameters

    • v: VectorLike

      Target vector

    Returns number

    Angle in degrees

  • Get cross product between two vectors.

    Parameters

    • a: VectorLike

      First vector

    • b: VectorLike

      Second vector

    Returns number

    Cross product

  • Get distance between two positions.

    Parameters

    • a: VectorLike

      First position

    • b: VectorLike

      Second position

    Returns number

    Distance between positions

  • v / n

    Divide vector by a numeric value.

    Parameters

    • v: VectorLike

      Vector to divide

    • n: number

      Numeric value

    Returns default

    Resulting vector

  • Get dot product between two vectors.

    Parameters

    • a: VectorLike

      First vector

    • b: VectorLike

      Second vector

    Returns number

    Dot product

  • Returns true if a equals b. Epsilon defines allowed deviation for the x and y component.

    Parameters

    • a: VectorLike

      Vector to evaluate

    • b: VectorLike

      Vector to compare with

    • epsilon: number = 0

      Accepted deviation (Default: 0)

    Returns boolean

    Are vectors equal?

  • Returns true if x and y is zero, otherwise returns false.

    Parameters

    • vector: VectorLike
    • epsilon: number = 0

      Accepted deviation from 0.00 (Default: 0)

    Returns boolean

    Is target zero vector?

  • Interpolate between two positions with given value n.

    Parameters

    • a: VectorLike

      Position to interpolate from

    • b: VectorLike

      Position to interpolate to

    • t: number

      Value between 0 - 1 used for interpolation

    Returns default

    Interpolated position

  • Rotates a vector, v1, towards a second vector, v2, based on a factor, n.

    Parameters

    • a: VectorLike

      Vector to interpolate from

    • b: VectorLike

      Vector to interpolate to

    • t: number

      Value between 0 - 1 used for interpolation

    Returns default

    Interpolated vector

  • v * n

    Multiply vector by a numeric value.

    Parameters

    • v: VectorLike

      Vector to multiply

    • n: number

      Numeric value

    Returns default

    Resulting vector

  • Get signed angle (in radians) between two vectors.

    Parameters

    • a: VectorLike

      First vector

    • b: VectorLike

      Second vector

    Returns number

    Signed angle in radians

  • Get signed angle (in degrees) between two vectors.

    Parameters

    • a: VectorLike

      First vector

    • b: VectorLike

      Second vector

    Returns number

    Signed angle in degrees

  • a - b

    Subtract second vector from first vector.

    Parameters

    • a: VectorLike

      Left operand

    • b: VectorLike

      Right operand

    Returns default

    Resulting vector

Generated using TypeDoc