/Godot 3.1

# Vector2

Category: Built-In Types

## Brief Description

Vector used for 2D math.

## Properties

 float x float y

## Methods

 Vector2 Vector2 ( float x, float y ) Vector2 abs ( ) float angle ( ) float angle_to ( Vector2 to ) float angle_to_point ( Vector2 to ) float aspect ( ) Vector2 bounce ( Vector2 n ) Vector2 ceil ( ) Vector2 clamped ( float length ) float cross ( Vector2 with ) Vector2 cubic_interpolate ( Vector2 b, Vector2 pre_a, Vector2 post_b, float t ) Vector2 direction_to ( Vector2 b ) float distance_squared_to ( Vector2 to ) float distance_to ( Vector2 to ) float dot ( Vector2 with ) Vector2 floor ( ) bool is_normalized ( ) float length ( ) float length_squared ( ) Vector2 linear_interpolate ( Vector2 b, float t ) Vector2 normalized ( ) Vector2 project ( Vector2 b ) Vector2 reflect ( Vector2 n ) Vector2 rotated ( float phi ) Vector2 round ( ) Vector2 slerp ( Vector2 b, float t ) Vector2 slide ( Vector2 n ) Vector2 snapped ( Vector2 by ) Vector2 tangent ( )

## Constants

• ZERO = Vector2( 0, 0 ) — Zero vector.
• ONE = Vector2( 1, 1 ) — One vector.
• INF = Vector2( inf, inf ) — Infinite vector.
• LEFT = Vector2( -1, 0 ) — Left unit vector.
• RIGHT = Vector2( 1, 0 ) — Right unit vector.
• UP = Vector2( 0, -1 ) — Up unit vector.
• DOWN = Vector2( 0, 1 ) — Down unit vector.

## Description

2-element structure that can be used to represent positions in 2d space or any other pair of numeric values.

## Property Descriptions

### float x

The vector’s x component. Also accessible by using the index position `[0]`.

### float y

The vector’s y component. Also accessible by using the index position `[1]`.

## Method Descriptions

### Vector2 Vector2 ( float x, float y )

Constructs a new Vector2 from the given x and y.

### Vector2 abs ( )

Returns a new vector with all components in absolute values (i.e. positive).

### float angle ( )

Returns the vector’s angle in radians with respect to the x-axis, or `(1, 0)` vector.

Equivalent to the result of atan2 when called with the vector’s x and y as parameters: `atan2(x, y)`.

### float angle_to ( Vector2 to )

Returns the angle in radians between the two vectors.

### float angle_to_point ( Vector2 to )

Returns the angle in radians between the line connecting the two points and the x coordinate.

### float aspect ( )

Returns the ratio of x to y.

### Vector2 bounce ( Vector2 n )

Returns the vector “bounced off” from a plane defined by the given normal.

### Vector2 ceil ( )

Returns the vector with all components rounded up.

### Vector2 clamped ( float length )

Returns the vector with a maximum length.

### float cross ( Vector2 with )

Returns the 2 dimensional analog of the cross product with the given vector.

### Vector2 cubic_interpolate ( Vector2 b, Vector2 pre_a, Vector2 post_b, float t )

Cubicly interpolates between this vector and `b` using `pre_a` and `post_b` as handles, and returns the result at position `t`. `t` is in the range of `0.0 - 1.0`, representing the amount of interpolation.

### Vector2 direction_to ( Vector2 b )

Returns the normalized vector pointing from this vector to `b`.

### float distance_squared_to ( Vector2 to )

Returns the squared distance to vector `b`. Prefer this function over distance_to if you need to sort vectors or need the squared distance for some formula.

### float distance_to ( Vector2 to )

Returns the distance to vector `b`.

### float dot ( Vector2 with )

Returns the dot product with vector `b`.

### Vector2 floor ( )

Returns the vector with all components rounded down.

### bool is_normalized ( )

Returns `true` if the vector is normalized.

### float length ( )

Returns the vector’s length.

### float length_squared ( )

Returns the vector’s length squared. Prefer this method over length if you need to sort vectors or need the squared length for some formula.

### Vector2 linear_interpolate ( Vector2 b, float t )

Returns the result of the linear interpolation between this vector and `b` by amount `t`. `t` is in the range of `0.0 - 1.0`, representing the amount of interpolation.

### Vector2 normalized ( )

Returns the vector scaled to unit length. Equivalent to `v / v.length()`.

### Vector2 project ( Vector2 b )

Returns the vector projected onto the vector `b`.

### Vector2 reflect ( Vector2 n )

Returns the vector reflected from a plane defined by the given normal.

### Vector2 rotated ( float phi )

Returns the vector rotated by `phi` radians. See also @GDScript.deg2rad.

### Vector2 round ( )

Returns the vector with all components rounded to the nearest integer, with halfway cases rounded away from zero.

### Vector2 slerp ( Vector2 b, float t )

Returns the result of SLERP between this vector and `b`, by amount `t`. `t` is in the range of `0.0 - 1.0`, representing the amount of interpolation.

Both vectors need to be normalized.

### Vector2 slide ( Vector2 n )

Returns the component of the vector along a plane defined by the given normal.

### Vector2 snapped ( Vector2 by )

Returns the vector snapped to a grid with the given size.

### Vector2 tangent ( )

Returns a perpendicular vector.

© 2014–2019 Juan Linietsky, Ariel Manzur, Godot Engine contributors