Vector2

Category: Built-In Types

Brief Description

Vector used for 2D Math.

Member Functions

Vector2

Vector2 ( float x, float y )

Vector2

abs ( )

float

angle ( )

float

angle_to ( Vector2 to )

float

angle_to_point ( Vector2 to )

Vector2

clamped ( float length )

Vector2

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

float

distance_squared_to ( Vector2 to )

float

distance_to ( Vector2 to )

float

dot ( Vector2 with )

Vector2

floor ( )

Vector2

floorf ( )

float

get_aspect ( )

float

length ( )

float

length_squared ( )

Vector2

linear_interpolate ( Vector2 b, float t )

Vector2

normalized ( )

Vector2

reflect ( Vector2 vec )

Vector2

rotated ( float phi )

Vector2

slide ( Vector2 vec )

Vector2

snapped ( Vector2 by )

Vector2

tangent ( )

Member Variables

  • float height - Height of the vector (Same as Y).

  • float width - Width of the vector (Same as X).

  • float x - X component of the vector.

  • float y - Y component of the vector.

Description

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

Member Function Description

Constructs a new Vector2 from the given x and y.

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

Returns the result of atan2 when called with the Vector’s x and y as parameters (Math::atan2(x,y)).

Be aware that it therefore returns an angle oriented clockwise with regard to the (0, 1) unit vector, and not an angle oriented counter-clockwise with regard to the (1, 0) unit vector (which would be the typical trigonometric representation of the angle when calling Math::atan2(y,x)).

Returns the angle in radians between the two vectors.

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

Returns the vector with a maximum length.

Cubicly interpolates between this Vector and “b”, using “pre_a” and “post_b” as handles, and returning the result at position “t”.

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.

Returns the distance to vector “b”.

Returns the dot product with vector “b”.

Remove the fractional part of x and y.

Remove the fractional part of x and y.

Returns the ratio of X to Y.

Returns the length of the vector.

  • float length_squared ( )

Returns the squared length of the vector. Prefer this function over “length” if you need to sort vectors or need the squared length for some formula.

Returns the result of the linear interpolation between this vector and “b”, by amount “t”.

Returns a normalized vector to unit length.

Reflects the vector along the given plane, specified by its normal vector.

Note that the normal vector is the one you call the method on:

var vector = Vector2(4, 2)
var x_reflection = Vector2(1, 0).reflect(vector)  # (-4, 2)
var y_reflection = Vector2(0, 1).reflect(vector)  # (4, -2)

Rotates the vector by “phi” radians.

Slide returns the component of the vector along the given plane, specified by its normal vector.

Note that the normal vector is the one you call the method on:

var vector = Vector2(4, 2)
var x_slide = Vector2(1, 0).slide(vector)  # (0, 2)
var y_slide = Vector2(0, 1).slide(vector)  # (4, 0)

Snaps the vector to a grid with the given size.

Returns a perpendicular vector.