Skip to main content

Vec2

Vec2 is Simulo's built-in type for 2D vectors.

Constructor

To create a Vec2, use the global vec2(x, y) function:

local vec = vec2(5, 5);

Arithmetic

Operators are implemented; you can use +, -, * and / on Vec2s.

Fields


.x

The X component of the Vec2. Is a number.


.y

The Y component of the Vec2. Is a number.

Functions

note

Make sure to use :function() and not .function(), or you'll get an error


:length()

Returns the length of the Vec2 as a number.

Example

local length = vec2(1, 1):length(); -- about 1.414

:normalize()

Returns a copy of the Vec2 with the length as 1.

Example

local vec = vec2(123, 456):normalize();
print(vec:length()); -- 1

:rotate()

Returns a copy of the Vec2 rotated by a specified number of radians.

Example

local vec = vec2(0, 1):rotate(math.rad(90)); -- the vec is now vec2(1, 0)