Skip to content

Documentation / base / Vector3

Class: Vector3 ​

Defined in: libs/base/src/math/vector.ts:597

3 dimentional vector

Extends ​

Extended by ​

Indexable ​

[index: number]: number

Constructors ​

Constructor ​

new Vector3(x, y, z): Vector3

Defined in: libs/base/src/math/vector.ts:604

Creates a new Vector3 initialized with values.

Parameters ​

x ​

number

The x component.

y ​

number

The y component.

z ​

number

The z component.

Returns ​

Vector3

Overrides ​

VectorBase.constructor

Constructor ​

new Vector3(elements): Vector3

Defined in: libs/base/src/math/vector.ts:609

Creates a new Vector3 initialized with values in an array.

Parameters ​

elements ​

number[]

Array that contains the x, y, z values.

Returns ​

Vector3

Overrides ​

VectorBase.constructor

Constructor ​

new Vector3(array): Vector3

Defined in: libs/base/src/math/vector.ts:614

Creates a new Vector3 initialized with values in a Float32Array.

Parameters ​

array ​

Float32Array<ArrayBuffer>

Float32Array object that contains the x, y, z values.

Returns ​

Vector3

Overrides ​

VectorBase.constructor

Constructor ​

new Vector3(buffer, offset): Vector3

Defined in: libs/base/src/math/vector.ts:620

Creates a new Vector3 placed on a given ArrayBuffer object.

Parameters ​

buffer ​

ArrayBuffer

The array buffer object.

offset ​

number

The byte offset of the buffer where the vector placed at.

Returns ​

Vector3

Overrides ​

VectorBase.constructor

Constructor ​

new Vector3(): Vector3

Defined in: libs/base/src/math/vector.ts:624

Creates a new Vector3 filled with zero values.

Returns ​

Vector3

Overrides ​

VectorBase.constructor

Accessors ​

x ​

Get Signature ​

get x(): number

Defined in: libs/base/src/math/vector.ts:655

Get the x component value.

Returns ​

number

Set Signature ​

set x(v): void

Defined in: libs/base/src/math/vector.ts:658

Parameters ​
v ​

number

Returns ​

void


y ​

Get Signature ​

get y(): number

Defined in: libs/base/src/math/vector.ts:662

Get the y component value.

Returns ​

number

Set Signature ​

set y(v): void

Defined in: libs/base/src/math/vector.ts:665

Parameters ​
v ​

number

Returns ​

void


z ​

Get Signature ​

get z(): number

Defined in: libs/base/src/math/vector.ts:669

Get the z component value.

Returns ​

number

Set Signature ​

set z(v): void

Defined in: libs/base/src/math/vector.ts:672

Parameters ​
v ​

number

Returns ​

void


magnitude ​

Get Signature ​

get magnitude(): number

Defined in: libs/base/src/math/vector.ts:676

Get the length of the vector.

Returns ​

number


magnitudeSq ​

Get Signature ​

get magnitudeSq(): number

Defined in: libs/base/src/math/vector.ts:680

Get the squared length of the vector.

Returns ​

number

Methods ​

equalsTo() ​

equalsTo(other, epsl?): boolean

Defined in: libs/base/src/math/vector.ts:32

Check if all data is close enough to another

Parameters ​

other ​

Float32Array<ArrayBuffer>

The data to be compared with.

epsl? ​

number

Returns ​

boolean

true if close enough, otherwise false.

Inherited from ​

VectorBase.equalsTo


toString() ​

toString(): string

Defined in: libs/base/src/math/vector.ts:52

Convert this to string object.

Returns ​

string

Inherited from ​

VectorBase.toString


isNaN() ​

isNaN(): boolean

Defined in: libs/base/src/math/vector.ts:61

Check the data for the presence of NaN.

Returns ​

boolean

true if NaN is present, otherwise false.

Inherited from ​

VectorBase.isNaN


setRandom() ​

setRandom(minValue, maxValue): void

Defined in: libs/base/src/math/vector.ts:75

Generate random vector

Parameters ​

minValue ​

number

Minimum value of any component of the vector

maxValue ​

number

Maximum value of any component of the vector

Returns ​

void

Inherited from ​

VectorBase.setRandom


clone() ​

clone(): Vector3

Defined in: libs/base/src/math/vector.ts:651

Creates a new Vector3 initialized with values from this vector.

Returns ​

Vector3

The new vector.


xy() ​

xy(): Vector2

Defined in: libs/base/src/math/vector.ts:687

Creates a new Vector2 initialized with x, y component of this vector.

Returns ​

Vector2

The new vector


setXYZ() ​

setXYZ(x, y, z): Vector3

Defined in: libs/base/src/math/vector.ts:697

Set component values.

Parameters ​

x ​

number

The x component value.

y ​

number

The y component value.

z ​

number

The z component value.

Returns ​

Vector3

self


setAndNormalize() ​

setAndNormalize(x, y, z): Vector3

