Options
All
• Public
• Public/Protected
• All

# Class Vector

A 2D vector on a plane.

• Vector

## Constructors

### constructor

• new Vector(x: number, y: number): Vector
• #### Parameters

• ##### x: number

X component of the Vector

• ##### y: number

Y component of the Vector

## Properties

### x

x: number

X component of the Vector

### y

y: number

Y component of the Vector

## Accessors

### size

• get size(): number
• set size(newLength: number): void
• The size(magnitude) of the Vector

#### Returns number

• The size(magnitude) of the Vector

## Methods

• Adds one vector to another

#### Returns Vector

• Adds one vector to this one modifying the original

### average

• Returns the average (midpoint) between the current point and the specified

### cross

• Performs a 2D cross product with scalar. 2D cross products with a scalar return a vector.

#### Parameters

• ##### v: number

The scalar to cross

#### Returns Vector

• Performs a 2D cross product with another vector. 2D cross products return a scalar value not a vector.

#### Parameters

• ##### v: Vector

The vector to cross

### distance

• distance(v?: Vector): number
• The distance to another vector. If no other Vector is specified, this will return the magnitude.

#### Parameters

• ##### Optional v: Vector

The other vector. Leave blank to use origin vector.

### dot

• Performs a dot product with another vector

#### Parameters

• ##### v: Vector

The vector to dot

### equals

• equals(vector: Vector, tolerance?: number): boolean
• Compares this point against another and tests for equality

#### Parameters

• ##### vector: Vector

The other point to compare to

• ##### Default value tolerance: number = 0.001

Amount of euclidean distance off we are willing to tolerate

### Obsolete magnitude

• magnitude(): number
• The magnitude (size) of the Vector

obsolete

magnitude will be removed in favour of '.size' in version 0.25.0

### normal

• Returns the normal vector to this one, same as the perpendicular of length 1

### rotate

• Rotates the current vector around a point by a certain number of degrees in radians

### scale

• Scales a vector's by a factor of size

### scaleEqual

• scaleEqual(size: number): Vector
• Scales this vector by a factor of size and modifies the original

### setTo

• setTo(x: number, y: number): void
• Sets the x and y components at once

### sub

• Subtracts a vector from another, if you subtract vector `B.sub(A)` the resulting vector points from A -> B

#### Parameters

• ##### v: Vector

The vector to subtract

### subEqual

• Subtracts a vector from this one modifying the original

#### Parameters

• ##### v: Vector

The vector to subtract

### toAngle

• toAngle(): number

### toString

• toString(): string

### Static distance

• Calculates distance between two Vectors

### Static fromAngle

• fromAngle(angle: number): Vector
• Returns a vector of unit length in the direction of the specified angle in Radians.

#### Parameters

• ##### angle: number

The angle to generate the vector

### Static isValid

• isValid(vec: Vector): boolean
• Checks if vector is not null, undefined, or if any of its components are NaN or Infinity.