# Vector2

Show Deprecated

The Vector2 data type represents a 2D value with direction and magnitude. Some applications include GUI elements and 2D mouse positions.

#### Math Operations

The following math operations are valid for the Vector2 data type:

OperationDescription
Produces a Vector2 with each component of the second added to the corresponding component of the first.
Produces a Vector2 with each component of the second subtracted from the corresponding component of the first.
Produces a Vector2 with each component of the second multiplied by the corresponding component of the first.
Produces a Vector2 with each component of the first divided by the corresponding component of the second.
Vector2 * numberProduces a Vector2 with each component multiplied by the number.
Vector2 / numberProduces a Vector2 with each component divided by the number.

## Summary

### Properties

• A Vector2 with a magnitude of zero.

• A Vector2 with a value of 1 on every axis.

• A Vector2 with a value of 1 on the X axis.

• A Vector2 with a value of 1 on the y axis.

• The x-coordinate of the Vector2.

• The y-coordinate of the Vector2.

• The length of the Vector2.

• A normalized copy of the Vector2.

### Methods

• Cross(other : Vector2)

Returns the cross product of the two vectors.

• Abs()

Returns a new vector from the absolute values of the original's components.

• Returns a new vector from the ceiling of the original's components.

• Returns a new vector from the floor of the original's components.

• Returns a new vector from the sign (-1, 0, or 1) of the original's components.

• Angle(other : Vector2,isSigned : bool)

Returns the angle in radians between the two vectors.

• Returns a scalar dot product of the two vectors.

• Lerp(v : Vector2,alpha : number)

Returns a Vector2 linearly interpolated between this Vector2 and the given goal by the given alpha.

• Max(others... : Tuple)

Returns a Vector2 with each component as the highest among the respective components of the provided Vector2 objects.

• Min(others... : Tuple)

Returns a Vector2 with each component as the lowest among the respective components of the provided Vector2 objects.

• FuzzyEq(other : Vector2,epsilon : number):bool

Returns true if the X and Y components of the other Vector2 are within epsilon units of each corresponding component of this Vector2.

## Properties

### zero

A Vector2 with a magnitude of zero.

This API member is a constant, and must be accessed through the Vector2 global as opposed to an individual Vector2 object.

``print(Vector2.zero)  --> 0, 0``

### one

A Vector2 with a value of 1 on every axis.

This API member is a constant, and must be accessed through the Vector2 global as opposed to an individual Vector2 object.

``print(Vector2.one)  --> 1, 1``

### xAxis

A Vector2 with a value of 1 on the X axis.

This API member is a constant, and must be accessed through the Vector2 global as opposed to an individual Vector2 object.

``print(Vector2.xAxis)  --> 1, 0``

### yAxis

A Vector2 with a value of 1 on the Y axis.

This API member is a constant, and must be accessed through the Vector2 global as opposed to an individual Vector2 object.

``print(Vector2.yAxis)  --> 0, 1``

### X

The x-coordinate of the Vector2.

### Y

The y-coordinate of the Vector2.

### Magnitude

The length of the Vector2.

### Unit

A normalized copy of the Vector2.

## Methods

### Cross

Returns the cross product of the two vectors.

other: Vector2

### Abs

Returns a new vector from the absolute values of the original's components. For example, a vector of (-2, 4) returns a vector of (2, 4).

### Ceil

Returns a new vector from the ceiling of the original's components. For example, a vector of (-2.6, 5.1) returns a vector of (-2, 6).

### Floor

Returns a new vector from the floor of the original's components. For example, a vector of (-2.6, 5.1) returns a vector of (-3, 5).

### Sign

Returns a new vector from the sign (-1, 0, or 1) of the original's components. For example, a vector of (-2.6, 5.1) returns a vector of (-1, 1).

### Angle

Returns the angle in radians between the two vectors. Specify true for the optional isSigned boolean if you want a signed angle. By default, the method returns the absolute value. Signed angles are a negative when going clockwise. Values are in the range [0, pi] for absolute angles and [-pi, pi] for signed angles.

#### Parameters

other: Vector2
isSigned: bool
Default Value: false

### Dot

Returns a scalar dot product of the two vectors.

### Lerp

Returns a Vector2 linearly interpolated between this Vector2 and the given goal by the given alpha.

alpha: number

### Max

Returns a Vector2 with each component as the highest among the respective components of the provided Vector2 objects.

``````local a = Vector2.new(1, 2)
local b = Vector2.new(2, 1)

print(a:Max(b)) -- Vector2.new(2, 2)``````

others...: Tuple

### Min

Returns a Vector2 with each component as the lowest among the respective components of the provided Vector2 objects.

``````local a = Vector2.new(1, 2)
local b = Vector2.new(2, 1)

print(a:Min(b)) -- Vector2.new(1, 1)``````

others...: Tuple

### FuzzyEq

Returns true if the X and Y components of the other Vector2 are within epsilon units of each corresponding component of this Vector2.

#### Parameters

other: Vector2
epsilon: number
Default Value: 0.00001 (1e-5)