Defined in: libs/base/src/math/vector.ts:710

Set component values and then normalize the vector.

Parameters ​

x ​

number

The x component value.

y ​

number

The y component value.

z ​

number

The z component value.

Returns ​

Vector3

self


subBy() ​

subBy(other): Vector3

Defined in: libs/base/src/math/vector.ts:719

Subtract a vector from this vector.

Parameters ​

other ​

Vector3

The vector that will be subtract.

Returns ​

Vector3

self


addBy() ​

addBy(other): Vector3

Defined in: libs/base/src/math/vector.ts:728

Add a vector to this vector.

Parameters ​

other ​

Vector3

The vector that will be added.

Returns ​

Vector3

self


combineBy() ​

combineBy(other, t0, t1): Vector3

Defined in: libs/base/src/math/vector.ts:739

Combine a vector to this vector.

Parameters ​

other ​

Vector3

The vector that will be added.

t0 ​

number

Scale factor for this vector

t1 ​

number

Scale factor for other vector

Returns ​

Vector3

self


mulBy() ​

mulBy(other): Vector3

Defined in: libs/base/src/math/vector.ts:748

Multiply this vector by a vector.

Parameters ​

other ​

Vector3

The vector that will be multiplied by.

Returns ​

Vector3

self


divBy() ​

divBy(other): Vector3

Defined in: libs/base/src/math/vector.ts:757

Divide this vector by a vector.

Parameters ​

other ​

Vector3

The vector that will be divide by.

Returns ​

Vector3

self


scaleBy() ​

scaleBy(f): Vector3

Defined in: libs/base/src/math/vector.ts:766

Scale this vector by a scalar number.

Parameters ​

f ​

number

amount to scale this vector by.

Returns ​

Vector3

self


inplaceNormalize() ​

inplaceNormalize(): Vector3

Defined in: libs/base/src/math/vector.ts:774

Normalize this vector inplace.

Returns ​

Vector3

self


inplaceInverse() ​

inplaceInverse(): Vector3

Defined in: libs/base/src/math/vector.ts:782

Inverse this vector inplace.

Returns ​

Vector3

self


inplaceMin() ​

inplaceMin(other): Vector3

Defined in: libs/base/src/math/vector.ts:791

Set the component values to the minimum of this vector and another vector.

Parameters ​

other ​

Vector3

The vector that to be compared with.

Returns ​

Vector3

self


inplaceMax() ​

inplaceMax(other): Vector3

Defined in: libs/base/src/math/vector.ts:800

Set the component values to the maximum of this vector and another vector.

Parameters ​

other ​

Vector3

The vector that to be compared with.

Returns ​

Vector3

self


zero() ​

static zero(): Vector3

Defined in: libs/base/src/math/vector.ts:808

Creates a new Vector3 initialized with zero values.

Returns ​

Vector3

The new vector


one() ​

static one(): Vector3

Defined in: libs/base/src/math/vector.ts:815

Creates a new Vector3 initialized with one.

Returns ​

Vector3

The new vector


axisPX() ​

static axisPX(): Vector3

Defined in: libs/base/src/math/vector.ts:822

Creates a new Vector3 pointing in the positive direction of the X axis, i.e. vec3(1, 0, 0)

Returns ​

Vector3

The new vector


axisNX() ​

static axisNX(): Vector3

Defined in: libs/base/src/math/vector.ts:829

Creates a new Vector3 pointing in the negative direction of the X axis, i.e. vec3(-1, 0, 0)

Returns ​

Vector3

The new vector


axisPY() ​

static axisPY(): Vector3

Defined in: libs/base/src/math/vector.ts:836

Creates a new Vector3 pointing in the positive direction of the Y axis, i.e. vec3(0, 1, 0)

Returns ​

Vector3

The new vector


axisNY() ​

static axisNY(): Vector3

Defined in: libs/base/src/math/vector.ts:843

Creates a new Vector3 pointing in the negative direction of the Y axis, i.e. vec3(0, -1, 0)

Returns ​

Vector3

The new vector


axisPZ() ​

static axisPZ(): Vector3

Defined in: libs/base/src/math/vector.ts:850

Creates a new Vector3 pointing in the positive direction of the Z axis, i.e. vec3(0, 0, 1)

Returns ​

Vector3

The new vector


axisNZ() ​

static axisNZ(): Vector3

Defined in: libs/base/src/math/vector.ts:857

Creates a new Vector2 pointing in the negative direction of the Z axis, i.e. vec3(0, 0, -1)

Returns ​

Vector3

The new vector


distance() ​

static distance(v1, v2): number

Defined in: libs/base/src/math/vector.ts:866

Calculates the distance between two Vector3's.

Parameters ​

v1 ​

Vector3

The first vector.

v2 ​

Vector3

The second vector.

Returns ​

number

distance between v1 and v2


distanceSq() ​

static distanceSq(v1, v2): number

Defined in: libs/base/src/math/vector.ts:875

