Skip to content

Vec3

A 3-dimensional numerical vector.

Fields

x: number Read/Write

y: number Read/Write

z: number Read/Write

Methods

new(x: number, y: number, z: number) Vec3

Initializes a new vector.

Parameters

Name Type Description
x number
y number
z number

Returns

Vec3(x: number, y: number, z: number) Vec3

Convenient constructor for creating a new vector. Equivalent to Vec3:new(x, y, z).

Parameters

Name Type Description
x number
y number
z number

Returns

tostring() string

Returns a string representation of this vector.

Returns

  • string

add(other: Vec3) Vec3

Returns a new vector that is the sum of this vector and another.

Parameters

Name Type Description
other Vec3

Returns

subtract(other: Vec3) Vec3

Returns a new vector that is the difference between this vector and another.

Parameters

Name Type Description
other Vec3

Returns

sqrMagnitude() number

Returns the squared magnitude of this vector.

Returns

  • number

magnitude() number

Returns the magnitude (length) of this vector.

Returns

  • number

dotProduct(other: Vec3) number

Returns the dot product of this vector and another.

Parameters

Name Type Description
other Vec3

Returns

  • number

scale(factor: number) Vec3

Scales this vector by a scalar value.

Parameters

Name Type Description
factor number

Returns

invert() Vec3

Inverts this vector (negates all components).

Returns

normalize() Vec3

Normalizes this vector to unit length.

Returns

floor() Vec3

Floors all components of the vector.

Returns

chunk() number: number,

Calculates the chunk coordinates (assuming 16-unit chunks).

Returns

  • number, — number

Operators / Metamethods

__tostring(self: Vec3) string

Metamethod for tostring(vec) or string concatenation.

Parameters

Name Type Description
self Vec3

Returns

  • string

__add(v1: Vec3, v2: Vec3) Vec3

Metamethod for vec1 + vec2.

Parameters

Name Type Description
v1 Vec3
v2 Vec3

Returns

__sub(v1: Vec3, v2: Vec3) Vec3

Metamethod for vec1 - vec2.

Parameters

Name Type Description
v1 Vec3
v2 Vec3

Returns

__mul(a: Vec3|number, b: Vec3|number) Vec3|number

Metamethod for vec * scalar or vec1 * vec2 (dot product).

Parameters

Name Type Description
a Vec3|number
b Vec3|number

Returns

__unm(v: Vec3) Vec3

Metamethod for -vec.

Parameters

Name Type Description
v Vec3

Returns

__concat(a: any, b: any) string

Metamethod for vec1 .. vec2 (string concatenation).

Parameters

Name Type Description
a any
b any

Returns

  • string

__eq(a: Vec3, b: Vec3) boolean

Compares two vectors for equality.

Parameters

Name Type Description
a Vec3
b Vec3

Returns

  • boolean