Calculates the squared distance between two Vector3's.

Parameters ​

v1 ​

Vector3

The first vector.

v2 ​

Vector3

The second vector.

Returns ​

number

squared distance between v1 and v2


normalize() ​

static normalize(v, result?): Vector3

Defined in: libs/base/src/math/vector.ts:887

Normalize a Vector3

Parameters ​

v ​

Vector3

The input vector

result? ​

Vector3

The output vector (can be the same vector as v). if not specified, a new vector will be created.

Returns ​

Vector3

The output vector


inverse() ​

static inverse(v, result?): Vector3

Defined in: libs/base/src/math/vector.ts:900

Inverse a Vector3

Parameters ​

v ​

Vector3

The input vector

result? ​

Vector3

The output vector (can be the same vector as v). if not specified, a new vector will be created.

Returns ​

Vector3

The output vector


sub() ​

static sub(a, b, result?): Vector3

Defined in: libs/base/src/math/vector.ts:913

Subtract two Vector3's.

Parameters ​

a ​

Vector3

The first operand.

b ​

Vector3

The second operand.

result? ​

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns ​

Vector3

The output vector


add() ​

static add(a, b, result?): Vector3

Defined in: libs/base/src/math/vector.ts:926

Add two Vector3's.

Parameters ​

a ​

Vector3

The first operand.

b ​

Vector3

The second operand.

result? ​

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns ​

Vector3

The output vector


combine() ​

static combine(a, b, t0, t1, result?): Vector3

Defined in: libs/base/src/math/vector.ts:941

Combine two Vector3's.

Parameters ​

a ​

Vector3

The first operand.

b ​

Vector3

The second operand.

t0 ​

number

Scale factor for the first operand

t1 ​

number

Scale factor for the second operand

result? ​

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns ​

Vector3

The output vector


lerp() ​

static lerp(a, b, t, result?): Vector3

Defined in: libs/base/src/math/vector.ts:955

Linearly interpolate between two Vector3's.

Parameters ​

a ​

Vector3

The first operand.

b ​

Vector3

The second operand.

t ​

number

The interpolation factor. The result is equal to a when t = 0 and equal to b when t = 1.

result? ​

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns ​

Vector3

The output vector


mul() ​

static mul(a, b, result?): Vector3

Defined in: libs/base/src/math/vector.ts:968

Multiply two Vector3's.

Parameters ​

a ​

Vector3

The first operand.

b ​

Vector3

The second operand.

result? ​

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns ​

Vector3

The output vector


div() ​

static div(a, b, result?): Vector3

Defined in: libs/base/src/math/vector.ts:981

Divide two Vector3's.

Parameters ​

a ​

Vector3

The first operand.

b ​

Vector3

The second operand.

result? ​

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns ​

Vector3

The output vector


scale() ​

static scale(a, b, result?): Vector3

Defined in: libs/base/src/math/vector.ts:994

Scale a Vector3 by a scalar number.

Parameters ​

a ​

Vector3

The vector to be scaled.

b ​

number

The scalar number.

result? ​

Vector3

The output vector (can be the same vector as a). if not specified, a new vector will be created.

Returns ​

Vector3

The output vector


min() ​

static min(a, b, result?): Vector3

Defined in: libs/base/src/math/vector.ts:1007

Calculates the minimum of two Vector3's.

Parameters ​

a ​

Vector3

The first operand.

b ​

Vector3

The second operand.

result? ​

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns ​

Vector3

The output vector


max() ​

static max(a, b, result?): Vector3

Defined in: libs/base/src/math/vector.ts:1020

Calculates the maximum of two Vector3's.

Parameters ​

a ​

Vector3

The first operand.

b ​

Vector3

The second operand.

result? ​

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns ​

Vector3

The output vector


abs() ​

static abs(a, result?): Vector3

Defined in: libs/base/src/math/vector.ts:1032

Calculates the absolute values of a Vector3.

Parameters ​

a ​

Vector3

The input vector.

result? ​

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns ​

Vector3

The output vector


dot() ​

static dot(a, b): number

Defined in: libs/base/src/math/vector.ts:1044

Calculates the dot product of two Vector3's.

Parameters ​

a ​

Vector3

The first operand.

b ​

Vector3

The second operand.

Returns ​

number

dot product of a and b


cross() ​

static cross(a, b, result?): Vector3

Defined in: libs/base/src/math/vector.ts:1053

Calculates the cross product of two Vector3's.

Parameters ​

a ​

Vector3

The first operand.

b ​

Vector3

The second operand.

result? ​

Vector3

Returns ​

Vector3

the cross product of the two vectors.


angleBetween() ​

static angleBetween(a, b): number

Defined in: libs/base/src/math/vector.ts:1065

Calculates the angle between two Vector3's.

Parameters ​

a ​

Vector3

The first operand.

b ​

Vector3

The second operand.

Returns ​

number

the angle between the two vectors in radians

Released under the MIT License.